abjad.metricmodulation
Metric modulation. |
- class abjad.metricmodulation.MetricModulation(left_rhythm: Any, right_rhythm: Any, hide: bool = False, left_markup: Markup | None = None, right_markup: Markup | None = None, scale: tuple[int | float, int | float] = (1, 1))[source]
Metric modulation.
With notes:
>>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c'8."), ... right_rhythm=abjad.Note("c'4."), ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
With tuplets:
>>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Tuplet("5:4", "c'4"), ... right_rhythm=abjad.Note("c'4"), ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
>>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c'4"), ... right_rhythm=abjad.Tuplet("5:4", "c'4"), ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
With tuplets again:
>>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c16."), ... right_rhythm=abjad.Tuplet("3:2", "c8"), ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
With ties:
>>> durations = [abjad.Duration(5, 16)] >>> pitches = [abjad.NamedPitch("c'")] >>> notes = abjad.makers.make_notes(pitches, durations) >>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c'4"), ... right_rhythm=notes, ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
With ties and tuplets:
>>> durations = abjad.makers.make_durations([(5, 16)]) >>> pitches = abjad.makers.make_pitches([0]) >>> notes = abjad.makers.make_notes(pitches, durations) >>> tuplet = abjad.Tuplet("3:2", notes) >>> abjad.makers.tweak_tuplet_bracket_edge_height(tuplet) >>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c'4"), ... right_rhythm=tuplet, ... )
>>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', metric_modulation]) >>> abjad.show(lilypond_file)
Attach metric modulations to generate score output:
>>> staff = abjad.Staff("c'4 d'4 e'4 f'4 e'4 d'4") >>> score = abjad.Score([staff], name="Score") >>> abjad.attach(abjad.TimeSignature((3, 4)), staff[0]) >>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Note("c4"), ... right_rhythm=abjad.Note("c8."), ... ) >>> abjad.attach(metric_modulation, staff[3], direction=abjad.UP) >>> abjad.override(staff).TextScript.staff_padding = 2.5 >>> lilypond_file = abjad.LilyPondFile([r'\include "abjad.ily"', score]) >>> abjad.show(lilypond_file)
Gets ratio of metric modulation.
- ratio
Gets ratio of metric modulation.
>>> metric_modulation = abjad.MetricModulation( ... left_rhythm=abjad.Tuplet("3:2", [abjad.Note("c'4")]), ... right_rhythm=abjad.Note("c'4"), ... ) >>> metric_modulation.ratio (2, 3)