mcp_opendaw_create_metric_modulation
Create a metric modulation that changes tempo while keeping a note value duration equivalent, using note values or a ratio to compute the new BPM.
Instructions
Create a metric modulation — tempo change that preserves a note-value equivalence.
The defining technique of Elliott Carter, Aaron Copland, John Adams, and progressive rock (Dream Theater, Tool). Unlike a simple tempo change, metric modulation establishes a precise relationship: a specific note value in the new tempo has the same duration as a different note value in the old tempo. The listener perceives a new pulse while the rhythmic fabric remains continuous.
Formula: new_bpm = old_bpm × (new_note_value / old_note_value)
Supported note values:
"whole", "half", "dotted_half", "quarter", "dotted_quarter"
"quarter_triplet", "eighth", "dotted_eighth", "eighth_triplet"
"sixteenth", "dotted_sixteenth", "thirty_second"
Alternatively, pass a ratio like "3:2" (new tempo = 3/2 of old) or "2:3" (new = 2/3 of old) to express the modulation as a simple proportion.
Examples: create_metric_modulation(32, "quarter", "dotted_eighth", old_bpm=120) → new_bpm = 120 × (3/16) / (1/4) = 90 BPM. A dotted eighth at 90 lasts the same as a quarter at 120. create_metric_modulation(16, ratio="3:2", old_bpm=100) → new_bpm = 150. Three notes in new tempo = two in old. create_metric_modulation(48, "eighth", "quarter", old_bpm=140) → new_bpm = 280. Quarter at new tempo = eighth at old (doubling).
Args: position_beats: Beat position where modulation occurs. old_note: Note value in the old tempo (default "quarter"). new_note: Note value in the new tempo that equals old_note's duration (default "dotted_eighth" — classic Carter modulation). old_bpm: Current BPM. If 0, reads from the project's tempo track. ratio: Direct ratio "N:M" — new_bpm = old_bpm × N/M. Overrides old_note/new_note if provided. add_time_signature: Optional new time signature as "N/D" (e.g. "3/4", "6/8"). If provided, also creates a time signature change event at the same position.
Returns old_bpm, new_bpm, ratio, equivalence, and events created.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ratio | No | ||
| old_bpm | No | ||
| new_note | No | dotted_eighth | |
| old_note | No | quarter | |
| position_beats | Yes | ||
| add_time_signature | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |