Extras

Convolution Explorer

Flip one signal, slide it across the other, and the running overlap area traces the output — the operation behind every filter, every speaker, and every room.

Builds on Chapter 7 · Utilities & Effects — filtering and convolution reverb.

At each shift t, the area where the two signals overlap is one sample of the convolution y(t) = Σ x(τ)·h(t−τ), where h is the impulse response. Either side can be set on its own, or a preset can fill both at once.

Preset:
Either side can be set on its own; the presets are just shortcuts that fill both at once. Swapping leaves the output identical — convolution commutes.
View:
Overlap — x(τ), the flipped-and-shifted h(t−τ), and their product (shaded)

Drag the picture sideways to slide the flipped copy along, or use the Shift t slider below; the canvas also takes the arrow keys once focused.

Shift t t = 0
Output y(t) — builds up as the shift sweeps (each point = the shaded area at that t)
Hear it — a real signal through a real room

The picture above uses short, simple signals because the sliding overlap has to stay legible: a few hundred points can be drawn, a few hundred thousand cannot. The arithmetic does not change with length, though, and this is what it sounds like when one side is an ordinary recording and the other is a room. Convolving them does not produce an echogram — the echogram is the room’s impulse response, drawn below. Convolving a signal with it produces that signal as heard in that room.

Echogram of the chosen room — its impulse response, energy against time
Choose a signal and a room, then play the two in turn.
What This Shows (Plain-Language Guide)

Convolution combines two signals into a third. The recipe is flip, slide, multiply, add: take one signal h, mirror it left-to-right, slide it by an amount t, multiply it point-by-point against the other signal x, and add up the result. That single number is the output y(t). Sweep the shift across all t and the outputs trace the whole output signal.

Why It Matters for Audio

Convolution is filtering. When a sound x passes through any linear system — a filter, a speaker, a room — the output is x convolved with the system's impulse response h (its reaction to a single instantaneous click or tap). That is exactly what the Filter Playground and convolution reverb (chapter 9) do: the reverb's room is stored as an impulse response, and every sound is convolved with it. The Click or tap ⊛ Room preset shows this directly — a single click or tap convolved with a room's impulse response returns the room's full ringing response.

Setting Each Side

The presets are shortcuts that fill both sides at once. Either side can also be set on its own: pick a shape for the blue signal x and another for the orange impulse response h, then drag each shape’s parameter — width, decay rate, cycle count, onset, spacing — to reshape it. Any of the eleven shapes can meet any other, so pairings no preset covers (a ramp against a Gaussian, an echo pair against a room tail) are one menu away. Swap sides exchanges the two: the top panel redraws, the output below does not — commutativity made visible.

Two Properties Worth Seeing

  • Box ⊛ Box → Triangle. Two rectangular pulses convolve into a triangle: as the boxes slide through each other, the overlap grows linearly, peaks at full overlap, then shrinks linearly.
  • Anything ⊛ impulse = that thing (the sifting property). Convolving with a single impulse just copies the other signal, shifted. That is why an impulse response completely defines a linear system: convolving any input with it reproduces how the system would respond. (Convolution commutes — x ⊛ h = h ⊛ x — so each preset here names the fixed blue signal first and the flipped orange impulse response second.)

Continuous vs Discrete: the same operation, either as smooth areas (integral) or as sample-by-sample sums (Σ). Digital audio uses the discrete form; the continuous form is the textbook picture.

Sources & Inspiration