mcp_opendaw_extract_rhythm
Extract rhythmic patterns from note regions, including onset grids, syncopation scores, inter-onset intervals, and rhythm density. Use to analyze groove or compare rhythms.
Instructions
Extract rhythmic pattern from notes — onset grid, syncopation, IOI.
Returns a rhythmic analysis of notes in a region:
Onset grid: binary pattern showing which grid positions have note onsets
Inter-onset intervals (IOI): time between consecutive note starts
Syncopation score: how much the rhythm emphasises weak beats (0-1)
Rhythm density: fraction of grid positions with onsets
Rhythm string: compact representation (x=onset, .=rest)
Swing factor: ratio of odd vs even 16th positions
Grid resolutions:
"16th" — 16 positions per bar (default, most common)
"8th" — 8 positions per bar
"32nd" — 32 positions per bar (fine detail)
"quarter" — 4 positions per bar (coarse)
Useful for:
Understanding a rhythm before cloning it to another track
Measuring syncopation (high = funky, low = straight)
Extracting groove for groove_transfer
Comparing rhythms between sections
Feeding rhythm to generate_melody (rhythm param)
unit_index: AU index. track_index: Note track index. region_index: Region (-1 = first region). grid: Grid resolution (16th/8th/32nd/quarter).
Returns rhythm analysis.
Example: rhythm = extract_rhythm(0, 0, grid="16th")
onset_grid, syncopation, ioi, rhythm_string
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | 16th | |
| unit_index | Yes | ||
| track_index | Yes | ||
| region_index | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |