
    3j                    V    d dl mZ d dlZddZedk(  rd dlZ ej                          yy)    )annotationsNc                    t        j                         }| j                  D ]  }t        ||      }||xx   dz  cc<    |S )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(f'{n:2d}: {pcCount[n]:2d}')
     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(f'{n:>2s}: {nameCount[n]:2d}')
     D: 26
     A: 17
    F#: 15

    >>> nameOctaveCount = analysis.pitchAnalysis.pitchAttributeCount(bach, 'nameWithOctave')
    >>> for n in sorted(nameOctaveCount):
    ...     print(f'{n:>3s}: {nameOctaveCount[n]:2d}')
     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        K/DATA/.local/lib/python3.12/site-packages/music21/analysis/pitchAnalysis.pypitchAttributeCountr      sA    X  DYYAy!Q1  K    __main__)name)
__future__r   r   r   __name__music21mainTest r   r   <module>r      s3    # 0f zG r   