← 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.

Reverb

A room, approximated cheaply.

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.

Reverb

A simple algorithmic reverb - room size, damping, wet - at the end of the chain where a room belongs. Not a convolution, and not pretending to be one.

Parameters

Reverb

70%
3.00 kHz
30%

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 Reverb, tapped after the output stage. It's a picture of what your speakers are getting.

Preview engine (Web Audio)

About

A simple algorithmic reverb - room size, damping, wet - at the end of the chain where a room belongs. Not a convolution, and not pretending to be one.

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
Reverb
Room Sizereverb-stage.roomSize0 … 10.7Length of the tail. Small values are a booth, large ones are a hall you should not be in.Yes
Dampingreverb-stage.dampening20 … 200003000HzWhere the tail starts losing its top end. Low values are a carpeted room; high values are tiled and unforgiving.Yes
Mixreverb-stage.wet0 … 10.3Level of the tail against the dry signal.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 preview builds a decaying noise impulse response from Room Size and Damping and convolves the wet path against it, in parallel with the dry path. Changing Room Size or Damping regenerates the impulse and swaps it in.

This is the cheapest honest reverb there is, and it is not the algorithm Space Mini will ship. Room Size maps to tail length and Damping to a low-pass on the tail; there are no early reflections and no modulation in the tail.

It's yours to read and to fork.

Research preview

npx codex clone reverb-stage
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
Coming soon
Room, plate, and the long one.

Effects

VST3
Guitar takeMicDemo phrase
Available
The same thing again, slightly later, slightly quieter.

Effects

Runs onlineVST3

Part of OSC-1

KeyboardMIDIDemo phraseGuitar takeMic