Пример #1
0
def test_systemtools_StorageFormatAgent_get_import_statements_02():
    subject = selectortools.Selector().by_leaf()
    agent = systemtools.StorageFormatAgent(subject)
    assert agent.get_import_statements() == (
        'from abjad.tools import scoretools',
        'from abjad.tools import selectortools',
    )
Пример #2
0
def select_pitched_runs(expr=None):
    r'''Selects first logical tie in pitched runs.

    ..  container:: example

        ::

            >>> selector = selectortools.select_pitched_runs()
            >>> print(format(selector))
            selectortools.Selector(
                callbacks=(
                    selectortools.PrototypeSelectorCallback(
                        prototype=scoretools.Leaf,
                        ),
                    selectortools.RunSelectorCallback(
                        prototype=(
                            scoretools.Note,
                            scoretools.Chord,
                            ),
                        ),
                    ),
                )

        ::

            >>> 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
            ...
            Selection(Note("c'4."), Note("d'8"), Note("d'4"))
            Selection(Note("e'4"), Note("e'8"), Note("f'4."))

    '''
    from abjad.tools import scoretools
    from abjad.tools import selectortools
    selector = selectortools.Selector()
    selector = selector.by_leaves()
    selector = selector.by_run((scoretools.Note, scoretools.Chord))
    if expr is None:
        return selector
    return selector(expr)
Пример #3
0
def select(expr=None):
    r'''Selects `expr`.


    ..  container:: example

        **Example 1.** Returns selection when `expr` is not none:

        ::

            >>> staff = Staff("c'8 d'8 e'8 f'8")
            >>> select(staff[:2])
            Selection(Note("c'8"), Note("d'8"))

    ..  container:: example

        **Example 2.** Returns selector when `expr` is none:

        ::

            >>> select()
            Selector()

    Returns selection.
    '''
    from abjad.tools import scoretools
    from abjad.tools import selectiontools
    from abjad.tools import selectortools
    from abjad.tools import spannertools
    if expr is None:
        return selectortools.Selector()
    Selection = selectiontools.Selection
    if isinstance(expr, scoretools.Component):
        return selectiontools.Selection(expr)
    elif hasattr(expr, '_music'):
        music = expr._music
        return selectiontools.Selection(music)
    elif isinstance(expr, spannertools.Spanner):
        music = expr._components
        return selectiontools.Selection(music)
    elif expr is None:
        return selectiontools.Selection()
    else:
        return selectiontools.Selection(expr)
Пример #4
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools

left_hand_dietro_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        clef_spanner=consort.AttachmentExpression(
            attachments=consort.ClefSpanner(
                clef='percussion',
                overrides={
                    'note_head__style': 'cross',
                },
            ),
            selector=selectortools.Selector().by_leaf(),
        ), ),
    pitch_handler=consort.AbsolutePitchHandler(logical_tie_expressions=(
        consort.ChordExpression("g b"),
        consort.ChordExpression("b d'"),
        consort.ChordExpression("d' f'"),
    ), ),
    rhythm_maker=rhythmmakertools.NoteRhythmMaker(
        tie_specifier=rhythmmakertools.TieSpecifier(
            tie_across_divisions=False, ), ),
)
Пример #5
0
        schemetools.Scheme('ly:text-interface::print', ),
        'trill_pitch_head__text':
        markuptools.Markup.musicglyph(
            'noteheads.s0harmonic',
            direction=None,
        ),
    },
)

stopped_third_trill = consort.ConsortTrillSpanner(interval='+m3', )

intermittent_trills = consort.AttachmentExpression(
    attachments=(
        harmonic_fourth_trill,
        harmonic_third_trill,
        harmonic_fourth_trill,
        stopped_third_trill,
        stopped_third_trill,
        ),
    selector=selectortools.Selector()\
        .by_leaf()\
        [:-1]\
        .append_callback(consort.AfterGraceSelectorCallback())\
        .by_counts(
            [-3, 2, -2, 1, -1, 2, -1, 1],
            cyclic=True,
            overhang=False,
            fuse_overhang=False,
            rotate=True,
            ),
    )
Пример #6
0
from abjad.tools import indicatortools
from abjad.tools import patterntools
from abjad.tools import rhythmmakertools
from abjad.tools import scoretools
from abjad.tools import selectortools
from abjad.tools import spannertools
from ersilia.materials import abbreviations
import consort


piano_agitato_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector()
                .by_logical_tie(pitched=True)
                .by_duration('==', (1, 8), preprolated=True)
                [0],
            ),
        dynamic_expressions=consort.DynamicExpression(
            division_period=2,
            dynamic_tokens='mf mp fff',
            start_dynamic_tokens='f',
            stop_dynamic_tokens='mf',
            ),
        mordent=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('mordent'),
            selector=selectortools.Selector()
                .by_logical_tie(pitched=True)
                .by_duration('>=', (1, 8), preprolated=True)
                .by_class(scoretools.Note)
                [0],
Пример #7
0
### ATTACHMENTS ###

intermittent_trills = armilla.materials.intermittent_trills

### MUSIC SPECIFIERS ###

rh_circular = new(
    armilla.materials.right_hand_circular_music_specifier,
    attachment_handler__stem_tremolo_spanner=consort.AttachmentExpression(
        attachments=(
            None,
            spannertools.StemTremoloSpanner(),
        ),
        selector=selectortools.Selector().by_leaf().by_counts(
            [5, 1, 4, 2, 6, 3],
            cyclic=True,
        )),
)

lh_glissandi = new(
    armilla.materials.left_hand_glissandi_music_specifier,
    pitch_handler__pitch_specifier=consort.PitchSpecifier(
        pitch_segments=(
            "a c' a a c'",
            "c' ef' g c' c' ef'",
            "a' c'' a' c'' c'' g' a'",
        ),
        ratio=(1, 1, 2),
    ),
    attachment_handler__trill_spanner=intermittent_trills,
)
Пример #8
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import indicatortools
from abjad.tools import rhythmmakertools
from abjad.tools import scoretools
from abjad.tools import selectortools
from abjad.tools import spannertools

right_hand_pizzicati_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        bow_contact_points=consort.AttachmentExpression(
            attachments=(indicatortools.BowContactPoint(None), ),
            selector=selectortools.Selector().by_leaf().flatten(),
        ),
        bow_contact_spanner=spannertools.BowContactSpanner(),
        dynamic_expressions=consort.DynamicExpression(dynamic_tokens='mf', ),
        string_contact_points=consort.AttachmentExpression(
            attachments=indicatortools.StringContactPoint('pizzicato'),
            scope=scoretools.Voice,
            selector=selectortools.Selector().by_leaf()[0]),
        string_contact_spanner=consort.StringContactSpanner(),
    ),
    rhythm_maker=rhythmmakertools.IncisedRhythmMaker(
        incise_specifier=rhythmmakertools.InciseSpecifier(
            fill_with_notes=False,
            prefix_counts=(1, 1, 1, 1, 2, 1),
            prefix_talea=(1, ),
            suffix_talea=(1, ),
            suffix_counts=(0, ),
            talea_denominator=16,
        ), ),
Пример #9
0
from abjad.tools import indicatortools
from abjad.tools import rhythmmakertools
from abjad.tools import scoretools
from abjad.tools import selectortools
from abjad.tools import spannertools


guitar_continuo_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector()
                .by_leaf()
                .by_run(scoretools.Note)
                .by_counts(
                    [3, 3, 4],
                    cyclic=True,
                    overhang=True,
                    fuse_overhang=True,
                    )
                [0],
            ),
        dynamic_expressions=consort.DynamicExpression(
            start_dynamic_tokens='p mp',
            only_first=True,
            ),
        slur=consort.AttachmentExpression(
            attachments=spannertools.Slur(),
            selector=selectortools.Selector()
                .by_leaf()
                .by_run(scoretools.Note)
                .by_counts(
Пример #10
0
         indicatortools.BowContactPoint(0),
         indicatortools.BowContactPoint((1, 8)),
         indicatortools.BowContactPoint(0),
         indicatortools.BowContactPoint((1, 8)),
         indicatortools.BowContactPoint((1, 4)),
         indicatortools.BowContactPoint((1, 8)),
         indicatortools.BowContactPoint((3, 8)),
         indicatortools.BowContactPoint((1, 4)),
         indicatortools.BowContactPoint((3, 8)),
         indicatortools.BowContactPoint((1, 2)),
         indicatortools.BowContactPoint((5, 8)),
         indicatortools.BowContactPoint((3, 4)),
         indicatortools.BowContactPoint((7, 8)),
         indicatortools.BowContactPoint(1),
     ),
     selector=selectortools.Selector().by_leaf().flatten(),
 ),
 bow_contact_spanner=spannertools.BowContactSpanner(),
 dynamic_expressions=consort.DynamicExpression(
     dynamic_tokens='p ppp p ppp p ppp f', ),
 string_contact_points=consort.AttachmentExpression(
     attachments=(
         indicatortools.StringContactPoint('ordinario'),
         indicatortools.StringContactPoint('sul tasto'),
         indicatortools.StringContactPoint('molto sul tasto'),
     ),
     scope=scoretools.Voice,
     selector=selectortools.Selector().append_callback(
         consort.PhrasedSelectorCallback()).by_counts(
             [1, -2, 1, -2, 1, -1],
             cyclic=True,
Пример #11
0
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from abjad.tools import spannertools

string_legato_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        dynamic_expressions=consort.DynamicExpression(
            dynamic_tokens='p mf',
            start_dynamic_tokens='niente fp',
            stop_dynamic_tokens='niente ff'),
        glissando=consort.Glissando(),
        tenuti=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('tenuto'),
            selector=selectortools.Selector().by_leaf().by_logical_tie(
                pitched=True).by_pattern(
                    patterntools.Pattern(
                        indices=[3],
                        period=4,
                    ), )[0]),
        tremolo_trill=consort.AttachmentExpression(
            attachments=(
                spannertools.ComplexTrillSpanner(interval='+m3'),
                spannertools.StemTremoloSpanner(),
                spannertools.ComplexTrillSpanner(interval='+m3'),
                spannertools.ComplexTrillSpanner(interval='+M2'),
                spannertools.StemTremoloSpanner(),
            ),
            selector=selectortools.Selector().by_leaf().by_logical_tie(
                pitched=True).by_pattern(
                    patterntools.Pattern(
                        indices=[0, 1, 2],
                        period=4,
Пример #12
0
# -*- encoding: utf-8 -*-
import consort
import ersilia
from abjad.tools import indicatortools
from abjad.tools import patterntools
from abjad.tools import pitchtools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from abjad.tools import spannertools
from ersilia.materials import abbreviations

percussion_low_pedal_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector().by_logical_tie().get_slice(
                start=1, apply_to_each=False)[0]),
        bass_drum_indication=consort.AttachmentExpression(
            attachments=consort.AttachmentExpression(
                attachments=abbreviations.make_text_spanner('bass drum'),
                selector=selectortools.select_pitched_runs(),
            ),
            selector=selectortools.Selector().by_logical_tie().by_pitch(
                pitches=ersilia.Percussion.BASS_DRUM).by_contiguity().by_leaf(
                )),
        tam_tam_indication=consort.AttachmentExpression(
            attachments=consort.AttachmentExpression(
                attachments=abbreviations.make_text_spanner('tam'),
                selector=selectortools.select_pitched_runs(),
            ),
            selector=selectortools.Selector().by_logical_tie().by_pitch(
                pitches=ersilia.Percussion.TAM_TAM).by_contiguity().by_leaf()),
Пример #13
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import indicatortools
from abjad.tools import selectortools

intermittent_circular = consort.AttachmentExpression(
    attachments=indicatortools.BowMotionTechnique('circular'),
    selector=selectortools.Selector().by_leaf()[:-1].by_counts(
        [-3, 1, -4, 2, -1, 3, -5, 2], ).flatten(),
)
Пример #14
0
percussion_marimba_agitato_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.select_pitched_runs()[0],
        ),
        chords=consort.AttachmentExpression(
            attachments=[
                consort.ChordExpression(chord_expr=[0, 3]),
                consort.ChordExpression(chord_expr=[0, 5]),
            ],
            is_destructive=True,
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration('==', (1, 16),
                                          preprolated=True).by_pattern(
                                              patterntools.Pattern(
                                                  indices=[0, 3],
                                                  period=7,
                                              ), ),
        ),
        clef_spanner=consort.ClefSpannerExpression(),
        dynamic_expressions=consort.DynamicExpression(
            division_period=2,
            dynamic_tokens='mf mp fff',
            start_dynamic_tokens='f',
            stop_dynamic_tokens='mf',
        ),
        staccati=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('staccato'),
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration('==', (1, 16), preprolated=True)[0]),
Пример #15
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import indicatortools
from abjad.tools import rhythmmakertools
from abjad.tools import scoretools
from abjad.tools import selectortools
from abjad.tools import spannertools
from ersilia.materials import abbreviations


shaker_tremolo_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector()
                .by_leaf()
                .by_run(scoretools.Note)
                [0],
            ),
        dynamic_expression=consort.DynamicExpression(
            dynamic_tokens='fp',
            ),
        percussion_staff=abbreviations.percussion_staff,
        text_spanner=consort.AttachmentExpression(
            attachments=abbreviations.make_text_spanner('shaker'),
            selector=selectortools.Selector().by_leaf(),
            ),
        tremolo_spanner=spannertools.StemTremoloSpanner(),
        ),
    color='blue',
    labels=['shakers'],
    pitch_handler=consort.AbsolutePitchHandler(
Пример #16
0
import consort
from abjad.tools import indicatortools
from abjad.tools import markuptools
from abjad.tools import pitchtools
from abjad.tools import selectortools
from abjad.tools import spannertools

laissez_vibrer = consort.AttachmentExpression(
    attachments=[
        [
            indicatortools.LaissezVibrer(),
            markuptools.Markup(
                'L.V', Up).caps().tiny().pad_around(0.5).box().pad_around(0.5)
        ],
    ],
    selector=selectortools.Selector().by_logical_tie(
        pitched=True).by_contiguity().by_length('==', 1).by_leaf()[0])

black_keys_spanner = spannertools.make_solid_text_spanner_with_nib(
    markuptools.Markup.flat().vcenter(), )

chromatic_keys_spanner = spannertools.make_solid_text_spanner_with_nib(
    markuptools.Markup.concat([
        markuptools.Markup.natural(),
        markuptools.Markup.hspace(0.1),
        markuptools.Markup.flat(),
    ]).vcenter(), )

white_keys_spanner = spannertools.make_solid_text_spanner_with_nib(
    markuptools.Markup.natural().vcenter(), )

percussion_staff = consort.AttachmentExpression(attachments=[
Пример #17
0
### SEGMENT MAKER ###

segment_maker = armilla.ArmillaSegmentMaker(
    desired_duration_in_seconds=60,
    discard_final_silence=False,
    name='The Long Dune (ii)',
    repeat=False,
    tempo=indicatortools.Tempo((1, 4), 36),
)

### ATTACHMENTS ###

dietro_ponticello = consort.AttachmentExpression(
    attachments=indicatortools.StringContactPoint('dietro ponticello'),
    scope=scoretools.Voice,
    selector=selectortools.Selector().by_leaf(),
)
dynamics_a = dynamic_expressions = consort.DynamicExpression(
    dynamic_tokens='p mf p ppp f p ff', )
dynamics_b = dynamic_expressions = consort.DynamicExpression(
    dynamic_tokens='f p f mf ff p fff f fff mf fff', )
intermittent_accents = armilla.materials.intermittent_accents
intermittent_circular = armilla.materials.intermittent_circular
intermittent_glissandi = armilla.materials.intermittent_glissandi
intermittent_tremoli = armilla.materials.intermittent_tremoli

### MUSIC SPECIFIERS ###

lh_dietro = new(
    armilla.materials.left_hand_dietro_music_specifier,
    minimum_phrase_duration=durationtools.Duration(1, 4),
Пример #18
0
from abjad.tools import indicatortools
from abjad.tools import patterntools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from abjad.tools import spannertools
from ersilia.materials import abbreviations

wind_tremolo_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        outer_accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.select_pitched_runs()[0],
        ),
        inner_accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector().by_logical_tie().by_duration(
                '==', (1, 8), preprolated=True).with_next_leaf()),
        dynamic_expressions=consort.DynamicExpression(
            division_period=2,
            dynamic_tokens='p ppp mp',
            start_dynamic_tokens='fp',
            stop_dynamic_tokens='mf ppp',
        ),
        trill_spanner=consort.AttachmentExpression(
            attachments=spannertools.ComplexTrillSpanner('M2'),
            selector=selectortools.select_pitched_runs(),
        ),
    ),
    color='red',
    labels=[],
    pitch_handler=consort.PitchClassPitchHandler(
        deviations=[0, 1],
Пример #19
0
string_agitato_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        dynamic_expressions=consort.DynamicExpression(
            division_period=2,
            dynamic_tokens='mp fff',
            start_dynamic_tokens='f p',
            stop_dynamic_tokens='p f',
        ),
        harmonics=consort.AttachmentExpression(
            attachments=consort.HarmonicExpression('P4'),
            is_destructive=True,
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration('==', (1, 16),
                                          preprolated=True).by_pattern(
                                              pattern=patterntools.Pattern(
                                                  indices=[2, 4],
                                                  period=5,
                                              ), )),
        slur=consort.AttachmentExpression(
            attachments=spannertools.Slur(),
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration(
                    '==', (1, 16),
                    preprolated=True).by_contiguity().by_length('>',
                                                                1).by_leaf()),
        staccati=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('staccato'),
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration(
                    '==', (1, 16),
Пример #20
0
import consort
from abjad.tools import indicatortools
from abjad.tools import rhythmmakertools
from abjad.tools import scoretools
from abjad.tools import selectortools
from ersilia.materials import abbreviations

piano_pointillist_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        dynamic_expressions=consort.DynamicExpression(
            start_dynamic_tokens='ppp',
            only_first=True,
        ),
        mordent=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('mordent'),
            selector=selectortools.Selector().by_class(
                scoretools.Note).by_logical_tie()[0]),
        tenuti=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('tenuto'),
            selector=selectortools.Selector().by_logical_tie(pitched=True)[0]),
    ),
    color='darkyellow',
    labels=['pedaled'],
    pitch_handler=consort.PitchClassPitchHandler(
        logical_tie_expressions=(
            None,
            consort.ChordExpression([-2, 3]),
            consort.ChordExpression([0, 3]),
            None,
            consort.ChordExpression([-4, 5]),
        ),
        pitch_specifier=abbreviations.agitato_pitch_specifier,
Пример #21
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import selectortools


intermittent_glissandi = consort.AttachmentExpression(
    attachments=consort.Glissando(
        allow_repeat_pitches=False,
        allow_ties=False,
        parenthesize_repeated_pitches=True,
        ),
    selector=selectortools.Selector()
        .by_leaf()
        [:-1]
        .append_callback(consort.AfterGraceSelectorCallback())
        .by_counts(
            [-3, 4, -2, 3, -1, 4],
            cyclic=True,
            overhang=True,
            fuse_overhang=True,
            rotate=True,
            ),
    )
Пример #22
0
import ersilia
from abjad.tools import patterntools
from abjad.tools import pitchtools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from abjad.tools import indicatortools
from abjad.tools import spannertools
from ersilia.materials import abbreviations


percussion_temple_block_fanfare_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accent=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector()
                .by_logical_tie(pitched=True)
                .by_duration('>', (1, 16), preprolated=True)
                [0]
            ),
        chords=consort.AttachmentExpression(
            attachments=(
                consort.ChordExpression(
                    chord_expr=pitchtools.PitchSegment([
                        ersilia.Percussion.WOOD_BLOCK_5,
                        ersilia.Percussion.WOOD_BLOCK_4,
                        ]),
                    ),
                None,
                consort.ChordExpression(
                    chord_expr=pitchtools.PitchSegment([
                        ersilia.Percussion.WOOD_BLOCK_4,
                        ersilia.Percussion.WOOD_BLOCK_3,
Пример #23
0
# -*- 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

percussion_marimba_ostinato_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        clef_spanner=consort.ClefSpannerExpression(),
        deadstroke=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('stopped'),
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration(
                    '==', (1, 16), preprolated=True).by_contiguity().by_length(
                        '==', 1).by_leaf()[0]),
        dynamic_expressions=consort.DynamicExpression(dynamic_tokens='p', ),
        slur=consort.AttachmentExpression(
            attachments=spannertools.Slur(),
            selector=selectortools.Selector().by_logical_tie(
                pitched=True).by_duration(
                    '==', (1, 16),
                    preprolated=True).by_contiguity().by_length('>',
                                                                1).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]),
Пример #24
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import durationtools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools

left_hand_glissandi_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        glissando=consort.AttachmentExpression(
            attachments=consort.Glissando(
                allow_repeat_pitches=False,
                allow_ties=False,
                parenthesize_repeated_pitches=True,
            ),
            selector=selectortools.Selector().by_leaf().append_callback(
                consort.AfterGraceSelectorCallback())), ),
    grace_handler=consort.GraceHandler(
        counts=(0, 1, 2, 0, 0, 0),
        only_if_preceded_by_nonsilence=True,
    ),
    pitch_handler=consort.AbsolutePitchHandler(
        deviations=(0, 0, 0, 0, 0.5, 0),
        forbid_repetitions=True,
        grace_expressions=(
            consort.HarmonicExpression('P4'),
            consort.HarmonicExpression('M3'),
            consort.HarmonicExpression('P5'),
        ),
        pitch_specifier=consort.PitchSpecifier(
            pitch_segments=(
                "a c' a a c'",
Пример #25
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import indicatortools
from abjad.tools import markuptools
from abjad.tools import patterntools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from ersilia.materials import abbreviations

pitch_pipe_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        accents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('accent'),
            selector=selectortools.Selector().by_logical_tie().get_slice(
                start=1, apply_to_each=False)[0]),
        dynamic_expressions=consort.DynamicExpression(
            division_period=2,
            dynamic_tokens='p ppp mf',
            start_dynamic_tokens='niente fp',
        ),
        inhale_exhale=consort.AttachmentExpression(
            attachments=[
                markuptools.Markup(
                    'exhale', Up).italic().smaller().pad_around(0.5).box(),
                markuptools.Markup(
                    'inhale', Up).italic().smaller().pad_around(0.5).box(),
                markuptools.Markup(
                    'inhale', Up).italic().smaller().pad_around(0.5).box(),
            ],
            selector=selectortools.select_pitched_runs()[0],
        ),
Пример #26
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import indicatortools
from abjad.tools import rhythmmakertools
from abjad.tools import selectortools
from ersilia.materials import abbreviations


string_pointillist_music_specifier = consort.MusicSpecifier(
    attachment_handler=consort.AttachmentHandler(
        mordents=consort.AttachmentExpression(
            attachments=indicatortools.Articulation('mordent'),
            selector=selectortools.Selector()
                .by_logical_tie(pitched=True)
                [0]
            ),
        dynamic_expressions=consort.DynamicExpression(
            start_dynamic_tokens='ppp',
            only_first=True,
            ),
        text_spanner=consort.AttachmentExpression(
            attachments=consort.AttachmentExpression(
                attachments=abbreviations.make_text_spanner('pizz.'),
                selector=selectortools.Selector().by_leaf(),
                ),
            selector=selectortools.Selector().by_leaf(),
            ),
        ),
    color='darkyellow',
    labels=[],
    pitch_handler=consort.PitchClassPitchHandler(
Пример #27
0
# -*- encoding: utf-8 -*-
import consort
from abjad.tools import selectortools
from abjad.tools import spannertools

intermittent_tremoli = consort.AttachmentExpression(
    attachments=spannertools.StemTremoloSpanner(),
    selector=selectortools.Selector().by_leaf()[:-1].by_counts(
        [-7, 2, -3, 1], ),
)