Step Sequencer
Step sequencer with pattern locks and Euclidean rhythms.
What it does
Step Sequencer steps through a pattern of fixed length, once per beat division, and outputs a gate pulse plus up to four value lanes for each step: classic parameter-lock sequencing. It runs from its own internal BPM clock, or from an external Trigger signal where a rising edge advances one step. A Reset input snaps it back to step 0.
Each step carries its own value on lanes A–D, its own on/off state, its own probability of firing, and its own ratchet count, meaning quick sub-triggers within a single step. One sequencer therefore drives several parameters at once, with a different rhythm and value on every step. Gate patterns come from a manual on/off list or from a Euclidean rhythm generator. Direction controls whether the pattern plays forward, backward, bounces, or wanders randomly.
When to use it
A rhythmic, beat-synced pulse gating an effect, trigger, or sound.
A different numeric value on every step: colour, scale, position, or any other parameter in a repeating pattern.
A Euclidean rhythm, evenly-spaced hits distributed across a number of steps, instead of hand-drawing every on/off step.
Per-step randomness: chance-to-fire probability, or ratcheted repeats on specific steps.
Patterns that play forward, backward, ping-pong, shuffle, or drift.
| Parameter | Type | Default | What it does |
|---|---|---|---|
trigger | Boolean or Number | — | Rising edge advances one step. Leave unconnected for internal BPM clock. |
reset | Boolean or Number | — | Rising edge resets sequencer to step 0 |
bpm | Number | 120 | Tempo in beats per minute |
division | String | "1/8" | Step duration as a note division. One of: 1, 1/2, 1/4, 1/8, 1/16, 1/32. |
steps | Number | 16 | Number of steps in the pattern |
direction | String | "Forward" | Step advancement direction. One of: Forward, Reverse, Pendulum, Random, Drunk. |
swing | Number | 0 | Swing amount (0 = straight, 1 = max triplet feel) |
gate_mode | String | "Manual" | Gate pattern source: Manual CSV or Euclidean algorithm. One of: Manual, Euclidean. |
gate_pattern | String | "" | CSV gate pattern (0/1 per step). Empty = all on. Used in Manual mode. |
euclidean_fills | Number | 4 | Number of hits for Euclidean rhythm generation |
euclidean_rotation | Number | 0 | Rotation offset for Euclidean pattern |
probability | String | "" | CSV probability per step (0-100). Empty = all 100%. |
ratchet | String | "" | CSV ratchet count per step (1-4 sub-divisions). Empty = all 1. |
values_a | String | "" | CSV values for lane A. Empty = 0.0 for all steps. |
values_b | String | "" | CSV values for lane B. Empty = 0.0 for all steps. |
values_c | String | "" | CSV values for lane C. Empty = 0.0 for all steps. |
values_d | String | "" | CSV values for lane D. Empty = 0.0 for all steps. |
run | Boolean | true | Play/pause the sequencer clock |
Gotchas
The gate, probability, ratchet, and value-lane inputs are comma-separated per-step lists. Left empty, each falls back to a default for every step: gate all-on, probability 100%, ratchet 1, and each value lane 0.0.
Euclidean Fills and Euclidean Rotation take effect only when Gate Pattern Source is set to Euclidean. In Manual mode they are ignored in favour of the Gate Pattern list.
Leave Trigger unconnected to run from the internal BPM clock. Wire something into Trigger and the sequencer switches to external-clock mode, advancing only on that signal's rising edges, which locks it to another node's beat or to a live input.
Worked example
Add a Step Sequencer. Set Steps to the pattern length you want, and leave Trigger unconnected to use the internal clock at the given BPM.
Set Gate Pattern Source to Euclidean, then raise Euclidean Fills to spread that many hits evenly across the pattern.
Type a comma-separated list into Values A, one number per step, and wire the Value A output into the parameter you want to modulate.
Wire the Gate output into a trigger-driven node to fire it in sync with the pattern.