def __init__( self, time_signatures=None, divisions=None, rh_rhythm_maker=None, lh_rhythm_maker=None, rh_pitch_range=None, lh_pitch_range=None, ): SegmentMaker.__init__(self) time_signatures = time_signatures or [] time_signatures = [ indicatortools.TimeSignature(x) for x in time_signatures ] self._time_signatures = time_signatures self._divisions = divisions if rh_rhythm_maker is None: rh_rhythm_maker = rhythmmakertools.NoteRhythmMaker() assert isinstance(rh_rhythm_maker, rhythmmakertools.RhythmMaker) self._rh_rhythm_maker = rh_rhythm_maker if lh_rhythm_maker is None: lh_rhythm_maker = rhythmmakertools.NoteRhythmMaker() assert isinstance(lh_rhythm_maker, rhythmmakertools.RhythmMaker) self._lh_rhythm_maker = lh_rhythm_maker rh_pitch_range = rh_pitch_range or '[C4, C6]' rh_pitch_range = pitchtools.PitchRange(rh_pitch_range) self._rh_pitch_range = rh_pitch_range lh_pitch_range = lh_pitch_range or '[C2, C4)' lh_pitch_range = pitchtools.PitchRange(lh_pitch_range) self._lh_pitch_range = lh_pitch_range
def __init__( self, time_signatures=None, divisions=None, rh_rhythm_maker=None, lh_rhythm_maker=None, rh_pitch_range=None, lh_pitch_range=None, include_layout_ly=None, ): import abjad from abjad.tools import rhythmmakertools SegmentMaker.__init__(self) time_signatures = time_signatures or [] time_signatures = [abjad.TimeSignature(_) for _ in time_signatures] self._time_signatures = time_signatures self._divisions = divisions if rh_rhythm_maker is None: rh_rhythm_maker = rhythmmakertools.NoteRhythmMaker() assert isinstance(rh_rhythm_maker, rhythmmakertools.RhythmMaker) self._rh_rhythm_maker = rh_rhythm_maker if lh_rhythm_maker is None: lh_rhythm_maker = rhythmmakertools.NoteRhythmMaker() assert isinstance(lh_rhythm_maker, rhythmmakertools.RhythmMaker) self._lh_rhythm_maker = lh_rhythm_maker rh_pitch_range = rh_pitch_range or '[C4, C6]' rh_pitch_range = abjad.PitchRange(rh_pitch_range) self._rh_pitch_range = rh_pitch_range lh_pitch_range = lh_pitch_range or '[C2, C4)' lh_pitch_range = abjad.PitchRange(lh_pitch_range) self._lh_pitch_range = lh_pitch_range if include_layout_ly is not None: include_layout_ly = bool(include_layout_ly) self._include_layout_ly = include_layout_ly
def test_rhythmmakertools_NoteRhythmMaker___call___01(): maker = rhythmmakertools.NoteRhythmMaker() divisions = [(5, 16), (3, 8)] result = maker(divisions) maker = abjad.MeasureMaker() measures = maker(divisions) staff = abjad.Staff(measures) abjad.mutate(staff).replace_measure_contents(result) assert format(staff) == abjad.String.normalize( r''' \new Staff { { % measure \time 5/16 c'4 ~ c'16 } % measure { % measure \time 3/8 c'4. } % measure } ''' )
def test_rhythmmakertools_NoteRhythmMaker___call___02(): duration_specifier = rhythmmakertools.DurationSpecifier( decrease_monotonic=False, ) maker = rhythmmakertools.NoteRhythmMaker( duration_specifier=duration_specifier, ) divisions = [(5, 16), (3, 8)] result = maker(divisions) maker = abjad.MeasureMaker() measures = maker(divisions) staff = abjad.Staff(measures) abjad.mutate(staff).replace_measure_contents(result) assert format(staff) == abjad.String.normalize( r''' \new Staff { { % measure \time 5/16 c'16 ~ c'4 } % measure { % measure \time 3/8 c'4. } % measure } ''' )
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 ], pitch_specifier=consort.PitchSpecifier( pitch_segments=( 'D3', 'F3', 'G2', ), ratio=(1, 1, 1), ), ), rhythm_maker=rhythmmakertools.NoteRhythmMaker( tie_specifier=rhythmmakertools.TieSpecifier( tie_across_divisions=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'", "a g c' gs d'", "a c'", ), ratio=(1, 1, 1), ), ), rhythm_maker=consort.CompositeRhythmMaker( last=rhythmmakertools.NoteRhythmMaker(), default=rhythmmakertools.EvenDivisionRhythmMaker( denominators=(4, ), extra_counts_per_division=(0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1), duration_spelling_specifier=rhythmmakertools. DurationSpellingSpecifier( decrease_durations_monotonically=True, forbidden_written_duration=durationtools.Duration(1, 4), ), ), ), )
# -*- encoding: utf-8 -*- import consort from abjad.tools import durationtools from abjad.tools import rhythmmakertools from abjad.tools import selectortools left_hand_stasis_music_specifier = consort.MusicSpecifier( attachment_handler=consort.AttachmentHandler( trill_spanner=consort.AttachmentExpression( attachments=( consort.ConsortTrillSpanner(interval='+m3'), consort.ConsortTrillSpanner(interval='+P4'), consort.ConsortTrillSpanner(interval='+m3'), ), selector=selectortools.Selector().by_leaf(), ), ), minimum_phrase_duration=durationtools.Duration(1, 4), pitch_handler=consort.AbsolutePitchHandler( deviations=(0, 0, 0.5), pitch_specifier="gs'", ), rhythm_maker=rhythmmakertools.NoteRhythmMaker( duration_spelling_specifier=rhythmmakertools.DurationSpellingSpecifier( forbid_meter_rewriting=True, ), ), )