← All modules
AvailableEffect

A stage of OSC-1. It works the same on its own page as it does in the chain — same parameters, same paths.

Filter

The knob everybody reaches for first.

Audio and MIDI

Browser session

Audio is stopped.

Input · MIDI keyboard

Octave C4

Your keyboard is a keyboard. Middle row plays the white notes, top row the black ones. Z and X change octave. Keys are ignored while you are typing in a field.

Filter

A resonant multimode filter - low-pass, high-pass, band-pass, notch - with an envelope contour. Nothing else in a subtractive synth changes the sound this much per degree of rotation.

Parameters

Filter

0.00
2.00 kHz
1.00

Filter Envelope

10 ms
200 ms
50%
500 ms
200 Hz
4.00

These knobs move the module's published schema, but the preview engine only renders OSC Mini, FX Mini and the OSC-1 chain — so they won't change what you hear yet.

Output · Audio signal

Waveform appears once sound is running.

The signal leaving Filter, tapped after the output stage. It's a picture of what your speakers are getting.

Preview engine (Web Audio)

About

A resonant multimode filter - low-pass, high-pass, band-pass, notch - with an envelope contour. Nothing else in a subtractive synth changes the sound this much per degree of rotation.

Take it into your DAW.

macOS (arm64 · x64)Windows (x64)Linux (x64)
Same DSP as this page. The plugin isn't a rebuild — it's the identical kernel from the identical TypeScript source, compiled native instead of to WASM.

Free forever, no account, and playing it in the browser will never ask you for one. VST3 and standalone today; AU and CLAP are on the roadmap.

Every knob, and what it actually does.

Generated from the module's parameter schema — the same source as the web UI, the worklet transport and the VST3 parameter table, so it cannot drift.

ParamRangeDefaultUnitsWhat it doesAutomatable
Filter
Typefilter.typelowpass · highpass · bandpass · notchlowpassWhich side of the cutoff survives. Low-pass is the default and the one that sounds like a synth.Yes (stepped)
Cutofffilter.frequency20 … 200002000HzWhere the filter acts. The single most useful control in the whole chain, and the one worth automating.Yes
Resonancefilter.resonance0 … 201Emphasis at the cutoff. Above about 12 it whistles on its own; at 0 it is a plain tone control.Yes
Filter Envelope
Env Attackfilter.envAttack0 … 20.01sHow fast the contour opens the filter at note start.Yes
Env Decayfilter.envDecay0 … 20.2sFall from the contour peak to its sustain level.Yes
Env Sustainfilter.envSustain0 … 10.5Contour level held while the key is down.Yes
Env Releasefilter.envRelease0 … 50.5sHow long the contour takes to close after release.Yes
Base Freqfilter.baseFrequency20 … 2000200HzWhere the contour starts from. The envelope sweeps up from here rather than from the cutoff knob.Yes
Env Octavesfilter.octaves0 … 84octHow far above Base Freq the contour reaches at full envelope. Zero disables the contour entirely.Yes

Parameter paths (filter.cutoff) are what you'll see in your DAW's automation list and in the SDK. Same names everywhere.

How it works.

A second-order biquad in one of four modes. Cutoff sets its corner and Resonance sets the Q, which is emphasis at that corner rather than a separate resonance circuit - a real analogue ladder behaves differently at the extremes, and this does not pretend otherwise.

The contour is its own ADSR, separate from the amplitude envelope, sweeping from Base Freq upward by Env Octaves. That separation is the difference between this and OSC Mini, where one envelope does both jobs.

It's yours to read and to fork.

Research preview

npx codex clone filter
npm run dev

The codex CLI name is proposed, not shipped. That command gives you this module's DSP, schema, presets and UI as a local project — change a number, hear it immediately.

Goes well with.

Available
The full synth, taken apart. Every stage is its own module.

Instruments

Composable — 11 stagesRuns onlineVST3
KeyboardMIDIDemo phrase
Available
Two tone generators and the interval between them.

Instruments

Runs onlineVST3

Part of OSC-1

KeyboardMIDIDemo phrase
Available
Four numbers that decide whether it is a pluck or a pad.

Effects

Runs onlineVST3

Part of OSC-1

KeyboardMIDIDemo phrase