
    rh                    Z    S SK Jr  S SKrSS jr\S:X  a  S SKr\R                  " 5         gg)    )annotationsNc                    [         R                  " 5       nU R                   H  n[        X15      nX$==   S-  ss'   M     U$ )a~  
Return a collections.Counter of pitch class usage (count)
by selecting an attribute of the Pitch object.

* Changed in v4: Returns a collections.Counter object.

>>> bach = corpus.parse('bach/bwv324.xml')
>>> pcCount = analysis.pitchAnalysis.pitchAttributeCount(bach, 'pitchClass')
>>> for n in sorted(pcCount):
...     print("%2d: %2d" % (n, pcCount[n]))
 0:  3
 2: 26
 3:  3
 4: 13
 6: 15
 7: 13
 9: 17
11: 14


List in most common order:

>>> nameCount = analysis.pitchAnalysis.pitchAttributeCount(bach, 'name')
>>> for n, count in nameCount.most_common(3):
...     print("%2s: %2d" % (n, nameCount[n]))
 D: 26
 A: 17
F#: 15


>>> nameOctaveCount = analysis.pitchAnalysis.pitchAttributeCount(bach, 'nameWithOctave')
>>> for n in sorted(nameOctaveCount):
...     print("%3s: %2d" % (n, nameOctaveCount[n]))
 A2:  2
 A3:  5
 A4: 10
 B2:  3
 B3:  4
 B4:  7
 C3:  2
 C5:  1
D#3:  1
D#4:  2
...
   )collectionsCounterpitchesgetattr)s	pitchAttrpostpks        X/home/james-whalen/.local/lib/python3.13/site-packages/music21/analysis/pitchAnalysis.pypitchAttributeCountr      s=    \  DYYA!1  K    __main__)name)
__future__r   r   r   __name__music21mainTest r   r   <module>r      s1    # 2j z r   