Measuring an Impulse Response
Previously we invented h[n]. Now we measure it. We send a known signal through a room, loudspeaker, processor or other system, record what comes back, and recover the system's impulse response.
1. Why not just make a pop?
A balloon pop, clap or other short transient can approximate an impulse. It is wonderfully intuitive: excite many frequencies at once, then listen to what the system does after the event.
Why it works
A very short event contains energy across a broad range of frequencies. The recording reveals direct sound, reflections and decay.
Why we can do better
A real pop is not an ideal, spectrally flat mathematical impulse. Excitation and signal-to-noise ratio can be uneven — especially when we want a clean measurement across the whole audible range and deep into a reverb tail.
2. From a linear sweep to an exponential sweep
A sine sweep excites frequencies one after another. The important question is how frequency changes with time.
Equal change in Hz per second. Because the high-frequency range contains so many more Hz, the sweep traverses the low octaves very quickly.
Equal frequency ratios take equal time. Each doubling — each octave — receives the same amount of sweep time.
Farina's swept-sine method: Angelo Farina's 2000 AES paper described an exponentially swept-sine technique for impulse-response measurement in loudspeakers, audio components and room acoustics. A further 2007 paper developed practical aspects of sine-sweep measurement, including signal-to-noise and pre-ringing considerations.
3. Build the measurement sweep
Advanced measurement options
Automatic peak protection is always on. If shelf EQ would push the sweep above the selected file level, the whole sweep is attenuated so it cannot clip. This is optional excitation shaping, not part of Farina ESS. The exact shaped sweep is retained as the deconvolution reference.
Waveform
Spectrogram / frequency through time
Why is the ESS a straight line? Frequency is shown on a logarithmic vertical axis, so an exponential sweep appears approximately as a straight diagonal. A linear-Hz sweep appears curved. The Linear / ESS buttons are a visual comparison only; the measurement file itself is always ESS. During playback the moving playhead shows the instantaneous ESS frequency.
4. Why exponential?
Equal time per octave
For an exponential sweep, the ratio between frequencies grows uniformly with time. 20→40 Hz takes the same time as 5→10 kHz.
A known excitation
Because we know exactly what signal went into the system, we can mathematically remove that excitation from the recording and recover the response of the system itself.
Farina's ESS method is particularly useful because, after the appropriate inverse/deconvolution process, nonlinear harmonic-distortion responses can be separated in time from the linear impulse response rather than simply being mixed into it.
5. Make the measurement
The playback loudspeaker, microphone, their positions and the recording chain are part of what you measure unless they are separately calibrated or compensated.
6. Load the reference and the recording
The deconvolver needs the exact sweep that was played and the recording made through the system. If you generated the sweep on this page, the current generated sweep can be used as the reference. A mono response produces a mono IR; a stereo response is deconvolved as independent left and right channels and produces a stereo IR.
7. Deconvolve → recover h[n]
Pressing Deconvolve estimates the transfer function in the frequency domain, then transforms it back into the time-domain impulse response. This browser implementation uses regularised FFT deconvolution of the exact reference sweep and recorded response.
Energy decay / RT60
The page estimates the late residual/noise floor first, removes its expected contribution from the Schroeder backwards integration, then fits only the useful decay region. Where possible it uses a T30-style fit (−5 to −35 dB), falling back to T20/T10 if necessary. If the recording does not contain a trustworthy decay range it reports RT60 as insufficient rather than inventing a value. The suggested trim follows the observed useful tail, keeps a short safety margin, then fades — RT60 is reported as a measurement, not treated as a hard cut point.
8. Verify the recovered IR
Do not stop at “the maths produced a waveform.” Audition it. Compare the recovered convolution against the system you measured and investigate repeatable differences.
Sweep monitoring and IR auditioning use separate output gains. The audition level controls the snare/loop only; Wet Return Trim lets you balance unusually energetic recovered IRs without changing the IR file itself.
9. Export the measured impulse response
Channel format is preserved automatically: mono recording → mono IR; stereo recording → stereo L/R IR.
Here: we measured h[n].
Once it is an impulse response, the convolver does not care how we obtained it.
References / further reading
Farina, A. (2000). Simultaneous Measurement of Impulse Response and Distortion with a Swept-Sine Technique. 108th Audio Engineering Society Convention, Paper 5093.
Farina, A. (2007). Advancements in Impulse Response Measurements by Sine Sweeps. 122nd Audio Engineering Society Convention, Paper 7121.