metmod

Metric modulation.


Functions

calculate_metric_modulation

calculate_tempo_modulated_duration

compare_speed

metric_modulation

Makes metric modulation markup.

mixed_number

evans.metmod.calculate_metric_modulation(l_tempo=60, l_note=None, r_note=None)[source]
evans.metmod.calculate_tempo_modulated_duration(original_tempo=((1, 4), 60), new_tempo=((1, 4), 120), duration=Duration(1, 1))[source]
>>> evans.calculate_tempo_modulated_duration(
...     original_tempo=((1, 4), 60),
...     new_tempo=((1, 4), 120),
...     duration=abjad.Duration((1, 1)),
... )
Duration(2, 1)
>>> evans.calculate_tempo_modulated_duration(
...     original_tempo=((1, 4), 72),
...     new_tempo=((1, 4), 83),
...     duration=abjad.Duration((23, 8)),
... )
Duration(1909, 576)
evans.metmod.compare_speed(l_note=None, r_note=None)[source]
evans.metmod.metric_modulation(metronome_mark=((1, 4), 60), left_note=Note("c'8"), right_note=Note("c'8."), modulated_beat=Note("c'4"))[source]

Makes metric modulation markup.

>>> m = evans.metric_modulation(
...     metronome_mark=((1, 4), 96),
...     left_note=(abjad.Tuplet(multiplier=(5, 3), components=[abjad.Note()])),
...     right_note=(abjad.Note("c'4")),
...     modulated_beat=(abjad.Note("c'4")),
... )
>>> staff = abjad.Staff("c'1")
>>> abjad.attach(m, staff[0])
>>> score = abjad.Score([staff])
>>> moment = "#(ly:make-moment 1 25)"
>>> abjad.setting(score).proportional_notation_duration = moment
>>> file = abjad.LilyPondFile(
...     items=[score],
...     includes=["/Users/evansdsg2/abjad/docs/source/_stylesheets/abjad.ily"],
...     global_staff_size=16,
... )
>>> abjad.show(file)  
>>> m = evans.metric_modulation(
...     metronome_mark=((1, 4), 96),
...     left_note=(abjad.Note("c'4.")),
...     right_note=(abjad.Note("c'4")),
...     modulated_beat=(abjad.Note("c'4")),
... )
>>> staff = abjad.Staff("c'1")
>>> abjad.attach(m, staff[0])
>>> score = abjad.Score([staff])
>>> moment = "#(ly:make-moment 1 25)"
>>> abjad.setting(score).proportional_notation_duration = moment
>>> file = abjad.LilyPondFile(
...     items=[score],
...     includes=["/Users/evansdsg2/abjad/docs/source/_stylesheets/abjad.ily"],
...     global_staff_size=16,
... )
>>> abjad.show(file)  
>>> m = evans.metric_modulation(
...     metronome_mark=((1, 4), 71),
...     left_note=(
...         abjad.Tuplet(multiplier=(10, 9), components=[abjad.Note("c'16")])
...     ),
...     right_note=(abjad.Note("c'16")),
...     modulated_beat=(abjad.Note("c'4")),
... )
>>> staff = abjad.Staff("c'1")
>>> abjad.attach(m, staff[0])
>>> score = abjad.Score([staff])
>>> moment = "#(ly:make-moment 1 25)"
>>> abjad.setting(score).proportional_notation_duration = moment
>>> file = abjad.LilyPondFile(
...     items=[score],
...     includes=["/Users/evansdsg2/abjad/docs/source/_stylesheets/abjad.ily"],
...     global_staff_size=16,
... )
>>> abjad.show(file)  
>>> m = evans.metric_modulation(
...     metronome_mark=((1, 4), 40),
...     left_note=(abjad.Tuplet(multiplier=(2, 3), components=[abjad.Note("c'2")])),
...     right_note=(abjad.Note("c'2")),
...     modulated_beat=(abjad.Note("c'4")),
... )
>>> staff = abjad.Staff("c'1")
>>> abjad.attach(m, staff[0])
>>> score = abjad.Score([staff])
>>> moment = "#(ly:make-moment 1 25)"
>>> abjad.setting(score).proportional_notation_duration = moment
>>> file = abjad.LilyPondFile(
...     items=[score],
...     includes=["/Users/evansdsg2/abjad/docs/source/_stylesheets/abjad.ily"],
...     global_staff_size=16,
... )
>>> abjad.show(file)  
evans.metmod.mixed_number(fraction_pair=(288, 5))[source]