mcp_opendaw_create_additive_rhythm
Create additive rhythms by dividing a bar into unequal note groups (e.g., 3+2+2) to produce irregular accent patterns and shifting meter. Configure grouping, note unit, repeats, pitch, and accents.
Instructions
Create an additive rhythm — unequal groupings within a bar.
The defining technique of Messiaen, Stravinsky, Bartok, Ligeti, and modern math rock / prog metal. Instead of dividing a bar into equal parts (eighth-eighth-eighth-eighth), the bar is divided into unequal groups (3+2+2 = 7 eighths, 2+3+2 = shifting accent, 5+3 = 8 eighths).
The resulting accent pattern creates a sense of irregular meter within a nominal time signature — the pulse "turns" inside the bar.
Examples: create_additive_rhythm("3+2+2", "eighth") -> 7 eighth notes grouped as 3-2-2, accents on notes 1, 4, 6 (Bartok "Bulgarian Rhythm", Math rock 7/8 feel) create_additive_rhythm("2+3+2", "eighth", repeats=4) -> shifting accent pattern, 4 bars create_additive_rhythm("5+3", "eighth", pitch="scale_up") -> 8 eighths in 5+3 grouping, ascending scale create_additive_rhythm("3+2+2", "sixteenth", repeats=2, decay=0.1) -> 7 sixteenths per bar, velocity decay within groups
Args: grouping: Plus-separated group sizes (e.g. "3+2+2", "5+3", "2+1+2"). Each number = count of notes in that group. Sum = total notes per bar. 2-6 groups, 2-16 notes total. unit: Note value — "eighth", "quarter", "sixteenth", "thirty_second". repeats: Number of bars (1-16). pitch: Pitch mode — "root" (same note), "scale_up" (ascending scale), "scale_down" (descending), "alternating" (up/down per note), "octave_bounce" (root->octave->root). scale: Scale for pitch modes (minor, major, dorian, phrygian, etc.). root: Root note (C, C#, D, ...). octave: Base octave (1-6). accent_mode: Where to place accents — "group_start" (first note of each group gets accent), "group_end" (last note), "every_note" (all same velocity). accent_velocity: Velocity for accented notes (0-1). normal_velocity: Velocity for non-accented notes (0-1). decay: Velocity decay within each group (0-0.3). Each subsequent note in a group gets slightly softer. unit_index: AU index. track_index: Note track index. start_beat: Starting beat position.
Returns notes created, grouping structure, accent pattern, and bar layout.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | C | |
| unit | No | eighth | |
| decay | No | ||
| pitch | No | root | |
| scale | No | minor | |
| octave | No | ||
| repeats | No | ||
| grouping | Yes | ||
| start_beat | No | ||
| unit_index | No | ||
| accent_mode | No | group_start | |
| track_index | No | ||
| accent_velocity | No | ||
| normal_velocity | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |