Manual
The Piano Roll and Step Grid
Opening
Double-click a MIDI clip to open the piano roll in the bottom band. ⇧⌘M inserts an empty MIDI clip (spanning your time selection, or one bar at the playhead) on the selected instrument track and lands you straight in the roll. On a Drum Kit track the roll folds to drum view — one named row per kit piece instead of a keyboard. A clip whose left edge you trimmed in the arrangement opens correctly too: the roll shows the part that still plays, lined up with the ruler and the playhead.
A looping clip (anything from the Loop Deck) opens on one pass of its loop — that is the part there is to edit — and the playhead cycles through it while the arrangement plays the repeats.
Notes
- Double-click empty space — add a note, exactly one grid cell long (or the length you last hand-resized to), snapped to the clicked cell.
- Double-click or right-click a note — delete it.
- Click selects (⇧-click toggles into the multi-selection); drag empty space — marquee select.
- Drag a selected note — move the whole selection in pitch and time; drag either edge — trim/resize the selection; ⌥-drag — copy first. A bar too narrow to hold both edge zones is a move target only, so a short note zoomed out can still be dragged rather than only resized — zoom in to trim it.
- One pitch never holds two overlapping notes — overlaps resolve when you release the gesture, not while you're passing over.
- Keyboard: ← / → nudge by a grid step; ↑ / ↓ transpose a semitone (⇧ = octave); Delete removes; ⌘D duplicates after the selection's span; ⌘A selects all notes that have a row — a folded view (FOLD, or a drum clip playing a pitch the kit has no pad for) draws only some of them, and the rest are left out rather than silently joining the group and being moved or deleted with it; Esc deselects. (While the roll has focus these override the app-wide meanings; anything else falls through. Delete and ⌘D belong to the roll even with nothing selected — they never reach the arrangement's delete-clip / duplicate-clip.)
- Moving, nudging and transposing a selection are rigid: the group stops when its first member reaches beat 0, the clip's end, or pitch 0/127 — it never bunches up there.
- Trimming a note's left edge never lengthens it to reach the grid: a note already shorter than the current division (a recorded one, or one drawn on a finer grid) simply holds.
- ⌘U quantises the clip (grid/strength/swing via the clip menu's Quantize entries).
- Clicking a key (or drum-row name) auditions it through the track's instrument — drag for a glissando (the key under the pointer lights, and the bare space below the last row of a folded roll does nothing rather than sounding the bottom pad); placing/dragging notes sounds them too (toggleable with the headphone button).
Header controls
The header is the Sampler editor's title bar: the clip name on the left, the instrument tag (MIDI / DRUM KIT, or the selection count) and the controls as bare text chips on the right — SCALE (default on — highlights the song key on the keyboard and snaps drawn/dragged notes to it; appears once the song has a key) · FOLD (melodic clips: show only used pitches) · the grid picker (1 bar down to 1/32 plus 1/4T, 1/8T, 1/16T) · ✕. In the key-column corner: Aa note-name labels (melodic clips only — a drum roll's rows are already named) · the headphone audition toggle.
The lane (velocity and controllers)
The bottom lane switches between five modes via its chip: Velocity, Mod (CC1), Pitch Bend, Expression (CC11), Cutoff (CC74).
- Velocity mode: per-note stems with handles; drag to paint a sweep; dragging a selected note's bar moves the whole selection's velocities together. Grabbing picks the handle you point at, so a chord's voices are separable by height, and the lane only ever shows and edits the pitches the grid above is showing.
- CC/bend modes: an editable point curve — click to add, drag to move (snapped unless ⌥/⌘), ⌥-click to delete. A point dragged onto another takes its place, the way a note does.
- These lanes are audible by default: every new WOOLLY patch ships with CC74 wired to filter cutoff, CC11 to oscillator level, CC1 to vibrato depth, and 12-semitone pitch bend; the Sampler answers the same four lanes directly.
Zoom and scroll
Horizontal zoom 1×–64× under the cursor (⌘-wheel or pinch); ⇧-wheel pans; vertical zoom via ⌥-wheel or a sideways drag on the key column; dragging the beat ruler scrub-zooms (down = in, up = out, sideways = pan; double-click = fit). In a folded view (a drum kit, or FOLD on a melodic clip) the wheel — plain or ⌥ — scrolls the rows whenever there are more of them than fit, so shrinking the band still leaves the kit's lower pieces reachable. The roll has its own loop brace strip mirroring the transport loop in clip-relative beats. Bar lines and ruler labels follow the song's time signature, including a meter change part-way through the clip.
The Step Grid
Double-click a step clip (drum patterns) to open the Step Grid — a classic drum machine: rows are the kit's pieces (GM-named), columns are steps shaded in beats.
- Every cell carries a faint edge whether it is on or off, and the one under the pointer brightens — so you can see where a step begins before you commit to it.
- Click a cell — on (velocity 100); click again — off.
- Drag vertically — velocity (brightness/height).
- ⌥-drag — gate length (0.1–1.5 beats, legato past a step).
- Right-click a lit cell — probability: 100 / 75 / 50 / 25 % (hatched below 100).
- 8/16/32 step count; + Channel adds a row on any MIDI note.
Every cell edit uses the same command the agent's step.program / step.set_cell use — you and the engineer are programming the same grid.
What's deliberately elsewhere
Chord progressions (chord.set) and humanise (midi.set_velocity) are agent/command surface rather than roll gestures; quantise has no button (⌘U); per-note MPE expression authoring is not built (MPE channel routing exists via midi.set_mpe).
Zammoth is a DAW for Apple silicon Macs with an AI audio engineer built in. The beta opens soon.
Join the beta