def is_pitch_class_unique(self): """ Is true when pitch set is pitch-class-unique. .. container:: example >>> set_ = abjad.PitchSet( ... items=[-2, -1.5, 6, 7, -1.5, 7], ... item_class=abjad.NumberedPitch, ... ) >>> set_.is_pitch_class_unique True .. container:: example >>> set_ = abjad.PitchSet( ... items=[-2, -1.5, 6, 7, 10.5, 7], ... item_class=abjad.NumberedPitch, ... ) >>> set_.is_pitch_class_unique False Returns true or false. """ import abjad numbered_pitch_class_set = abjad.PitchClassSet( self, item_class=abjad.NumberedPitchClass) return len(self) == len(numbered_pitch_class_set)
def duplicate_pitch_classes(self): """ Gets duplicate pitch-classes in pitch set. .. container:: example >>> set_ = abjad.PitchSet( ... items=[-2, -1.5, 6, 7, -1.5, 7], ... item_class=abjad.NumberedPitch, ... ) >>> set_.duplicate_pitch_classes PitchClassSet([]) >>> set_ = abjad.PitchSet( ... items=[-2, -1.5, 6, 7, 10.5, 7], ... item_class=abjad.NumberedPitch, ... ) >>> set_.duplicate_pitch_classes PitchClassSet([10.5]) Returns pitch-class set. """ import abjad pitch_classes = [] duplicate_pitch_classes = [] for pitch in self: pitch_class = abjad.NumberedPitchClass(pitch) if pitch_class in pitch_classes: duplicate_pitch_classes.append(pitch_class) pitch_classes.append(pitch_class) return abjad.PitchClassSet(duplicate_pitch_classes, item_class=abjad.NumberedPitchClass)
def is_link_chord(ais): for sextuple in abjad.sequence(ais).nwise(n=6): pc_set = abjad.PitchClassSet(sextuple) try: set_class = abjad.SetClass.from_pitch_class_set(pc_set) if set_class.rank == 17: return True except KeyError as e: print(e) return False