How drum-pitch resolution works
When Vibrai writes a drum note, it resolves the part’s pitch down a ladder, stopping at the first rung that answers:- Project drum map — an explicit
part → pitchoverride you set (below). - Pad name — if the loaded rack has a pad named like the part (e.g. a
Snarepad), use it. - General MIDI — the GM percussion pitch for the part, if that pad is populated.
- Snap — the nearest populated pad (ties resolve downward).
- GM floor — a last-resort default (36 for drums, 39 for percussion).
Pin a part to a pad
1
Inspect the current map
A fresh project has an empty map — everything is automatic.
2
Set one or more overrides
Entries are Mapped pitches win over pad-name matching the next time you generate. To move notes you have already written, retarget them (below).
part=pitch, merged into any existing map. Valid part keys: bd, snare, hi_hat, hi_hat_plus, percussion, crash, fill, roll, drums. Pitches are 0–127.3
Clear overrides you no longer want
Pass part keys to remove just those; omit them to clear the whole map.
Swap a kit without re-generating
Loading a different drum rack usually moves the pads around, so notes you already wrote trigger the wrong sounds. Retarget re-resolves every drum part against the current kit and moves the already-written notes — in both session and arrangement clips — from their last-generated pitch to the new one, server-side.1
Preview the change (dry run)
A dry run reports how many notes would move, per track, without writing anything. Always look first.Omit
--track / tracks to retarget every drum track in the project.2
Apply it
Re-run with the dry-run flag off to remap and save.
Notes & limits
- Retarget only moves notes Vibrai generated with this feature. A track with no recorded per-part pitch (hand-authored notes, or notes from before pad-resolution shipped) is skipped with a warning. Move those with
vibrai note remap/remap_pitch, which rewrites a specific pitch to another and preserves every other note field. - The map is per project. It lives in the
.vibraifile, keyed by project, not by wire position — reopening the set keeps your overrides. - Map, then generate; or generate, then retarget. Setting a map changes future generation; retarget fixes existing notes. They compose — set an override and retarget to apply it to what’s already there.
note remap.