def test_LilyPondParser__spanners__Hairpin_06(): """ With direction. """ maker = abjad.NoteMaker() target = abjad.Staff(maker([0] * 5, [(1, 4)])) start_hairpin = abjad.StartHairpin("<", direction=abjad.Up) abjad.attach(start_hairpin, target[0]) stop_hairpin = abjad.StopHairpin() abjad.attach(stop_hairpin, target[2]) hairpin = abjad.StartHairpin(">", direction=abjad.Down) abjad.attach(hairpin, target[2]) dynamic = abjad.Dynamic("ppp") abjad.attach(dynamic, target[-1]) assert format(target) == abjad.String.normalize(r""" \new Staff { c'4 ^ \< c'4 c'4 \! _ \> c'4 c'4 \ppp } """) parser = abjad.parser.LilyPondParser() result = parser(format(target)) assert format(target) == format(result) and target is not result
def test_reposition_dynamics_11(): staff = abjad.Staff(r"c'1 d'1 e'1 r1\mf r1\ff f'1 r1 g'1") abjad.attach(abjad.Dynamic('niente', hide=True), staff[0]) abjad.attach(abjad.Dynamic('niente', hide=True), staff[7]) abjad.attach(abjad.StartHairpin('o<'), staff[0]) abjad.attach(abjad.StartHairpin('>o'), staff[4]) abjad.attach(abjad.StopHairpin(), staff[7]) auxjad.mutate(staff[:]).reposition_dynamics() assert format(staff) == abjad.String.normalize(r""" \new Staff { c'1 - \tweak circled-tip ##t \< d'1 e'1 r1 \mf r1 f'1 \ff - \tweak circled-tip ##t \> r1 \! g'1 } """)
def add_attachments(self, selections): runs = abjad.select(selections).runs() ties = abjad.select(selections).logical_ties(pitched=True) for run in runs: if self.clef != None: abjad.attach( abjad.Clef(self.clef), run[0] ) #doesn't seem to always work, redo entire attachment handler? if len(run) > 1: leaves = abjad.select(run).leaves() if self.starting_dynamic != None: abjad.attach(abjad.Dynamic(self.starting_dynamic), leaves[0]) if self.hairpin != None: abjad.attach(abjad.StartHairpin(self.hairpin), leaves[0]) if self.ending_dynamic != None: abjad.attach(abjad.Dynamic(self.ending_dynamic), leaves[-1]) abjad.attach( abjad.StartHairpin('--'), leaves[-1] ) #makes ending with a logical tie weird. If problematic: reduce indentation by 1 if self.text_list != None: if len(self.text_list) > 1: self._apply_text_and_span_lr(run) else: self._apply_text_and_span_l_only(run) else: leaves = abjad.select(run).leaves() dynamic = next(self._cyc_dynamics) if self.starting_dynamic != None: if self.ending_dynamic != None: abjad.attach(abjad.Dynamic(dynamic), leaves[0]) else: abjad.attach(abjad.Dynamic(self.starting_dynamic), leaves[0]) if self.starting_dynamic == None: if self.ending_dynamic != None: abjad.attach(abjad.Dynamic(self.ending_dynamic), leaves[0]) abjad.attach(abjad.StartHairpin('--'), leaves[0]) if self.text_list != None: self._apply_text_and_span_l_only(run) for tie in ties: if len(tie) == 1: if self.articulation_list != None: articulation = self._cyc_articulations abjad.attach(abjad.Articulation(next(articulation)), tie[0]) return selections
def test_reposition_dynamics_12(): staff = abjad.Staff(r"c'1\p d'1\f\> e'1\ff\< r1\fff f'1\p\> g'1\ppp") abjad.attach(abjad.StartHairpin('--'), staff[0]) auxjad.mutate(staff[:]).reposition_dynamics() assert format(staff) == abjad.String.normalize(r""" \new Staff { c'1 \p - \tweak stencil #constante-hairpin \< d'1 \f e'1 \ff \< r1 \fff f'1 \p \> g'1 \ppp } """)
def apply_scratch(selections): start_dynamic = abjad.Dynamic("sfp") stop_dynamic = abjad.Dynamic("ff") scratch_text = abjad.Markup( r"""\override #'(style . "box") \override #'(box-padding . 0.5) \italic \box \whiteout \small "scratch" """, literal=True, ) start_scratch_span = abjad.StartTextSpan( left_text=scratch_text, style="solid-line-with-hook", ) abjad.tweak(start_scratch_span).padding = 2 abjad.tweak(start_scratch_span).staff_padding = 3 stop_scratch_span = abjad.StopTextSpan() scratch_dynamic = abjad.Dynamic("f") ties = abjad.select(selections).logical_ties(pitched=True) for i, tie in enumerate(ties): if len(tie) < 2: abjad.attach(start_dynamic, tie[0]) else: if i % 2 == 0: abjad.attach(start_dynamic, tie[0]) abjad.attach(abjad.StartHairpin("<"), tie[0]) abjad.attach(stop_dynamic, tie[-1]) else: next_leaf = abjad.get.leaf(tie[-1], 1) abjad.attach(start_scratch_span, tie[0]) abjad.attach(scratch_dynamic, tie[0]) abjad.attach(stop_scratch_span, next_leaf)
def add_attachments(self, selections): runs = abjad.select(selections).runs() ties = abjad.select(selections).logical_ties(pitched=True) for run in runs: if len(run) > 1: leaves = abjad.select(run).leaves() abjad.attach(abjad.Dynamic(self.starting_dynamic), leaves[0]) abjad.attach(abjad.StartHairpin(self.hairpin_indicator), leaves[0]) abjad.attach(abjad.Dynamic(self.ending_dynamic), leaves[-1]) abjad.attach(abjad.StartHairpin("--"), leaves[-1]) else: leaves = abjad.select(run).leaves() dynamic = next(self._cyc_dynamics) abjad.attach(abjad.Dynamic(dynamic), leaves[0]) abjad.attach(abjad.StartHairpin("--"), leaves[0]) for tie in ties: if len(tie) == 1: abjad.attach(abjad.Articulation(self.articulation), tie[0]) return selections
def apply_spectrum_tremolo(selections): trem_handler(selections) ties = abjad.select(selections).logical_ties(pitched=True) non_last_ties = ties[:-1] dynamics = spectrum_dynamics(r=len(ties)) for i, tie in enumerate(non_last_ties): leaf = abjad.select(tie).leaf(0) dynamic_string = dynamics[i] dynamic = abjad.Dynamic(dynamic_string) next_dynamic_string = dynamics[i + 1] next_dynamic = abjad.Dynamic(next_dynamic_string) if dynamic.ordinal < next_dynamic.ordinal: hairpin = abjad.StartHairpin("<") else: hairpin = abjad.StartHairpin(">") abjad.attach(dynamic, leaf) abjad.attach(hairpin, leaf) first_leaf = abjad.select(selections).leaf(0, pitched=True) final_leaf = abjad.select(selections).leaf(-1, pitched=True) abjad.attach(abjad.Dynamic(dynamics[-1]), final_leaf) abjad.attach(tasto_markup, first_leaf)
def attach_material(selections): ties = abjad.Selection(selections).logical_ties() first_leaf = abjad.Selection(ties).leaf(0) center_leaf = abjad.Selection(ties[len(ties) // 2]).leaf(0) last_leaf = abjad.Selection(ties).leaf(-1) cyc_dynamics = evans.CyclicList(["p", "f"], forget=False) cyc_hairpins = evans.CyclicList(["<", ">"], forget=False) for tie in ties: dynamic = abjad.Dynamic(cyc_dynamics(r=1)[0]) abjad.attach(dynamic, tie[0]) for tie in ties[:-1]: hairpin = abjad.StartHairpin(cyc_hairpins(r=1)[0]) abjad.attach(hairpin, tie[0]) start = abjad.StartTextSpan( left_text=abjad.Markup(r"\upright norm."), style="dashed-line-with-arrow", ) middle = abjad.StartTextSpan( left_text=abjad.Markup(r"\upright msp."), right_text=abjad.Markup(r"\markup \upright st."), style="dashed-line-with-arrow", ) middle_stop = abjad.StopTextSpan() final_stop = abjad.StopTextSpan() abjad.tweak(start).staff_padding = 2 abjad.tweak(middle).staff_padding = 2 abjad.attach(start, first_leaf) abjad.attach(middle_stop, center_leaf) abjad.attach(middle, center_leaf) abjad.attach(final_stop, last_leaf) for leaf in abjad.Selection(selections).leaves(): literal_1 = abjad.LilyPondLiteral( r"\once \override Staff.Tie.transparent = ##t", format_slot="before", ) abjad.attach(literal_1, leaf) literal_2 = abjad.LilyPondLiteral( r"\once \override Dots.staff-position = #1.75", format_slot="before", ) abjad.attach(literal_2, leaf)
abjad.Dynamic("fff"), baca.selectors.leaf(1), ), evans.attach( "Voice 4", abjad.Dynamic("fff"), baca.selectors.leaf(0), ), evans.attach( "Voice 1", abjad.Dynamic("sfp"), baca.selectors.leaf(3), ), evans.attach( "Voice 1", abjad.StartHairpin("<|"), baca.selectors.leaf(3), ), evans.attach( "Voice 1", abjad.Dynamic("ff"), baca.selectors.leaf(5), ), evans.attach( "Voice 1", abjad.Dynamic("mp"), baca.selectors.leaf(6), ), evans.attach( "Voice 1", abjad.Dynamic("f"),
apply_spectrum_tremolo, abjad.select().run(2), ), evans.call( "Voice 7", apply_spectrum_tremolo, abjad.select().run(4), ), evans.call( "Voice 7", apply_spectrum_tremolo, abjad.select().run(6).leaves().get([0, 1, 2, 3, 4]), ), evans.detach( "Voice 7", abjad.StartHairpin(">"), abjad.select().run(0).leaf(-1), ), evans.detach( "Voice 7", abjad.StartHairpin("<"), abjad.select().run(2).leaf(-1), ), evans.call("Voice 8", apply_scratch, abjad.select().runs().get([1, 3])), evans.attach( "Voice 8", normale_markup, abjad.select().run(1).leaf(0), ), evans.attach(
def main() -> versemaker.Verse: vm = versemaker.VerseMaker( 59, 1, tempo_factor=0.32, octave_of_first_pitch=-1, harmonic_tolerance=0.8, ro_temperature=0.712, ro_density=0.68, harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch=( 1, 0, ), harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch=( 1, 0, ), area_density_maker=infit.Gaussian(0.5, 0.05), area_density_reference_size=F(1, 2), area_min_split_size=F(3, 16), ) vm.remove_area(0, 1) vm.attach( violin=strings.SimpleStringMaker( globals_.VIOLIN, pizz_maker=infit.ActivityLevel(5, start_at=0), tremolo_maker=infit.ActivityLevel(0), acciaccatura_maker=infit.ActivityLevel(6), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 0, 1)), harmonic_pitches_activity=0.6, harmonic_pitches_density=0.72, shall_add_optional_pitches=True, optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0), optional_pitches_min_size=F(3, 32), optional_pitches_avg_size=F(2, 16), optional_pitches_density=0.7, after_glissando_size=F(1, 8), ), viola=strings.SimpleStringMaker( globals_.VIOLA, tremolo_maker=infit.ActivityLevel(0), pizz_maker=infit.ActivityLevel(5, start_at=0), acciaccatura_maker=infit.ActivityLevel(6, start_at=2), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 2, 0, 1)), harmonic_pitches_activity=0.65, harmonic_pitches_density=0.72, shall_add_optional_pitches=True, optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0), optional_pitches_min_size=F(3, 32), optional_pitches_avg_size=F(1, 8), optional_pitches_density=0.7, ), cello=strings.SimpleStringMaker( globals_.CELLO, tremolo_maker=infit.ActivityLevel(0), pizz_maker=infit.ActivityLevel(8), acciaccatura_maker=infit.ActivityLevel(8), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 1)), shall_add_optional_pitches=True, harmonic_pitches_activity=0.69, harmonic_pitches_density=0.72, optional_pitches_min_size=F(1, 8), optional_pitches_avg_size=F(2, 16), optional_pitches_density=0.9, ), keyboard=keyboard.KeyboardMaker( lh_min_metricity_to_add_harmony=0.4, lh_min_metricity_to_add_accent=1.2, lh_max_metricity_for_arpeggio=0.35, lh_min_metricity_to_add_restricted_harmony=0, lh_prohibit_repetitions=False, lh_add_repetitions_avoiding_notes=False, rh_likelihood_making_harmony=1, harmonies_max_difference=1200, harmonies_min_difference=250, colotomic_structure=(0, 1, 1, 1), ), ) _adapt_violin(vm.violin.musdat[1], vm) _adapt_viola(vm.viola.musdat[1], vm) _adapt_cello(vm.cello.musdat[1], vm) _adapt_keyboard(vm.keyboard.musdat[2], vm.keyboard.musdat[1], vm) vm.add_bar(5, abjad.TimeSignature((2, 4))) vm.add_bar(11, abjad.TimeSignature((2, 4))) vm.add_bar(13, abjad.TimeSignature((1, 4))) vm.force_remove_area(len(vm.violin.bars) - 1, len(vm.violin.bars)) # second round of postprocessing _adapt_violin2(vm.violin.musdat[1], vm) _adapt_viola2(vm.viola.musdat[1], vm) _adapt_cello2(vm.cello.musdat[1], vm) _adapt_left2(vm.keyboard.musdat[2], vm) _adapt_right2(vm.keyboard.musdat[1], vm) for instr in ("violin", "viola", "cello", "keyboard"): if instr == "keyboard": nth_line = (2, 1) else: nth_line = (1,) novent_line = getattr(vm, instr).musdat[nth_line[0]] novent_line[0].dynamic = attachments.Dynamic("pp") for string in (vm.violin.musdat[1], vm.viola.musdat[1], vm.cello.musdat[1]): tw.detach_hauptstimme(string) verse = vm() for instr in ("violin", "viola", "cello", "keyboard"): if instr == "keyboard": indices = ((1, 0), (1, 1)) else: indices = ((1,),) for idx in indices: staff = getattr(verse, instr).abjad for subidx in idx: staff = staff[subidx] # [bar_idx][event_idx] # adapting accidental notation of keyboard if instr == "keyboard" and idx[1] == 0: abjad.Accidental.respell_with_sharps(staff[1]) abjad.Accidental.respell_with_sharps(staff[2]) abjad.Accidental.respell_with_sharps(staff[3]) # abjad.Accidental.respell_with_sharps(staff[4]) abjad.Accidental.respell_with_sharps(staff[7]) abjad.Accidental.respell_with_flats(staff[8]) abjad.Accidental.respell_with_sharps(staff[15][2:]) abjad.attach(abjad.Tie(), staff[19][1]) abjad.attach(abjad.Tie(), staff[19][2]) elif instr == "keyboard" and idx[1] == 1: # abjad.Accidental.respell_with_sharps(staff[11]) abjad.Accidental.respell_with_sharps(staff[1]) abjad.Accidental.respell_with_sharps(staff[2]) abjad.Accidental.respell_with_sharps(staff[3]) # abjad.Accidental.respell_with_sharps(staff[4]) # abjad.attach(abjad.Ottava(-1), staff[9][0]) # tw.put_gong_to_separate_vox(9, 0, staff) elif instr == "violin": abjad.detach(abjad.Markup, staff[2][2]) abjad.attach( tw.scpm("arco sul tasto"), staff[2][2], ) abjad.attach( tw.scpm("molto sul tasto"), staff[3][2], ) abjad.attach(abjad.StartHairpin(">"), staff[3][2]) abjad.attach(abjad.Dynamic("ppp"), staff[4][0]) abjad.attach(abjad.Dynamic("pp"), staff[4][1]) abjad.detach(abjad.Markup, staff[5][1]) abjad.attach( tw.scpm("arco ordinario"), staff[5][1], ) elif instr == "viola": abjad.attach( abjad.StartTextSpan(left_text=abjad.Markup("rit.")), staff[-1][0] ) abjad.attach(abjad.StopTextSpan(), staff[-1][-1]) abjad.attach(abjad.StartHairpin(">"), staff[-1][0]) abjad.attach(abjad.Dynamic("ppp"), staff[-1][-1]) return verse
evans.PitchHandler( [ "gs,", "gtqs,", "etqf,", ], forget=False, ), lambda _: abjad.Selection(_), ), evans.attach( "Voice 4", abjad.Dynamic("f"), baca.selectors.leaf(0), ), evans.attach("Voice 4", abjad.StartHairpin(">o"), baca.selectors.leaf(-2, pitched=True)), evans.attach("Voice 4", abjad.StopHairpin(), baca.selectors.leaf(-2)), evans.attach( "Voice 4", abjad.Markup(r"\markup { molto vibrato }", direction=abjad.Up), baca.selectors.leaf(-3, pitched=True), ), evans.call( "Voice 4", evans.GlissandoHandler( line_style="zigzag", boolean_vector=[1], forget=False, apply_to="runs", ),
# demo, # evans.return_vertical_moment_ties, # ), evans.call( "score", evans.SegmentMaker.beam_score, abjad.select().components(abjad.Score), ), evans.attach( "Voice 1", abjad.Dynamic("mp"), baca.leaf(0), ), evans.attach( "Voice 1", abjad.StartHairpin(">"), baca.leaf(0), ), evans.attach( "Voice 1", abjad.Dynamic("pp"), baca.leaf(-1, pitched=True), ), evans.attach( "Voice 2", abjad.Dynamic("mp"), baca.leaf(0), ), evans.attach( "Voice 2", abjad.StartHairpin(">"),
def main() -> versemaker.Verse: vm = versemaker.VerseMaker( 59, "closing", tempo_factor=0.31, octave_of_first_pitch=-1, harmonic_tolerance=0.89, ro_temperature=0.685, ro_density=0.8, harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch=( 1, 0, ), harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch=( 1, 0, ), area_density_maker=infit.Gaussian(0.35, 0.1), area_density_reference_size=F(1, 2), area_min_split_size=F(1, 8), ) vm.remove_area(0, 1) # vm.remove_area(30, len(vm.bars)) # vm.remove_area(len(vm.bars) - 2, len(vm.bars) + 1) vm.add_bar(5, abjad.TimeSignature((3, 4))) vm.add_bar(9, abjad.TimeSignature((2, 4))) vm.add_bar(23, abjad.TimeSignature((1, 4))) vm.add_bar(25, abjad.TimeSignature((2, 4))) # vm.add_bar(26, abjad.TimeSignature((1, 4))) vm.attach( violin=strings.SimpleStringMaker( globals_.VIOLIN, pizz_maker=infit.ActivityLevel(5, start_at=0), tremolo_maker=infit.ActivityLevel(0), acciaccatura_maker=infit.ActivityLevel(5), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0)), harmonic_pitches_activity=0.3, harmonic_pitches_density=0.7, shall_add_optional_pitches=True, optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0), optional_pitches_min_size=F(3, 16), optional_pitches_density=0.75, after_glissando_size=F(1, 8), ), viola=strings.SimpleStringMaker( globals_.VIOLA, tremolo_maker=infit.ActivityLevel(0), pizz_maker=infit.ActivityLevel(5, start_at=0), acciaccatura_maker=infit.ActivityLevel(5), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 0, 0, 0)), harmonic_pitches_activity=0.4, harmonic_pitches_density=0.75, shall_add_optional_pitches=True, optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0), optional_pitches_min_size=F(3, 16), optional_pitches_density=0.75, ), cello=strings.SimpleStringMaker( globals_.CELLO, tremolo_maker=infit.ActivityLevel(0), pizz_maker=infit.ActivityLevel(0), force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0), acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 0)), shall_add_optional_pitches=True, acciaccatura_maker=infit.ActivityLevel(5), harmonic_pitches_activity=0.35, harmonic_pitches_density=0.7, optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0), optional_pitches_min_size=F(3, 16), optional_pitches_density=0.7, after_glissando_size=F(1, 8), ), keyboard=keyboard.KeyboardMaker( lh_min_volume=0.68, lh_max_volume=0.79, lh_min_metricity_to_add_harmony=0, lh_min_metricity_to_add_accent=10, lh_max_metricity_for_arpeggio=0.3, lh_min_metricity_to_add_restricted_harmony=0, lh_prohibit_repetitions=False, lh_add_repetitions_avoiding_notes=False, rh_likelihood_making_harmony=1, harmonies_max_difference=1200, harmonies_min_difference=250, colotomic_structure=(1, 2, 2, 2), ), ) _adapt_violin(vm.violin.musdat[1], vm) _adapt_viola(vm.viola.musdat[1], vm) _adapt_cello(vm.cello.musdat[1], vm) _adapt_keyboard(vm.keyboard.musdat[2], vm.keyboard.musdat[1], vm) # vm.add_bar(33, abjad.TimeSignature((2, 4)), force_adding=True) # _adapt_left_hand(vm.keyboard.musdat[2], vm) for string in (vm.violin.musdat[1], vm.viola.musdat[1], vm.cello.musdat[1]): tw.detach_hauptstimme(string) tw.detach_optional_events(string) for instr in ( vm.violin.musdat[1], vm.viola.musdat[1], vm.cello.musdat[1], vm.keyboard.musdat[2], vm.keyboard.musdat[1], ): tw.detach_optional_events(instr) verse = vm() for instr in ("violin", "viola", "cello", "keyboard"): if instr == "keyboard": indices = ((1, 0), (1, 1)) else: indices = ((1,),) for idx in indices: staff = getattr(verse, instr).abjad for subidx in idx: staff = staff[subidx] """ # adapting accidental notation of keyboard if instr == "keyboard" and idx[1] == 1: abjad.Accidental.respell_with_sharps(staff[6][3:]) abjad.Accidental.respell_with_sharps(staff[7]) abjad.Accidental.respell_with_sharps(staff[8]) abjad.Accidental.respell_with_sharps(staff[18]) abjad.Accidental.respell_with_sharps(staff[19]) abjad.Accidental.respell_with_sharps(staff[20]) """ if instr == "violin": # abjad.attach(abjad.Dynamic('ppp'), staff[0][0]) abjad.attach(abjad.StartHairpin(), staff[2][0]) abjad.attach(abjad.Dynamic("p"), staff[3][0]) abjad.attach(abjad.StartHairpin(">"), staff[3][6]) abjad.attach(abjad.Dynamic("ppp"), staff[4][2]) abjad.attach(abjad.StartHairpin(">"), staff[6][2]) abjad.attach(abjad.Dynamic("pppp"), staff[7][0]) # abjad.attach( # abjad.StringContactPoint("sul tasto").markup, staff[7][0], # ) # abjad.attach( # abjad.StringContactPoint("ordinario").markup, staff[8][0], # ) # abjad.attach( # abjad.StringContactPoint("sul tasto").markup, staff[9][0], # ) abjad.attach(abjad.Dynamic("pp"), staff[12][2]) abjad.attach(abjad.Fermata(), staff[16][2]) abjad.attach(abjad.Dynamic("p"), staff[17][0]) abjad.attach(abjad.Dynamic("pppp"), staff[17][2]) abjad.attach(abjad.StartHairpin(), staff[18][1]) abjad.attach(abjad.Dynamic("p"), staff[19][0]) abjad.attach(abjad.Dynamic("pp"), staff[22][-1]) abjad.attach(abjad.Dynamic("p"), staff[30][2]) abjad.attach(abjad.StartHairpin(">"), staff[31][-1]) abjad.attach(abjad.Dynamic("pppp"), staff[33][0]) # abjad.attach(FLAUTANDO, staff[33][0]) elif instr == "viola": abjad.attach(abjad.StartHairpin(), staff[2][0]) abjad.attach(abjad.Dynamic("pp"), staff[3][0]) abjad.attach(abjad.StartHairpin(">"), staff[3][3]) abjad.attach(abjad.Dynamic("ppp"), staff[4][1]) abjad.attach(abjad.Dynamic("pppp"), staff[7][0]) # abjad.attach( # abjad.StringContactPoint("sul tasto").markup, staff[8][0], # ) abjad.attach(abjad.Dynamic("pp"), staff[12][2]) abjad.attach(abjad.Fermata(), staff[16][2]) abjad.attach(abjad.Dynamic("p"), staff[17][0]) abjad.attach(abjad.Dynamic("pp"), staff[18][2]) abjad.attach(abjad.StartHairpin(), staff[18][2]) abjad.attach(abjad.Dynamic("p"), staff[19][0]) abjad.attach(abjad.Dynamic("pp"), staff[23][0]) abjad.attach(abjad.Dynamic("p"), staff[30][1]) abjad.attach(abjad.StartHairpin(">"), staff[31][-1]) abjad.attach(abjad.Dynamic("pppp"), staff[33][0]) # abjad.attach(FLAUTANDO, staff[33][0]) elif instr == "cello": abjad.attach(abjad.StartHairpin(), staff[2][0]) abjad.attach(abjad.Dynamic("pp"), staff[3][0]) # abjad.attach(abjad.Dynamic('pp'), staff[2][0]) abjad.attach(abjad.StartHairpin(">"), staff[3][5]) abjad.attach(abjad.Dynamic("ppp"), staff[4][1]) abjad.attach(abjad.StartHairpin(">"), staff[6][1]) abjad.attach(abjad.Dynamic("pppp"), staff[7][0]) abjad.attach( abjad.StringContactPoint("sul tasto"), staff[8][0], ) abjad.attach(abjad.Dynamic("pp"), staff[12][2]) abjad.attach(abjad.Fermata(), staff[16][2]) abjad.attach(abjad.Dynamic("p"), staff[17][0]) abjad.attach(abjad.Dynamic("ppp"), staff[18][0]) abjad.attach(abjad.StartHairpin(), staff[18][0]) abjad.attach(abjad.Dynamic("p"), staff[19][0]) abjad.attach(abjad.Dynamic("pp"), staff[23][0]) abjad.attach(abjad.Dynamic("ppp"), staff[24][5]) abjad.attach(abjad.Dynamic("pp"), staff[26][0]) abjad.attach(abjad.Dynamic("ppp"), staff[29][0]) abjad.attach(abjad.Dynamic("pp"), staff[29][4]) abjad.attach(abjad.Dynamic("p"), staff[30][1]) abjad.attach(abjad.StartHairpin(">"), staff[31][4]) abjad.attach(abjad.Dynamic("pppp"), staff[33][0]) abjad.attach(abjad.Fermata("longfermata"), staff[-1][-1]) abjad.detach(globals_.NONVIB_MARKUP, staff[0][0]) abjad.detach(globals_.CON_SORDINO_MARKUP, staff[0][0]) abjad.attach(globals_.NONVIB_MARKUP, staff[0][1]) abjad.attach(globals_.CON_SORDINO_MARKUP, staff[0][1]) # abjad.attach(FLAUTANDO, staff[33][0]) elif instr == "keyboard": if idx[1] == 1: abjad.attach(abjad.Dynamic("pp"), staff[2][0]) abjad.attach(abjad.Dynamic("ppp"), staff[7][0]) abjad.attach(abjad.Dynamic("p"), staff[11][0]) abjad.attach(abjad.Dynamic("pp"), staff[12][1]) abjad.attach(abjad.Dynamic("p"), staff[18][1]) abjad.attach(abjad.Dynamic("pp"), staff[26][3]) abjad.attach(abjad.Dynamic("ppp"), staff[27][1]) abjad.attach(abjad.Dynamic("pp"), staff[30][0]) abjad.attach(abjad.Dynamic("p"), staff[31][0]) abjad.attach(abjad.StartHairpin(">"), staff[32][1]) abjad.attach(abjad.Dynamic("ppp"), staff[33][0]) abjad.attach(abjad.Fermata(), staff[16][1]) else: abjad.attach(abjad.Fermata(), staff[16][1]) abjad.attach(abjad.Dynamic("ppp"), staff[0][0]) return verse
), evans.attach( "Voice 1", xsb_noise_poco_a_poco_final_noise, baca.selectors.leaf(8, pitched=True), ), evans.attach( "Voice 1", abjad.StopTextSpan(), baca.selectors.leaf(9, pitched=True), ), evans.attach( "Voice 1", abjad.Dynamic("pp"), baca.selectors.leaf(0, pitched=True) ), evans.attach( "Voice 1", abjad.StartHairpin("<"), baca.selectors.leaf(0, pitched=True) ), evans.attach( "Voice 1", abjad.Markup( r"""\markup \box "cresc. a m.196 (ff)" """, direction=abjad.Down, ), baca.selectors.leaf(0, pitched=True), ), evans.attach( "Voice 1", abjad.StopHairpin(), baca.selectors.leaf(9, pitched=True) ), evans.attach( "Voice 1", abjad.Dynamic("ff"), baca.selectors.leaf(9, pitched=True) ),
quasi_pont_markup, baca.leaf(8, pitched=True), ), evans.attach( "Voice 9", normale_markup, baca.leaf(13, pitched=True), ), evans.attach( "Voice 9", abjad.Dynamic("sfp"), baca.leaf(13, pitched=True), ), evans.attach( "Voice 9", abjad.StartHairpin("<"), baca.leaf(13, pitched=True), ), evans.attach( "Voice 9", abjad.Dynamic("ff"), baca.leaf(15, pitched=True), ), evans.attach( "Voice 9", abjad.Dynamic("p"), baca.leaf(16, pitched=True), ), evans.attach( "Voice 9", quasi_pont_markup,