A stage of OSC-1. It works the same on its own page as it does in the chain — same parameters, same paths.
Delay
The same thing again, slightly later, slightly quieter.
Audio and MIDI
Browser session
Audio is stopped.
Input · MIDI keyboard
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.
Delay
A single-tap feedback delay with bounded feedback. Short for thickening, long for the obvious thing, and it will sing at the top of its range without ever running away.
Parameters
Delay
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
The signal leaving Delay, tapped after the output stage. It's a picture of what your speakers are getting.
About
A single-tap feedback delay with bounded feedback. Short for thickening, long for the obvious thing, and it will sing at the top of its range without ever running away.
Take it into your DAW.
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.
| Param | Range | Default | Units | What it does | Automatable |
|---|---|---|---|---|---|
| Delay | |||||
Timedelay-stage.time | 0 … 1 | 0.25 | s | Spacing between repeats. Under about 0.05 s it stops being an echo and becomes a comb filter. | Yes |
Feedbackdelay-stage.feedback | 0 … 0.95 | 0.3 | — | How much of each repeat feeds back in. Capped at 0.95 so it can sing without becoming a hazard. | Yes |
Mixdelay-stage.wet | 0 … 1 | 0.3 | — | Level of the repeats 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.
One delay line with a feedback gain, running in parallel with the dry path. The feedback gain is clamped below 1 in code rather than by knob range alone, because an unbounded feedback loop is a monitoring hazard, not a creative option.
Named delay-stage in the roster because FX Mini already publishes a delay.* namespace; the module is called Delay everywhere it is shown.
It's yours to read and to fork.
Research preview
npx codex clone delay-stage
npm run devThe 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.