@audio/ filter-moog-ladder
Status calibrated
npm1.2.0licenseMIT
Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance; highpass, bandpass, 2-pole modes)
import moogLadder from '@audio/filter-moog-ladder'
Robert Moog's 4-pole transistor ladder, 1965 — the most imitated filter in electronic music.
Circuit: 4 cascaded one-pole transistor ladder sections, global feedback from output to input
Implementation: Zero-delay feedback (ZDF) via trapezoidal integration — Zavalishin, The Art of VA Filter Design (2012), Ch. 6
Response: lowpass; resonance peak at ; self-oscillation (sine wave) at resonance=1, at
Modes: type lowpass, highpass or bandpass, poles 4 or 2 — the ladder's taps mixed by binomial weights, highpass, bandpass (Zavalishin §5.5; JUCE's LadderFilter modes, Pedalboard's)
Nonlinearity: saturation at input (transistor ladder characteristic)
let params = { fc: 800, resonance: 0.7, fs: 44100 }
moogLadder(buffer, params)
// Self-oscillation — runs indefinitely from a single impulse
let silent = new Float64Array(4096); silent[0] = 0.01
moogLadder(silent, { fc: 1000, resonance: 1, fs: 44100 })
// Highpass, -12 dB/oct
moogLadder(buffer, { fc: 300, resonance: 0.4, fs: 44100, type: 'highpass', poles: 2 })
Patent: Moog (1965) US3475623
vs Diode ladder: Moog saturates only at input; diode saturates at each stage — different character at high resonance
| Param | Default | |
|---|---|---|
fc |
1000 |
cutoff frequency, Hz |
resonance |
0 |
0–1; feedback k = 4·resonance; self-oscillates exactly at 1 |
fs |
44100 |
sample rate, Hz |
drive |
1 |
input gain into the tanh saturation; 0 mutes the signal |
type |
'lowpass' |
'lowpass', 'highpass', 'bandpass' |
poles |
4 |
4: -24 dB/oct (bandpass ±12); 2: -12 dB/oct (bandpass ±6) |
Pass the same params object on every call to persist the 4 stage states across blocks.
Use when: synth-filter warmth, resonance, and true self-oscillation at resonance=1 — the reference analog-modeled lowpass.
Part of @audio/filter — the filter family umbrella. This README is generated from the umbrella docs.
MIT © audiojs