.by_leaf() ), staccati=consort.AttachmentExpression( attachments=indicatortools.Articulation('staccato'), selector=selectortools.Selector() .by_logical_tie(pitched=True) .by_duration('==', (1, 16), preprolated=True) .by_contiguity() .by_length('>', 1) .by_leaf() [-1] ), staff_lines_spanner=spannertools.StaffLinesSpanner([-4, -2, 0, 2, 4]), text_spanner=consort.AttachmentExpression( attachments=abbreviations.make_text_spanner('marimba'), selector=selectortools.select_pitched_runs(), ), ), color='darkyellow', pitch_handler=consort.AbsolutePitchHandler( forbid_repetitions=True, logical_tie_expressions=[ consort.ChordExpression(chord_expr=[0, 5]), ], pitch_specifier="d' f'", ), rhythm_maker=rhythmmakertools.TaleaRhythmMaker( extra_counts_per_division=[0, 0, 1, 2, 0, 1], talea=rhythmmakertools.Talea( counts=[1, 1, -3], denominator=16,
# -*- encoding: utf-8 -*- import consort from abjad.tools import indicatortools from abjad.tools import rhythmmakertools from abjad.tools import selectortools from abjad.tools import spannertools from ersilia.materials import abbreviations guitar_tremolo_music_specifier = consort.MusicSpecifier( attachment_handler=consort.AttachmentHandler( accents=consort.AttachmentExpression( attachments=indicatortools.Articulation('accent'), selector=selectortools.select_pitched_runs().by_counts( [3], cyclic=True)[1], ), dynamic_expressions=consort.DynamicExpression( division_period=2, dynamic_tokens='pp mf p p mf mf pp', start_dynamic_tokens='fp niente', stop_dynamic_tokens='niente f', ), stem_tremolo_spanner=consort.AttachmentExpression( attachments=spannertools.StemTremoloSpanner(), selector=selectortools.select_pitched_runs(), ), ), color='red', pitch_handler=consort.AbsolutePitchHandler( logical_tie_expressions=[ consort.ChordExpression(chord_expr=_, ) for _ in abbreviations.guitar_chords
def select_all_but_last_logical_tie_in_pitched_runs(expr=None): r'''Selects all but last logical tie in pitched runs. .. container:: example :: >>> selector = selectortools.select_all_but_last_logical_tie_in_pitched_runs() >>> print(format(selector)) selectortools.Selector( callbacks=( selectortools.PrototypeSelectorCallback( prototype=scoretools.Leaf, ), selectortools.RunSelectorCallback( prototype=( scoretools.Note, scoretools.Chord, ), ), selectortools.LogicalTieSelectorCallback( flatten=False, pitched=False, trivial=True, ), selectortools.SliceSelectorCallback( stop=-1, apply_to_each=True, ), selectortools.FlattenSelectorCallback( depth=1, ), ), ) :: >>> staff = Staff("c' d' ~ d' e' r f' g' r a' b' ~ b' c''") >>> tuplet = Tuplet((2, 3), staff[2:5]) >>> tuplet = Tuplet((2, 3), staff[5:8]) >>> print(format(staff)) \new Staff { c'4 d'4 ~ \times 2/3 { d'4 e'4 r4 } f'4 g'4 \times 2/3 { r4 a'4 b'4 ~ } b'4 c''4 } :: >>> for x in selector(staff): ... x ... LogicalTie(Note("c'4"),) LogicalTie(Note("d'4"), Note("d'4")) LogicalTie(Note("f'4"),) LogicalTie(Note("a'4"),) LogicalTie(Note("b'4"), Note("b'4")) ''' from abjad.tools import selectortools selector = selectortools.select_pitched_runs() selector = selector.by_logical_tie(flatten=False) selector = selector[:-1] selector = selector.flatten(depth=1) if expr is None: return selector return selector(expr)
from abjad.tools import rhythmmakertools from abjad.tools import selectortools from abjad.tools import spannertools piano_tremolo_music_specifier = consort.MusicSpecifier( attachment_handler=consort.AttachmentHandler( dynamic_expressions=consort.DynamicExpression( start_dynamic_tokens='fp', dynamic_tokens="p mf p p mf pp", division_period=2, ), octavation=consort.OctavationExpression(), stem_tremolo_spanner=consort.AttachmentExpression( attachments=spannertools.StemTremoloSpanner(), selector=selectortools.select_pitched_runs(), ), ), color='red', labels=[ 'pedaled', 'piano tremolo', ], pitch_handler=consort.AbsolutePitchHandler( deviations=[0, -2, 0, 0, 2, 0, 3], logical_tie_expressions=( consort.ChordExpression( chord_expr=pitchtools.IntervalSegment([-7, -3, 0, 5, 6, 12]), ), consort.ChordExpression( chord_expr=pitchtools.IntervalSegment([-7, -3, 0, 1, 5, 12]),
def select_last_logical_tie_in_pitched_runs(expr=None): r'''Selects last logical tie in pitched runs. .. container:: example :: >>> selector = selectortools.select_last_logical_tie_in_pitched_runs() >>> print(format(selector)) selectortools.Selector( callbacks=( selectortools.PrototypeSelectorCallback( prototype=scoretools.Leaf, ), selectortools.RunSelectorCallback( prototype=( scoretools.Note, scoretools.Chord, ), ), selectortools.LogicalTieSelectorCallback( flatten=False, pitched=False, trivial=True, ), selectortools.ItemSelectorCallback( item=-1, apply_to_each=True, ), ), ) :: >>> staff = Staff() >>> staff.extend(r"c'4. d'8 ~ \times 2/3 { d'4 r4 e'4 ~ } e'8 f'4.") >>> print(format(staff)) \new Staff { c'4. d'8 ~ \times 2/3 { d'4 r4 e'4 ~ } e'8 f'4. } :: >>> for x in selector(staff): ... x ... LogicalTie(Note("d'8"), Note("d'4")) LogicalTie(Note("f'4."),) ''' from abjad.tools import selectortools selector = selectortools.select_pitched_runs() selector = selector.by_logical_tie(flatten=False) selector = selector[-1] if expr is None: return selector return selector(expr)
from abjad.tools import selectortools from abjad.tools import spannertools unpitched_shimmer = consort.MusicSpecifier( attachment_handler=consort.AttachmentHandler( dynamics=consort.DynamicExpression( division_period=2, dynamic_tokens='ppp p ppp mf', start_dynamic_tokens='fp niente', stop_dynamic_tokens='niente f', ), accent=consort.AttachmentExpression( attachments=indicatortools.Articulation('accent'), selector=selectortools.select_pitched_runs() .by_logical_tie() .rest() [0] ), stem_tremolo_spanner=consort.AttachmentExpression( attachments=spannertools.StemTremoloSpanner(), selector=selectortools.select_pitched_runs(), ), ), color=consort.Color.from_x11('Lavender') .scale_luminance(-1) .rotate_hue(-0.6), comment='unpitched_shimmer', labels=['unpitched_shimmer'], pitch_handler=consort.AbsolutePitchHandler(pitch_specifier='C4'), rhythm_maker=rhythmmakertools.EvenDivisionRhythmMaker( denominators=[4, 8],
# -*- encoding: utf-8 -*- import consort from abjad.tools import indicatortools from abjad.tools import rhythmmakertools from abjad.tools import selectortools from abjad.tools import spannertools from ersilia.materials import abbreviations guitar_tremolo_music_specifier = consort.MusicSpecifier( attachment_handler=consort.AttachmentHandler( accents=consort.AttachmentExpression( attachments=indicatortools.Articulation('accent'), selector=selectortools.select_pitched_runs() .by_counts([3], cyclic=True) [1], ), dynamic_expressions=consort.DynamicExpression( division_period=2, dynamic_tokens='pp mf p p mf mf pp', start_dynamic_tokens='fp niente', stop_dynamic_tokens='niente f', ), stem_tremolo_spanner=consort.AttachmentExpression( attachments=spannertools.StemTremoloSpanner(), selector=selectortools.select_pitched_runs(), ), ), color='red', pitch_handler=consort.AbsolutePitchHandler( logical_tie_expressions=[