mcp_opendaw_create_modulated_song
Create a multi-section song with automatic key modulation between sections. Specify each section's chord progression, bars, and energy level.
Instructions
Build a multi-section song with key modulation between sections — one call.
Each section has its own chord progression, length (bars), and energy (velocity multiplier). The tool automatically modulates between keys by using different progressions per section — no manual start_beat calculation needed.
sections: Comma-separated section specs. Each section format: name:progression:bars:energy
name: section label (verse, chorus, bridge, outro, etc.)
progression: chord progression string (e.g. "Am-F-C-G")
bars: total bars for this section
energy: velocity multiplier (0.0-1.0, relative to base velocity)
Default creates a 24-bar song: verse (Am-F-C-G, 8 bars, 0.7) → chorus (C-G-Am-F, 8 bars, 1.0) → bridge (F-C-Dm-G, 4 bars, 0.6) → outro (Am-F-C-G, 4 bars, 0.5)
The chorus modulates to C major (relative major of A minor), the bridge modulates to F (up a fourth), and the outro returns to Am.
arp_pattern/bass_pattern/melody_pattern/counter_melody_pattern: Same as create_harmonic_arrangement. Applied to all sections. Use "" to skip any layer.
drum_genre: If set (e.g. "house", "dnb", "synthwave"), creates a genre drum arrangement for the full song length BEFORE harmonic layers. When drum_genre is set, pads and bass are automatically skipped in harmonic sections (genre arrangement provides them). Default "" = no drums (harmony only). Valid: dnb, liquid_dnb, house, trap, techno, dubstep, afrobeat, rock, jazz, pop, funk, reggae, synthwave, trance, disco.
bpm: Tempo for drum arrangement (None = genre default). Only used when drum_genre is set.
Example:
Default 4-section modulated song (harmony only)
create_modulated_song()
With house drums
create_modulated_song(drum_genre="house", bpm=124)
With synthwave drums + counter-melody
create_modulated_song(drum_genre="synthwave", counter_melody_pattern="contrary")
Simple verse-chorus with DnB drums
create_modulated_song("verse:Em-G-D-C:8:0.7,chorus:G-D-Em-C:8:1.0", drum_genre="dnb")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | ||
| sections | No | verse:Am-F-C-G:8:0.7,chorus:C-G-Am-F:8:1.0,bridge:F-C-Dm-G:4:0.6,outro:Am-F-C-G:4:0.5 | |
| velocity | No | ||
| drum_genre | No | ||
| unit_index | No | ||
| arp_pattern | No | up | |
| bass_pattern | No | root | |
| melody_pattern | No | chord_tones | |
| counter_melody_pattern | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |