drumseqz

drumseqz · modulation · schema v1

4-channel x 16-step drum sequencer with per-track Euclidean fills + quantized CV. Sister module to RIOTGIRLS.

A four-track drum/trigger sequencer: four independent rows of steps (16 visible per page, up to 128 across 8 pages) that all share one playhead and one tempo. Each row emits its own gate + pitch pair, so it's the natural drive for a four-voice drum rack (it pairs with RIOTGIRLS' four voices). Per step in a row you set on/off and an optional pitch (a lit step with no note plays the row's root note), and each row also has a Euclidean fill that scatters N evenly-spread hits across the page for instant rhythms. The playhead steps on its own BPM clock or on an external clock fed into CLOCK IN, with swing to shuffle the feel; a transport row plus the CV inputs (play / reset / queue) let you drive and switch four saved patterns hands-free.

the faceplate

drumseqzplay_cvgatereset_cvgatequeue1_cvgatequeue2_cvgatequeue3_cvgatequeue4_cvgateclockgategate1gatepitch1pitchgate2gatepitch2pitchgate3gatepitch3pitchgate4gatepitch4pitchclockgateaudiocvgatepitch
7 inputs · 9 outputs · 18 params

inputs

idcablewhat it does
play_cvgateA rising edge toggles play/stop (each pulse flips the current run state); when patched it takes priority over the clock-as-play behavior.
gate / trigger
reset_cvgateA rising edge snaps the playhead back to step 1 and restarts the loop for all four tracks at once.
gate / trigger
queue1_cvgateA rising edge queues quicksave slot 1: it finishes the current loop, then switches to that saved pattern and restarts from step 1 (does nothing if the slot is empty).
gate / trigger
queue2_cvgateA rising edge queues quicksave slot 2 — applied at the end of the current loop, then plays that pattern from step 1 (no-op if the slot is empty).
gate / trigger
queue3_cvgateA rising edge queues quicksave slot 3 — applied at the end of the current loop, then plays that pattern from step 1 (no-op if the slot is empty).
gate / trigger
queue4_cvgateA rising edge queues quicksave slot 4 — applied at the end of the current loop, then plays that pattern from step 1 (no-op if the slot is empty).
gate / trigger
clockgateExternal clock: each rising edge advances the shared playhead exactly one step. While anything is patched here the internal BPM is ignored and the incoming pulses set the pace (and act as the play signal); unpatch to fall back to the BPM clock.
gate / trigger

outputs

idcablewhat it does
gate1gateTrack 1's gate: goes high on each lit step of row 1 (low on rests and off-steps), staying high for the fraction of the step set by the gate-length control. Patch into a drum voice's trigger or an envelope.
gate / trigger
pitch1pitchTrack 1's pitch CV (V/oct): the lit step's note if it has one, otherwise track 1's root note, transposed by the track and global octave controls.
V/oct pitch CV
gate2gateTrack 2's gate — high on each lit step of row 2, shaped by the gate-length control.
gate / trigger
pitch2pitchTrack 2's pitch CV (V/oct): the step's note, or track 2's root note, plus the octave offsets.
V/oct pitch CV
gate3gateTrack 3's gate — high on each lit step of row 3, shaped by the gate-length control.
gate / trigger
pitch3pitchTrack 3's pitch CV (V/oct): the step's note, or track 3's root note, plus the octave offsets.
V/oct pitch CV
gate4gateTrack 4's gate — high on each lit step of row 4, shaped by the gate-length control.
gate / trigger
pitch4pitchTrack 4's pitch CV (V/oct): the step's note, or track 4's root note, plus the octave offsets.
V/oct pitch CV
clockgateA short ~10 ms pulse fired on every step advance, regardless of which steps are lit — the 'I just stepped' signal. Patch it into another sequencer's clock in to chain them in lockstep.
gate / trigger

params

idlabelrangedefaultcurve
bpmBPM30..300120linear
lengthLen1..12816discrete
octaveOct-2..20discrete
gateLengthGate0.1..0.950.5linear
swingSw0..0.750linear
isPlayingPlay0..10discrete
trk1_euclidT1E0..160discrete
trk1_rootT1R33..114discrete
trk1_octaveT1O-2..20discrete
trk2_euclidT2E0..160discrete
trk2_rootT2R33..114discrete
trk2_octaveT2O-2..20discrete
trk3_euclidT3E0..160discrete
trk3_rootT3R33..114discrete
trk3_octaveT3O-2..20discrete
trk4_euclidT4E0..160discrete
trk4_rootT4R33..114discrete
trk4_octaveT4O-2..20discrete

controls

controlwhat it does
BPMInternal tempo in beats per minute (each step is a 16th note, so the step rate is 4× the BPM), used only when nothing is patched into CLOCK IN; with an external clock patched it no longer sets the pace.
Drumseqz pitch {n}A step's per-step note OVERRIDE — the editable pitch box inside each track's step cell (next to that step's gate toggle). Type a note name (e.g. C3, F#4, Bb2) or focus it and use the arrow keys to fly across the track grid; Enter commits and advances to the next step's box. Leaving it EMPTY (the default) makes the step fall through to that track's ROOT note, so an unfilled drum row just plays its root on every hit; filling it in pitches that single step independently (handy for tom runs or melodic per-step lines on a track). The note feeds the track's PITCH out as V/oct, shifted by the track and global octave controls.
GateHow much of each step every track's gate stays high, from a short 10% trigger to a near-legato 95% (it always closes just before the next step).
PlayThe run/stop state: 1 plays, 0 stops and forces every gate low. Starting playback snaps the playhead back to step 1. (With an external clock patched, the clock edges can drive stepping even while this reads stopped.) Same control as the card's PLAY button.
LenHow many steps the playhead walks before wrapping back to step 1; raising it past 16 reveals more pages, lowering it shortens the loop (steps beyond the length still hold their data but are skipped and shown dimmed).
OctGlobal octave transposition added on top of every track's own octave offset (-2 to +2), shifting all four rows together.
SwShuffles the rhythm by lengthening the on-beat steps and shortening the off-beat steps after them, pushing the off-beats later for a looser feel; 0 is dead-straight, higher values deepen the shuffle. Internal-clock only.
T1ETrack 1's Euclidean fill: 0 leaves the row's hand-drawn pattern alone; 1..16 replaces the page with that many hits spread as evenly as possible across the 16 steps (the classic Euclidean rhythm), repeated on every page.
T1OTrack 1's octave offset, added after the note-to-V/oct conversion (-2 to +2), on top of the global octave.
T1RTrack 1's root note (MIDI 33..114) — the pitch a lit step plays when that step has no note of its own.
T2ETrack 2's Euclidean fill: 0 keeps the hand-drawn row; 1..16 spreads that many hits evenly across the page.
T2OTrack 2's octave offset, added on top of the global octave (-2 to +2).
T2RTrack 2's root note (MIDI 33..114) — used when a lit step has no note of its own.
T3ETrack 3's Euclidean fill: 0 keeps the hand-drawn row; 1..16 spreads that many hits evenly across the page.
T3OTrack 3's octave offset, added on top of the global octave (-2 to +2).
T3RTrack 3's root note (MIDI 33..114) — used when a lit step has no note of its own.
T4ETrack 4's Euclidean fill: 0 keeps the hand-drawn row; 1..16 spreads that many hits evenly across the page.
T4OTrack 4's octave offset, added on top of the global octave (-2 to +2).
T4RTrack 4's root note (MIDI 33..114) — used when a lit step has no note of its own.

source

drumseqz.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo