DSP TOOLBOX · CONVOLUTION

Impulse Response → FIR → Convolution

Convolution sounds like a completely new mathematical subject. It isn't. We have already built it — first as a short FIR filter. Now we make the filter long enough to describe a space.

Core idea: an impulse response is a record of how a system responds to a very short impulse. Convolution applies that response to another signal.

1. Start with the FIR filter you already know

Drag the four coefficient bars. The impulse response changes with them.

h[0] =
h[1] =
h[2] =
h[3] =

These four taps are only one sample apart. So this behaves primarily as a tiny filter, not as four separate audible echoes. Drag the coefficients while a loop plays and hear the tone change.

impulse: 1 0 0 0 0 ... output: h[0] h[1] h[2] h[3] ...
The reveal: when an impulse enters an FIR filter, the output exposes the filter's coefficients. The filter's impulse response is the coefficient sequence.

2. Make the FIR longer

Watch a tiny filter grow into something that begins to look like a room response.

Four coefficients: easy to see individually.

Nothing fundamental changed. We simply increased the number of delayed-and-scaled copies being added together.

3. We can invent an impulse response

A measured impulse response records what a real system did. But convolution itself does not know whether those numbers came from a cathedral, a speaker cabinet, a plate, a piece of hardware — or from us.

We do not have to recreate the physical mechanism that produced a response. We can construct a sequence of samples with the temporal and spectral behaviour we want, call it h[n], and convolve audio with it.
big sample at t = 0 + reflection spikes at chosen times + increasingly dense fine structure + a decaying envelope + frequency-dependent damping = a plausible synthetic impulse response

That is essentially what the generated reverbs below do: they make a mathematical caricature of a room response. We can copy broad characteristics such as reflection timing, amplitude distribution, decay slope, density and high-frequency damping without modelling every wall and surface.

Important: two IR waveforms that merely look similar are not guaranteed to sound the same. Their detailed timing, polarity and spectral content matter too.

4. Draw Your Own IR

Now forget rooms completely. Draw the broad amplitude envelope you want, add reflection spikes, generate fine structure underneath it — then hear your drawing as a convolution response.

2.00 s
72%
55%
This is the point: convolution does not ask whether your IR is physically possible. It simply uses the sample values you give it. Your drawing is now an impulse-response design — choose Use My Drawing below, then audition it in Section 6.

5. Design a simple room impulse response

Generate a synthetic IR: direct impulse, discrete early reflections, and a dense decaying tail.

Choose a generated response or your hand-drawn response here. Section 6 uses whichever IR is currently selected. Export IR as .WAV saves the impulse response itself — not the reverberated audio. You can load this WAV into a convolution reverb in a DAW and use the response you created here.

Educational synthetic IR — not a geometrically exact room model.

6. Hear the impulse response become reverb

Try this: loop drums or voice, then move IR Length, Tail Decay, Density and HF Damping. The IR is rebuilt while the source keeps playing.

7. What convolution is doing

INPUT AUDIO │ ├─ delay 0 samples ─× h[0] ─┐ ├─ delay 1 sample ─× h[1] ─┤ ├─ delay 2 samples ─× h[2] ─┤ ├─ delay 3 samples ─× h[3] ─┤ │ ... ├─ Σ → OUTPUT └─ delay M samples ─× h[M] ─┘
y[n] = Σ h[k] x[n-k]
x[n-k]
Input audio delayed by different amounts.
h[k]
IR sample / FIR coefficient scaling each delayed copy.
×
Multiply.
Σ
Add all scaled delayed copies.
You've already done convolution. Our four-tap FIR was convolution. A convolution reverb is conceptually the same operation with a much longer impulse response.

8. FIR filter vs convolution reverb

Short FIR

few tapssamples apartfiltering

A small coefficient set can make low-pass, high-pass and many other responses.

Room IR

thousands of tapslong memoryspace/system response

A long coefficient sequence can describe direct sound, reflections and decay through time.

Same mathematical family — different scale and purpose.

9. Next: measure a real space

So far we have invented the impulse response. Next we generate an exponential sine sweep, play it through a room or system, record the result, and use deconvolution to recover the measured IR.

GENERATE SWEEP → PLAY THROUGH SPACE → RECORD → DECONVOLVE → IMPULSE RESPONSE → CONVOLVE AUDIO