← All modules
AvailableEffect

FX Mini

Drive, tone, and a delay that knows when to stop.

Audio and MIDI

Browser session

Audio is stopped.

Input · Built-in clip

124 BPM · loops

Don't have a keyboard handy? These are short MIDI clips, not recordings — they play through whichever instrument is loaded, so switching tools re-voices the same part.

FX Mini

Distortion into a tone filter into a feedback delay - the pedalboard starter chain, and the SDK's teaching effect. The same kernel drives the offline batch renderer.

Parameters

Distortion

35%
100%

Tone Filter

2.50 kHz

Delay

250 ms
35%
25%

Master

90%

Output · Audio signal

Waveform appears once sound is running.

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

Preview engine (Web Audio)

About

Distortion into a tone filter into a feedback delay - the pedalboard starter chain, and the SDK's teaching effect. The same kernel drives the offline batch renderer.

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
Distortion
Drivedistortion.drive0 … 10.35How hard the input hits the saturation curve. Below about 0.2 it's a clean boost.Yes
Dist Mixdistortion.wet0 … 11Blend of driven signal against clean, so you can keep grit under the dry.Yes
Tone Filter
Tonetone.cutoff200 … 80002500HzLow-pass placed after the distortion, where it actually shapes the harmonics.Yes
Delay
Timedelay.time0.02 … 10.25sRepeat spacing - short enough for slapback, long enough for a real repeat.Yes
Feedbackdelay.feedback0 … 0.90.35How much of each repeat feeds back. Capped at 0.9 so it will sing, not run away.Yes
Delay Mixdelay.wet0 … 10.25Level of the repeats against the dry signal.Yes
Master
Levelmaster.level0 … 10.9Final output trim, after every other stage.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.

The chain is distortion into a tone filter into a feedback delay, in that order and with nothing hidden between the stages. The drive stage is a waveshaper with its own wet/dry mix, so you can blend saturated signal under the clean one rather than committing to it.

Tone is a biquad low-pass sweeping 200 Hz to 8 kHz, placed after the distortion because that is where a tone control does the most work - filtering harmonics the drive stage just generated, rather than filtering the input before they exist.

The delay is single-tap with feedback capped at 0.9. That cap is deliberate: the delay will self-oscillate and sing at the top of its range, but it cannot run away and damage your monitoring. This is the same kernel the offline batch renderer uses, so a render matches what you hear here.

It's yours to read and to fork.

Research preview

npx codex clone fx-mini
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.

@codex-music/audio-kernels · profiles/fx1-chain.profile.json · ABI scfx_

Goes well with.

Available
Tube-style drive into a real cabinet.

Effects

Runs onlineVST3
Guitar takeMicDemo phrase
Available
Bit depth, sample rate, and bad decisions.

Effects

Runs onlineVST3

Part of OSC-1

KeyboardMIDIDemo phraseGuitar takeMic
Available
A small subtractive synth with nothing to hide.

Instruments

Runs onlineVST3
KeyboardMIDIDemo phrase