Clip player + monome grid
The clip player is an Ableton-Session-style clip launcher with 8 instrument lanes. Each row is one instrument with its own pitch / gate / velocity outputs, so up to 8 clips sound at once. It locks to TIMELORDE (the rack clock) and you can run the whole thing — launch, scene, and even write notes — from a monome grid 128 over WebSerial, with no companion app and no serialosc.
This is the illustrated guide for the clip player module. For its auto-generated port / param / source reference, see the clip player module page →
The mental model in one minute
- Rows = instruments (8 lanes), columns = clip slots (8 per instrument) → 64 note clips.
- Launch a clip and it swaps into its lane on the next loop boundary (or instantly). Each lane plays one clip at a time; launching a new one replaces it.
- A scene is a column — fire it and every instrument launches its clip in that column together.
- No tempo knob. The clock is TIMELORDE: it runs when TIMELORDE runs, at TIMELORDE's BPM. The only timing control is STEP (steps per beat).
- Clips can be different lengths (1–128 steps, each independent). Lanes free-run as a POLYMETER — a 16-step clip against a 17-step clip drifts in and out of phase — and they all re-align to step 0 on the transport downbeat (press ▶), so a fresh start is always phase-locked.
- Song mode records the launches you perform into an arrangement and plays them back — a linear song built from your live session. (jump to song mode ↓)
Quick start (no grid needed)
- Add a clip player (right-click the canvas → Audio → sequencers). It also drops a TIMELORDE if your rack doesn't have one.
- Double-click a pad in the card's 8×8 grid to open its note
editor. Click a cell to place a note, click again to remove it (rows = pitch, in-key; columns = step). Right-click a cell to cycle its velocity through the 6 levels. Use
‹to return to the launch grid. - Wire that lane to a voice: open the card's PATCH PANEL (the yellow
corner) and patch
PITCH 1→ a VCO's pitch andGATE 1→ a VCA's CV (VCO → VCA → output). PatchVEL 1into the VCA/ADSR amount for dynamics. Lanes 2–8 work the same on their ownPITCH/GATE/VEL n. - Press ▶ on the card (it starts TIMELORDE), then single-click the clip's pad to launch it. With
QNTon it drops in on the loop boundary; off = immediately. Click the playing pad to stop the lane; ■ stops everything.
If TIMELORDE is slaved to an external clock (a MIDICLOCK into its start/stop), the card's ▶/■ transport hides — you follow the upstream master instead of fighting it.
The card
- Session view (default) — the 8×8 launch grid (rows lane-tinted). Single-click = launch / queue / stop; double-click = open the editor. A small 1/5 button to the left of each row toggles that instrument lane between MONO (one note per column — placing a note replaces what's there) and POLY (up to 5 notes per column).
- Edit view — a piano-roll note editor for one clip: X = step, Y = pitch (scale-degree rows in-key, root at the bottom). Click to place a note (click again to remove); right-click to cycle its velocity through 6 levels. Cycle scale, set root, change length (16/32/64/128/8; up to 128 steps), scroll the pitch window by a row (
↑/↓) or an octave (⤒/⤓), or⌫clear the clip. A playhead column tracks the beat while the lane plays. Audition the clip without leaving the editor with the NOW / QUEUE buttons at the bottom-right (see below ↓). - Params —
STEP(1/4 · 1/8 · 1/16 · 1/32 = steps per beat),OCT(transpose all lanes),GATE(note duty cycle),QNT(quantize launch to the loop boundary). - Transport —
▶/■drives TIMELORDE (hidden when externally clocked);■in the title bar stops all lanes;GRIDconnects a monome grid.
Connecting a monome grid
Requirements: a Chromium browser (Chrome / Edge / Brave — WebSerial isn't in Safari) and a classic FTDI monome grid 128 (the 2011–2017 varibright editions; the newer USB-C edition isn't supported yet).
- Plug the grid in over USB.
- On the card, click GRID and pick the grid's serial port in the prompt. The list shows all serial ports (macOS reports the grid without USB vendor info, so it can't be auto-filtered) — choose the
usbserial/ monome entry. - The card is now bound to the grid (remembered per machine). Click GRID again to disconnect.
The grid is your hardware — serial I/O + LEDs are local to your browser. Which clips are playing syncs to everyone in the rack, so collaborators (and a second grid) see the same session.
Grid layout (Session mode)
16 wide × 8 tall. Cols 0–7 = the clip matrix (each row a tinted instrument lane). Col 8 = per-lane STOP, col 9 = SCENE launch (row y fires slot y across all lanes). Top-right E = EDIT, plus ⊘ stop-all and ▶ transport in the bottom-right.
Driving it from the grid
- Press a clip pad → launch it in its lane (or stop the lane if it's the one playing). Quantized to the lane loop when
QNTis on. - Press the SCENE column (col 9, row y) → fire slot y across all 8 lanes at once (empty lanes stop).
- Press the STOP column (col 8, row y) → stop lane y.
- ⊘ stops every lane; ▶ toggles TIMELORDE.
Copy / paste clips on the pads
The right column carries three held modifiers (hold-and-tap, never sticky): COPY, PASTE and PASTE↺ (paste-reversed).
- Hold COPY + tap a clip → grab a structural copy of it into a per-machine clip buffer (a clipboard — local to your grid, never written to the shared rack). The buffer indicator just below COPY pulses while the buffer holds a clip.
- Hold PASTE + tap a slot → drop the buffer into that slot (creating it if empty, overwriting if not), as one undoable change. Pasting into a currently-playing lane takes effect at that lane's next loop boundary.
- Hold PASTE↺ + tap a slot → paste a time-reversed copy of the buffer (held notes keep their length, re-anchored to the mirrored end).
Precedence if you somehow hold more than one: EDIT > COPY > PASTE. The buffer survives reconnecting the grid, so you can copy a riff once and paste it across the whole bank.
Editing a clip on the pads (hands-only)
Hold the EDIT pad (session, top-right) + tap a clip → the grid becomes that clip's note editor: the top 7 rows = pitch (in-key, one octave; root at the bottom), all 16 columns = steps, and the bottom row is a function row.
- Tap a cell → note ON; tap it again → note OFF.
- Hold a note + tap another in the same row → one HELD note spanning them (the gate stays high the whole time).
- Hold VEL + tap a note → step its velocity UP one level (wrapping 100% → 0%). Six levels ≈ 0/20/40/60/80/100%, shown on the grid as three note colours — two levels per colour:
0% is a ghost note — the gate/note still fire, but the velocity
CV is 0 (silent into a velocity-driven VCA). The six levels span the full 0..1
velocity-CV range, so patching VEL n into a sustain/level amount
(e.g. MOOG 911 sustain) gives a real, drastic dynamic range.
The function row (bottom), with spacer gaps for legibility: EDIT (tap to exit) · VEL (hold to set velocity) · gap · ROW− · OCT− · gap · ROW+ · OCT+ · gap · SCALE · gap · FOLLOW · ◀ · ▶ · x2 · LEN. ROW± nudge the 7-row pitch window by a single scale-degree row; OCT± move it a whole octave. SCALE cycles the clip's scale (major → minor → pentatonic → chromatic); chromatic makes each row a semitone, so in-key notes spread further apart vertically (use ROW/OCT to reach the ones that scroll off). While the clip plays, the current step column lights up and sweeps across — the tempo pulsing through the clip.
Long patterns — pages, FOLLOW, DOUBLE
A clip can be up to 128 steps, edited as up to 8 pages of 16. The pad columns always show one 16-step page.
- FOLLOW (default on, steady-lit) auto-scrolls the shown page along with the playhead, so the moving pulse always stays on screen. ◀ / ▶ are no-ops while following (dim).
- Tap FOLLOW to FREEZE on the current page (it flashes); now ◀ / ▶ page left/right (dim/no-op at the ends). Tap FOLLOW again to resume and snap straight back to the live playhead page.
- x2 (DOUBLE) doubles the clip length and copies the first half into the new second half — instant "make it twice as long, same again." It's a no-op at 128 steps.
Setting the length (the LEN page)
LEN opens a dedicated 2-row length editor. The top row picks which 16-step block the pattern ends in (tap block C → length C×16; the far-right pad EXITs back to the note editor); the second row trims to the exact last step inside that block — so length 113 is "block 8, then step 1." Setting length is non-destructive: notes past the new end simply stop sounding but are kept, and they return the moment you lengthen the clip again.
Per-lane MONO/POLY is set on the card (the 1/5 button left of each launch row), not on the grid. In a mono lane, placing a note in a column that already holds one replaces it; a poly lane caps at 5 notes per column (the poly voice width) and re-uses the oldest when you add a 6th.
Auditioning the clip you're editing
You don't have to leave the editor to hear your work. The bottom-right of the note editor has two launch buttons that target this clip's lane and slot:
- NOW (left) — jump straight into the clip immediately, mid-loop, ignoring
QNT. It lights green while this clip is the one playing in its lane. Use it to hear an edit the instant you make it. - QUEUE (right) — arm the clip to drop in on the lane's next loop boundary (it follows
QNT); it pulses amber while armed, then plays in time. Use it to audition in-tempo with whatever else is running.
Song mode — record your launches into an arrangement
The clip player has two transports. Everything above is SESSION — you launch clips live and they loop. Song mode adds an ARRANGEMENT: a linear timeline of the clip launches you performed, over song time, that the transport plays back. Record a session take, then replay it — the arrangement is your performance, captured launch-for-launch.
Two small buttons on the card header drive it:
- REC — arm recording. While it's armed and the transport is running, every launch you make (a clip pad, a scene, a stop — from the card or the grid) is appended to the arrangement at the song-beat you heard it apply (not the beat you clicked), so playback reproduces exactly what you heard. The record-mode toggle (the RPL/OVR pill next to REC on the card) chooses: in REPLACE (default) arming clears the old arrangement and records fresh; in OVERDUB arming keeps the existing take and merges new launches into it by song-beat.
- SES ⇄ ARR — flip the playback transport between SES session (launch live) and ARRangement (play the recorded song). In ARR the button shows the captured event count, and a read-only song view appears under the header — an 8-lane × song-time timeline with one block per clip and a playhead sweeping across as it plays.
Switching mid-clip (the "NOW" override)
QNT stays the default — launches land on the lane's loop boundary
so everything stays in phase. To break a clip immediately, mid-loop, Shift-click the clip on the card (or turn QNT off
for launch-now everywhere). An immediate switch is captured into the
arrangement tagged as such, so the recorded song reproduces the off-boundary
timing exactly — quantized launches replay quantized, NOW launches replay NOW.
The arrangement (and which mode you're in) lives in the shared rack state, so collaborators see the same recorded song. For v1 the REC arm is single-recorder — one person records a take at a time; multi-recorder overdub is a later phase.
LED feedback
| State | LED | Meaning |
|---|---|---|
| Empty | level 0 | no clip in this slot |
| Loaded | level 6 | a clip lives here, stopped |
| Queued | level 12 | blinks until the lane loop boundary, then plays |
| Playing | level 15 | running now (blinks down when a stop is queued) |
| STOP col | level 12 | col 8 — brighter on a lane that is playing |
| SCENE col | level 4 | col 9 — fire a whole column across all lanes |
| EDIT | level 5 | top-right — hold + tap a clip to edit it |
| TRANSPORT | level 15 | bottom-right — bright while TIMELORDE runs |
Ports & params reference
| Port | Type | What it does |
|---|---|---|
stop_all (in) | gate | a rising edge stops every lane at once |
pitch1…8 | poly V/oct | each lane's launched-clip pitch (chords fan out across poly lanes; a mono pitch sink receives lane 0) |
gate1…8 | gate | each lane's note gate — high while a note sounds |
vel1…8 | cv | each lane's per-note velocity, 0..1 (patch into a VCA / ADSR amount) |
| Param | Range | What it does |
|---|---|---|
STEP | 1/4 · 1/8 · 1/16 · 1/32 | steps per TIMELORDE beat (1/16 default) |
OCT | −2…+2 | octave transpose applied to all lanes |
GATE | 0.1…1 | note gate duty cycle (fraction of the step a note holds) |
QNT | off / on | quantize launch to the lane loop boundary (off = launch now) |
All ports live on the card's yellow drill-down PATCH PANEL — there are no side jacks. Every knob is MIDI / control-surface assignable (right-click → MIDI Learn).
What's next
- Song-mode editing — shipped: the song view is editable. Drag a clip block to retime it in time (bar-snapped), click to select then cycle/delete it, and nudge the loop length in bars — in the in-card timeline or the full-window pop-out arranger editor (the "ARR ⤢" button). Blocks are derived from the recorded event log, so editing maps straight back onto it. Next: cross-lane (vertical) moves + per-note editing inside the pop-out.
- Overdub — shipped: the RPL/OVR record-mode toggle layers a new take onto an existing arrangement (REPLACE clears + records fresh; OVERDUB keeps the take + merges by song-beat). Next: surfacing OVERDUB on the Launchpad/grid controls + multi-recorder song-building.
- On-grid song overview (Phase 3) — scrub and see the arrangement on the pads (monochrome presence/position on a monome; colour-coded blocks on an RGB Launchpad).
- More clip kinds — audio loops and patch snapshots alongside note clips, plus recording into slots.
What to read next
- clip player — the auto-generated port / param / source reference.
- kria — the faithful monome Kria step sequencer (the sibling module).
- Module catalog — every module, its I/O, params, source link.