904a vcf

moog904a · filters · schema v1

904A Voltage Controlled Low Pass Filter (slice 2 of the moogafakkin System 55/35 clone — categorized under Ports -> moogafakkin). The classic moogafakkin transistor-LADDER low-pass filter, 24 dB/oct. Cutoff is set by the FIXED CONTROL VOLTAGE (Cutoff) pot, shifted in 2-octave steps by the RANGE switch (1/2/3 = x1/x4/x16), and swept by the summing 1V/oct CONTROL INPUT (cutoff_cv — each volt = one octave, summed per-sample). REGENERATION is the variable Q / internal feedback: at low settings it is a clean low-pass; turned toward max it sharpens into a strong resonant peak and SELF-OSCILLATES into a clean sine VC oscillator at the cutoff frequency (reso_cv modulates it). Signature moogafakkin growl comes from a tanh saturation per ladder stage that also self-limits the resonance so it stays bounded. DSP is own-code, CLEAN-ROOM: a TPT/Zavalishin zero-delay-feedback ladder (stable under audio-rate cutoff modulation) re-derived from the unpatented textbook algorithm plus the Huovilainen tanh-per-loop technique — NOT a port of the LGPLv3 Huovilainen code, the CC-BY-SA musicdsp model, or any moogafakkin schematic (permissive only). The shared moog-ladder-dsp lib it is built on is reused by the 904B (HPF) + 904C (coupler) in later slices. Beige moogafakkin faceplate (the intrinsic always-on look shared by the moogafakkin module family).

A clean-room recreation of the Moog 904A Voltage Controlled Low Pass Filter — the iconic 24 dB/octave transistor-ladder LPF at the heart of the Moog sound. It rolls off everything above the cutoff at a steep four-pole slope, warming and darkening the signal. The CUTOFF knob sets the corner, the RANGE switch shifts that corner in two-octave steps, and REGENERATION is the resonance (internal feedback): turn it up to emphasise the band right at the cutoff, and near maximum the filter self-oscillates into a clean sine — a playable voltage-controlled oscillator in its own right. A summing 1 V/octave control input sweeps the cutoff (patch an envelope or LFO here for the classic filter sweep) and a second CV input modulates the regeneration. The ladder core is the textbook zero-delay-feedback algorithm with a tanh per loop for the analog drive, not a port of any Moog schematic.

the faceplate

904a vcfaudioaudiocutoff_cvcvreso_cvcvaudioaudioaudiocvgatepitch
3 inputs · 1 outputs · 3 params

inputs

idcablewhat it does
audioaudioThe signal to be filtered — the audio fed into the ladder.
audio signal
cutoff_cvcvSumming 1 V/octave CONTROL INPUT to the cutoff (audio-rate). It adds exponentially onto the CUTOFF knob inside the worklet, so this is the jack for the classic filter sweep — an envelope opens/closes the corner, an LFO wobbles it, a pitch CV makes the cutoff track played notes.
control voltage (CV); modulates cutoff (summed directly (the destination DSP scales it))
reso_cvcvCONTROL INPUT to REGENERATION (audio-rate, summed per-sample). Modulate the resonance — e.g. an envelope that pushes the filter toward self-oscillation on each note for a chirp or zap.
control voltage (CV); modulates regeneration (summed directly (the destination DSP scales it))

outputs

idcablewhat it does
audioaudioThe 24 dB/octave low-passed output. With REGENERATION near maximum and nothing patched in, it emits a clean self-oscillating sine at the cutoff frequency.
audio signal

params

idlabelrangedefaultcurve
cutoffCutoff20..20000Hz1000log
rangeRange1..32discrete
regenerationRegen0..10linear

controls

controlwhat it does
CutoffThe FIXED CONTROL VOLTAGE pot — the filter's corner frequency, 20 Hz to 20 kHz on a log taper. Everything above it is attenuated at the four-pole slope; lower it to darken, raise it to open up. CV adds on top of this setting. Defaults to 1 kHz.
RangeRANGE switch (1 / 2 / 3) — shifts the whole cutoff sweep in two-octave steps, so you can place the CUTOFF pot's travel in the bass, mids, or highs. Defaults to position 2 (the middle range).
RegenREGENERATION — the resonance / internal feedback (variable Q). At 0 the filter is flat; turning it up emphasises a peak at the cutoff; near 1 the filter self-oscillates and rings as a sine VCO. Defaults to 0 (no resonance).

source

moog904a.ts on GitHub.

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