960 sequencer

moog960 · modulation · schema v1

960 Sequential Controller (moogafakkin System 55 clone — categorized under Ports -> moogafakkin). A 3-row x 8-step analog step sequencer. Each column has a knob per row (24 step pots); on each advance every row outputs its current column value as CV (row1/row2/row3), scaled by that row's RANGE (x1/x2/x4). Steps advance on an external CLOCK input (rising edge) or, when unpatched, an internal RATE clock; CLOCK OUT pulses each advance. Per-column NORMAL/SKIP/STOP switches skip a column or halt the run; START/STOP gate inputs reset/halt. v1; per-step trigger jacks, third-row-controls-timing, x2 parallel outs + 1V/oct clock CV deferred. Own-code (forks the repo sequencer). Beige moogafakkin faceplate (the intrinsic always-on look shared by the moogafakkin module family).

A clean-room recreation of the Moog 960 Sequential Controller — the System 55's analog step sequencer. It's a 3-row × 8-column grid of knobs: a single shared column pointer sweeps the 8 columns (steps), and on each advance every row outputs its current column's knob value as a held control voltage on ROW 1/2/3 OUT. So one pass of the sequence produces three parallel CV streams (e.g. ROW 1 → oscillator pitch, ROW 2 → filter cutoff, ROW 3 → VCA level), all stepping in lockstep. The pointer advances on each rising edge of an external CLOCK, or, when CLOCK is unpatched, at the internal RATE. Per-row RANGE switches scale that row's CV (×1/×2/×4), and a per-COLUMN MODE switch can make a step SKIP (jump past it) or STOP (halt holding that column) for non-linear patterns. A clock pulse is emitted on CLOCK OUT each advance for chaining. It auto-runs on placement. Mental model: three knob-banks read out a column at a time, like three sequencers sharing one playhead. Drive it from a clock (or its own internal rate) and patch the row outputs as stepped modulation/pitch.

the faceplate

960 sequencerclockgatestartgatestopgaterow1cvrow2cvrow3cvclock_outgateaudiocvgatepitch
3 inputs · 4 outputs · 1 params

inputs

idcablewhat it does
clockgateExternal clock: each rising edge advances the column pointer exactly one step. While anything is patched here the internal RATE is ignored and the incoming pulses set the pace; unpatch to fall back to the RATE knob.
gate / trigger
startgateA rising edge starts the sequencer running from column 1 (re-zeros the pointer and resumes advancing).
gate / trigger
stopgateA rising edge halts the sequencer; the pointer and the three row CVs hold their last column's values (an analog hold, not a reset).
gate / trigger

outputs

idcablewhat it does
row1cvRow 1's stepped control voltage: the current column's ROW 1 knob value, scaled by RANGE 1, held until the next advance. Patch it as pitch CV or any per-step modulation.
control voltage (CV)
row2cvRow 2's stepped control voltage: the current column's ROW 2 knob value × RANGE 2, held between steps.
control voltage (CV)
row3cvRow 3's stepped control voltage: the current column's ROW 3 knob value × RANGE 3, held between steps.
control voltage (CV)
clock_outgateA short (~10 ms) pulse fired on every column advance — the 'I just stepped' signal. Patch it into another sequencer's clock to chain them in lockstep.
gate / trigger

params

idlabelrangedefaultcurve
rateRate0.1..20Hz2log

controls

controlwhat it does
Mode1Column 1 MODE: NORMAL (play this step), SKIP (jump straight past it), or STOP (halt holding this column when the pointer lands here).
Mode2Column 2 MODE: NORMAL / SKIP / STOP.
Mode3Column 3 MODE: NORMAL / SKIP / STOP.
Mode4Column 4 MODE: NORMAL / SKIP / STOP.
Mode5Column 5 MODE: NORMAL / SKIP / STOP.
Mode6Column 6 MODE: NORMAL / SKIP / STOP.
Mode7Column 7 MODE: NORMAL / SKIP / STOP.
Mode8Column 8 MODE: NORMAL / SKIP / STOP — set this to make column 8 the loop's last step (STOP) or to shorten the run (earlier STOP/SKIP columns).
R1s1Row 1, step 1 level: the CV row 1 outputs when the pointer is on column 1 (0..1, before the RANGE 1 multiplier).
R1s2Row 1, step 2 level — row 1's output on column 2.
R1s3Row 1, step 3 level — row 1's output on column 3.
R1s4Row 1, step 4 level — row 1's output on column 4.
R1s5Row 1, step 5 level — row 1's output on column 5.
R1s6Row 1, step 6 level — row 1's output on column 6.
R1s7Row 1, step 7 level — row 1's output on column 7.
R1s8Row 1, step 8 level — row 1's output on column 8.
R2s1Row 2, step 1 level: the CV row 2 outputs on column 1 (0..1, before RANGE 2).
R2s2Row 2, step 2 level — row 2's output on column 2.
R2s3Row 2, step 3 level — row 2's output on column 3.
R2s4Row 2, step 4 level — row 2's output on column 4.
R2s5Row 2, step 5 level — row 2's output on column 5.
R2s6Row 2, step 6 level — row 2's output on column 6.
R2s7Row 2, step 7 level — row 2's output on column 7.
R2s8Row 2, step 8 level — row 2's output on column 8.
R3s1Row 3, step 1 level: the CV row 3 outputs on column 1 (0..1, before RANGE 3).
R3s2Row 3, step 2 level — row 3's output on column 2.
R3s3Row 3, step 3 level — row 3's output on column 3.
R3s4Row 3, step 4 level — row 3's output on column 4.
R3s5Row 3, step 5 level — row 3's output on column 5.
R3s6Row 3, step 6 level — row 3's output on column 6.
R3s7Row 3, step 7 level — row 3's output on column 7.
R3s8Row 3, step 8 level — row 3's output on column 8.
Range1Row 1 RANGE: scales row 1's whole output — ×1 (0..1), ×2 (0..2), or ×4 (0..4). Use it to widen ROW 1's CV span (e.g. more octaves of pitch).
Range2Row 2 RANGE: ×1 / ×2 / ×4 multiplier on row 2's output span.
Range3Row 3 RANGE: ×1 / ×2 / ×4 multiplier on row 3's output span.
RateInternal clock speed in Hz (steps per second), used only when nothing is patched into CLOCK IN; an external clock overrides it.

source

moog960.ts on GitHub.

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