delay
delay · effectsThe primitive single-tap echo — one MONO audio jack in, one out, and the canonical time / feedback / mix trio, with no colour of its own. Built on Web Audio's native DelayNode plus a feedback gain loop (input → delay → feedback → output, crossfaded against dry), so it is the cheapest delay in the catalogue to instantiate — no worklet, no DSP thread. TIME ranges log from 1 ms (comb/flange) through slapback to 2 s (ambient washes); FEEDBACK is linear 0–0.95, hard-ceilinged below self-oscillation and deliberately NOT CV-able so the clamp is absolute; MIX is an equal-power dry/wet crossfade. The one CV jack is TIME, and it is audio-rate and unsmoothed: because the delay line reads at a fractional position, modulating it VARISPEEDS the buffer (the echoes Doppler-shift in pitch while the time moves — measured at ~498 Hz for a 1 kHz sine under a +0.5 s/s ramp), which is what makes it a chorus/flanger at small depths and a tape pitch-dive at large ones. No tempo sync, no clock input, no in-loop filtering or saturation, no stereo — COFEFVE is the full tape/BBD machine with all of those, CHARLOTTE'S ECHOS the destructive multi-head shimmer.
the faceplate
inputs
| id | cable | what it does |
|---|---|---|
audio | audio | The signal to be echoed. It fans out to both halves of the module at once: straight to the dry side of the output crossfade, and into the delay buffer whose output feeds the feedback loop. There is exactly ONE audio jack — this is a mono patch point, unlike the stereo-jacked COFEFVE and CHARLOTTE'S ECHOS. audio signal |
time | cv | CV that displaces the TIME knob. Linear scaling across the 1 ms–2 s span, so ±1 moves the delay by up to ±1.0 s around the knob and pins at the ends. Two things make this the module's expressive jack. First, it is genuinely AUDIO-RATE and unsmoothed: the CV reaches DelayNode.delayTime (an a-rate AudioParam) through a plain scaling curve with no de-zipping, so it tracks per-sample — the ~10 ms smoothing you feel when you turn the knob is applied only on the KNOB path and does NOT apply here. Second, because moving the read position varispeeds the line, modulating this jack PITCH-SHIFTS the echoes rather than crossfading them: a slow LFO at a few thousandths of DEPTH is a chorus/flanger, a slow deep envelope is a tape pitch-dive. There is no attenuator on this jack, so the depth is set at the SOURCE: an LFO's own DEPTH reaches the chorus range directly (its 0–1 knob spans a ±2 swing, so about 0.0025 is a ±5 ms sweep here), and a SCALER inline (×0.1 to ×10) trims a source that has no depth knob of its own. A full-scale ±1 CV is a two-second peak-to-peak sweep — a special effect rather than a setting. One sharp edge: the scaling curve is baked when the cable is PATCHED, so it centres on the knob position at that moment — move the TIME knob a long way afterwards and the sweep's end-stops no longer line up with the 1 ms–2 s range. control voltage (CV); modulates time (additive offset — ±1 CV sweeps the full range, centered on the knob) |
outputs
| id | cable | what it does |
|---|---|---|
audio | audio | The dry signal and the recirculating echoes summed. The blend is an EQUAL-POWER crossfade — dry × √(1−MIX) + wet × √MIX — so perceived loudness stays roughly constant all the way from full-dry to full-wet instead of sagging in the middle. Mono, like the input. audio signal |
params
| id | label | range | default | curve |
|---|---|---|---|---|
time | Time | 0.001..?s | 0.25 | log |
feedback | Feedback | 0..? | 0.4 | linear |
mix | Mix | 0..1 | 0.35 | linear |
controls
| control | what it does |
|---|---|
| Feedback | How much of the delayed signal is returned to the input of the line, 0 to 0.95. The dial does not print that ratio — it prints what the ratio BUYS, the number of repeats before the tail falls below −60 dB: 1 REP at 0 (a single echo, nothing recirculates), 8 REP at the 0.4 default, 135 REP at the ceiling, which reads as a very long wash that nevertheless always ends. The ceiling is a hard clamp deliberately set below 1.0 so the loop can never self-amplify, and — unlike every other delay in the catalogue — there is NO CV jack on this control, so nothing patchable can push it past the clamp. That makes the safety absolute, at the cost of not being able to perform feedback swells; use COFEFVE if you need feedback under CV. |
| Mix | Dry / wet balance, applied as an equal-power crossfade (dry gets √(1−MIX), wet gets √MIX) so the halfway point sounds full instead of scooped. It is the only control here that is OUTSIDE the recirculating loop — the line keeps filling and feeding back at MIX 0, so the tail is already running when you turn it up. 0 is the untouched input, 1 is echoes only, and the dial names both ends (DRY / WET) and prints the wet share between them (35% WET at the default). Around 0.35 it sits as an insert; put it at 1 when feeding the module from an aux send. Knob-only — there is no MIX CV jack. |
| Time | Delay time, log-scaled from 1 ms to 2 s — comb/flange territory at the bottom, slapback around 30–120 ms, rhythmic echoes and ambient tails at the top. The full range is genuinely reachable inside the feedback loop (measured: a 1 ms setting really does place its first echo 48 samples later at 48 kHz). Turning this knob ramps the delay over ~10 ms rather than jumping, so the line varispeeds smoothly and the tail swoops in pitch like a tape motor catching up — it does not click, and it does not crossfade. The TIME CV jack sums on top of wherever you leave it. The dial reads the delay in the unit you would specify it in, switching at one second: 250 MS at the default, 1.20 S up in ambient territory. |
source
delay.ts on GitHub.