mcp_opendaw_shuffle_notes
Randomly shuffle note pitches, rhythm, or both in a region to generate musical variations. Control shuffle amount, preserve first/last notes, and use seeded reproducibility.
Instructions
Shuffle note data randomly within a region.
Random permutation of notes — unlike rotate_notes (deterministic cyclic shift), this creates non-repeating orderings. Seeded for reproducibility: same seed = same shuffle.
Modes:
"pitches": shuffle which pitch goes to which position (keeps rhythm, changes melody). Most musical — generates melodic variations from existing note set.
"rhythm": shuffle which position+duration goes to which pitch (keeps pitches, changes rhythm). Reassigns onset times among existing pitch values.
"full": shuffle pitch + position + duration + velocity together (complete randomization of all note attributes).
"within_groups": shuffle pitches within groups of group_beats beats. Notes stay in their time window but pitches get randomized within each group. Creates localized variation.
Args: unit_index: Audio unit index track_index: Note track index region_index: Region index (-1 = first region) mode: Shuffle mode — "pitches", "rhythm", "full", "within_groups" seed: PRNG seed (0 = random each call, >0 = reproducible) shuffle_amount: 0.0-1.0, fraction of notes to shuffle (0=no change, 1=full shuffle, 0.5=shuffle half) preserve_first: Keep first note unchanged (anchor point) preserve_last: Keep last note unchanged (resolution point) group_beats: Group size in beats for within_groups mode (e.g. 4 = shuffle within each bar, 2 = within half bars)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | pitches | |
| seed | No | ||
| unit_index | Yes | ||
| group_beats | No | ||
| track_index | Yes | ||
| region_index | No | ||
| preserve_last | No | ||
| preserve_first | No | ||
| shuffle_amount | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |