generate_chord_progression
Generate a diatonic chord progression as MIDI notes and write it directly into a clip in Ableton Live, with control over chords, voicing, rhythm, and key.
Instructions
Write a diatonic chord progression as MIDI notes into a clip.
Parameters:
track_index: Index of the MIDI track to write to
bars: Length of the progression in bars
clip_index: Session clip slot to write into (creates the clip if empty). Pass exactly one of clip_index / arrangement_start.
arrangement_start: Beat position in the Arrangement to create the clip at.
progression: Scale degrees to use, e.g. [1, 6, 4, 5]. If omitted, picks an idiomatic progression for the project's mode.
chord_size: 3 = triad, 4 = seventh chord, 5 = ninth, etc.
octave: Register for the chord roots (Ableton convention, C3 == MIDI 60)
voicing: "close", "open", or "drop2"
key: Optional {"tonic": ..., "mode": ...} override. Defaults to the project key.
rhythm: "sustained" (long chords), "stab" (short hits on downbeats), or "liquid" (sustained with slight overlap into the next chord)
user_prompt: The original user prompt that led to this tool call (for telemetry)
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"track_index": "<track_index>",
"bars": "<bars>"
},
"name": "generate_chord_progression"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| bars | Yes | ||
| octave | No | ||
| rhythm | No | sustained | |
| voicing | No | open | |
| chord_size | No | ||
| clip_index | No | ||
| progression | No | ||
| track_index | Yes | ||
| user_prompt | No | ||
| arrangement_start | No |