FX INTRODUCTION / 14 / DRAFT
Reverb: combine delays into a tail
Combine several repeating delays to make a sound linger as if in a space.
This article is a work in progress. The examples will be refined through listening. Run starts playback; Stop ends it. Use Apply after editing values. Stop the playing iframe before trying another one.
Listen with the built-in FX
| Setting | Meaning |
|---|---|
| mix | Reverberant signal proportion |
| room | Relative value affecting tail length, not seconds or room dimensions |
| damping | Amount of high-frequency damping in the tail |
| tone | Alternative damping setting in Hz; not a separate EQ and not used here |
Select none in FX Monitor to see the waveform after the built-in FX. This pass-through effect makes input and output overlap; it does not compare the signal before and after the built-in FX.
How the PCM is processed
Send audio into four delays of different lengths, each with feedback. Reduce high frequencies in the returned signal so each reflection becomes darker.
input[ch][i] is one input sample. ch identifies a left or right audio channel, not a physical FM voice. Store values carried between blocks in state. Since process cannot access outer variables, put settings in context.
Try it with liveFx
The 48000 in context.sampleRate is a placeholder. Match it to the actual output rate shown in FX Monitor. It is used to calculate times and frequencies; it does not change the browser's output sample rate.
This example uses resetState: true, so Apply clears stored audio and rebuilds the buffers, cutting off tails. Normally, a liveFx with the same name preserves state.
Open in a separate Playground tab ↗
Select reverb-lab in FX Monitor to compare the input and output of this process.
- Set mix to 1 to hear only the tail, then restore it to 0.3.
- Compare feedback at 0.4 and 0.8.
- Compare damping at 0 and 0.8 and listen to the brightness of the tail.
Scope of this example
This simple four-delay structure tends to retain a metallic sound. The built-in version also uses all-pass diffusion. This example does not reproduce a natural room or convolution reverb. A short Monitor window cannot capture the whole tail, so listen after the source stops as well.
The waveform shows changes over time; Spectrum shows the strength of frequency components. A short display window or smoothing can hide some changes. Listen while changing one setting at a time.