mcp_opendaw_apply_genre_humanization
Add genre-appropriate timing and velocity variations to arrangement tracks to humanize robotic MIDI. Jazz uses swing and loose timing, funk uses behind-the-beat pocket, electronic genres stay tight.
Instructions
Apply genre-aware humanization to arrangement tracks — makes programmed MIDI feel alive.
After creating an arrangement, notes are perfectly quantized — robotic. This tool applies genre-appropriate humanization: jazz gets loose timing and wide velocity variation, electronic genres stay tight with minimal variation, funk gets behind-the-beat pocket feel.
Each genre has a different humanization recipe:
Jazz: high timing variation (0.20), high velocity variation (0.20), swing 0.66 (classic jazz swing feel). Drums get the most humanization.
Funk: behind-the-beat timing (positive bias), medium velocity variation, swing 0.0 (straight 16ths but with pocket feel).
Rock: medium timing (0.10), medium velocity (0.12), no swing. Drums get slight push, bass stays tight.
Reggae: laid-back timing (positive bias, behind beat), medium velocity, no swing. Bass stays tight (it's the lead), drums get loose.
Pop: very subtle (0.05 timing, 0.08 velocity), no swing. Pop should sound polished, not loose.
DnB/House/Techno/Trance/Synthwave/Dubstep/Trap: minimal humanization. Electronic genres should sound tight and consistent. Timing 0.03, velocity 0.05, no swing.
Afrobeat: medium timing (0.12), medium velocity (0.15), no swing. Polyrhythms need some human feel but stay grounded.
Disco: subtle timing (0.06), medium velocity (0.10), no swing. Disco should sound tight but not robotic — live drummer feel.
genre: One of: dnb, house, trap, techno, dubstep, afrobeat, rock, jazz, pop, funk, reggae, synthwave, trance, disco unit_index: AU index with the arrangement tracks. drum_track / bass_track / harmony_track / melody_track: Track indices. has_4th_track: True if arrangement has 4 tracks (False for 3-track genres).
Returns humanization parameters applied per track.
Example:
After: create_jazz_arrangement(...)
apply_genre_humanization("jazz", unit_index=0)
After: create_dnb_arrangement(...)
apply_genre_humanization("dnb", unit_index=0, has_4th_track=False)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| genre | Yes | ||
| bass_track | No | ||
| drum_track | No | ||
| unit_index | No | ||
| melody_track | No | ||
| harmony_track | No | ||
| has_4th_track | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |