lfo
lfo · modulation · schema v1Clockable LFO with four phase outputs (0deg / 90deg / 180deg / 270deg).
the faceplate
| # | control | what it does |
|---|---|---|
| 1 | Rate | How fast the LFO cycles, from 0.01 Hz (one sweep per ~100 s) to 100 Hz (audio-rate for FM-style use), on a log fader. Sets the speed shared by all four phase outputs; the clock input overrides phase, not rate. |
| 2 | Shape | Continuously morphs the waveform across the 0–2 range: 0 = sine, 1 = saw, 2 = square, with smooth crossfades in between (e.g. value 0.5 = halfway sine↔saw). The fader's glyphs mark sine / saw / square. |
| 3 | Depth | Output amplitude / swing, applied as gain = depth × 2 and not clamped: 0 = still (flat at the 0 center, no modulation), 0.5 = unity ±1 (the default, matches legacy patches), 1 = ±2 (deliberately beyond the normal ±1 range). Orthogonal to shape — it only scales the swing, never shifts the center. |
inputs
| id | cable | what it does |
|---|---|---|
clock | gate | External clock — each rising edge (crossing above 0.5) hard-resets the oscillator to phase 0, locking the LFO to an incoming pulse train (e.g. a shared sequencer's tempo). The reset is intentionally hard with no smoothing, so a click on the edge is expected; Rate still sets the speed between pulses — the clock only re-zeros the phase, it does not measure the period or change the rate. gate / trigger |
rate | cv | CV that scales the Rate knob on a logarithmic axis — ±1 multiplies the rate by about 100× / one-hundredth (≈ ±6.6 octaves of speed). Sample-and-held once at the start of each audio block so multiple clients stay phase-aligned despite sub-block CV latency differences. control voltage (CV); modulates rate (multiplicative ≈ octaves — ±1 CV spans the param’s log range) |
shape | cv | CV that displaces the Shape control, sliding the waveform morph (sine → saw → square) up or down. Read per-sample (a-rate) so the morph stays smooth. control voltage (CV); modulates shape (additive offset — ±1 CV sweeps the full range, centered on the knob) |
depth_cv | cv | CV that sums into the Depth control, modulating the output swing amount the same way the Rate/Shape CV inputs offset their params (labeled DEPTH on the panel). control voltage (CV); modulates depth (additive offset — ±1 CV sweeps the full range, centered on the knob) |
outputs
| id | cable | what it does |
|---|---|---|
phase0 | cv | The LFO at 0° (the reference phase). Bipolar wave centered on 0; its swing magnitude is set by Depth (0 = flat/still, 0.5 = unity ±1, 1 = ±2). control voltage (CV) |
phase90 | cv | The same LFO advanced a quarter cycle (phase + 0.25) — the 90° tap, useful as the offset partner for quadrature/stereo modulation. control voltage (CV) |
phase180 | cv | The same LFO advanced half a cycle (phase + 0.5) — the 180° tap; for the sine shape this is a polarity inversion (moves opposite phase0), useful for ping-pong / push-pull modulation. control voltage (CV) |
phase270 | cv | The same LFO advanced three-quarters of a cycle (phase + 0.75) — the 270° tap, completing the 0/90/180/270 quadrature set off one shared oscillator. control voltage (CV) |
params
| id | label | range | default | curve |
|---|---|---|---|---|
rate | Rate | 0.01..100Hz | 1 | log |
shape | Shape | 0..2 | 0 | linear |
depth | Depth | 0..1 | 0.5 | linear |
source
lfo.ts on GitHub.