mcp_opendaw_set_articulation
Set legato, staccato, or tenuto articulation for notes on selected tracks, controlling note spacing and overlap in openDAW.
Instructions
Set articulation for notes — legato, staccato, or tenuto.
Articulation defines how notes connect to each other — the space or overlap between consecutive notes. This is what makes strings sound smooth (legato) or plucky (staccato), and it's separate from pitch and velocity.
Three articulations:
"legato" — each note extends to the start of the next note (minus a micro_gap in PPQN for articulation separation). Notes flow into each other seamlessly. Use for smooth string lines, vocal phrases, wind instruments, lead melodies.
"staccato" — each note is shortened to staccato_ratio of the distance to the next note. 0.5 = half the gap, 0.25 = very short and detached, 0.75 = portato (lightly separated). Creates space between notes.
"tenuto" — each note holds to its full available duration (up to the next note's start, no gap). Slightly longer than legato — full value with no separation. Use for sustained passages, horn sustains.
The last note in each region keeps its original duration (no next note to reference). Notes at the same position (chords) are treated as one unit — they all get the same treatment based on the next distinct position.
unit_index: AU index (-1 = all AUs). track_index: Note track index (-1 = all note tracks on the AU). region_index: Region index (-1 = all regions on the track). articulation: "legato", "staccato", or "tenuto". staccato_ratio: For "staccato" — fraction of gap to fill (0.1-0.9, default 0.5 = half the available time). micro_gap: For "legato" — PPQN gap to leave between notes (default 20, ~1/48 of a beat). 0 = notes touch exactly. Higher = more separation.
Returns per-track notes adjusted, articulation type.
Example:
Smooth legato strings
set_articulation(unit_index=0, track_index=2, articulation="legato")
Crisp staccato — 30% of available time
set_articulation(unit_index=0, track_index=2, articulation="staccato", staccato_ratio=0.3)
Full tenuto — horns holding full value
set_articulation(unit_index=0, track_index=3, articulation="tenuto")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| micro_gap | No | ||
| unit_index | No | ||
| track_index | No | ||
| articulation | No | legato | |
| region_index | No | ||
| staccato_ratio | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |