RT60 reverberation measurement with energy-time curve and spectral decay waterfall

Seven Releases to Measure One Number

Every intermediate version was wrong in a way that looked right. What it took to measure reverberation time defensibly — and why the tool now refuses to answer when it cannot.

RT60 measurement went through seven releases in a single week, and the instructive part is not that the early versions were wrong. It is that every one of them was wrong in a way that looked entirely right. A reverberation time is a single number in seconds. It carries no obvious signature of being incorrect, which is exactly what makes it dangerous.

This is what it took to get one number we would stand behind, and why the RT60 tool in XSCACE Studio now refuses to answer more often than you might expect.

The maths was wrong, and the maths looked fine

The first fault was in the deconvolution itself: correlation against a reversed filter, which performs no compression at all. It produced an impulse response that looked like an impulse response and decayed like one. It was replaced with FFT-based regularised deconvolution. The same pass fixed an O(n²) implementation that froze the interface by running on the main thread, and a stride-related aliasing bug.

RT60 measurement with energy-time curve and spectral decay waterfall in XSCACE Studio
RT60 with the energy-time curve and spectral decay waterfall. The tool reports a quality gate alongside the number.

Noise does not add to a decay curve. It ends it.

The second fault is the one most likely to be sitting in other people's measurements right now. Ambient noise contaminates the Schroeder integral: the decay curve flattens as it descends into the noise floor, and the integration reads that flattening as reverberation that has not finished.

Reproduced synthetically, the scale of it is startling. A room with a true 0.5 s decay reads as follows:

How ambient noise inflates an uncorrected RT60 reading
Signal-to-noise ratioReported RT60True RT60
30 dB2.6 s0.5 s
20 dB10 s0.5 s
20–35 dBtypical of a real laptop microphone

A tenfold or twentyfold overstatement, from a measurement that produces no warning and no visible artefact. With noise-truncated Schroeder integration the same synthetic room reads 0.47 to 0.50 s at every signal-to-noise ratio down to 20 dB.

The reading that was not the room at all

Then a user reported 5.5 s in a normal room — a figure no domestic space produces. The debug export, a button added for exactly this kind of dispute, settled it: the impulse response dropped normally and then held a plateau at −18 to −25 dB for two full seconds.

That shape is not room decay. Room decay is continuous. A plateau is sustained energy arriving from somewhere in the playback chain.

The suspects fell one at a time. Not the microphone, which was a calibrated measurement unit. Not the harmonic extension processing, which was switched off. Not laptop speakers, because the system was a set of full-range speakers with a subwoofer, playing loudly. What remained was the transport — the same clock-synchronisation behaviour that the timing investigation would later prove independently, scattering sweep energy into a broadband floor lift.

What the tool does now

RT60 in XSCACE Studio follows ISO 3382-1 practice: Lundeby truncation, a sustained-submersion criterion rather than a simple backward scan, a minimum 12 dB fit span, and an r² ≥ 0.90 quality gate on the regression.

The consequence is that it declines to answer when the room and the signal cannot support a defensible number, and the failure message names the remedy — raise the level, or quieten the room. A measurement tool that returns a confident wrong number is worse than one that returns nothing, because the wrong number is the one that gets acted on.

Two lessons that generalise

Both of these cost real time, and neither is specific to reverberation:

  • Synthetic validation must include realistic noise floors. Clean-signal tests passed every single broken version. A test that only exercises the ideal case certifies nothing about the field.
  • A synthetic room impulse must contain a direct-path impulse. Pure decaying noise has no clear peak, so the fit-span gate fails legitimately and you spend a day chasing a bug that is not there.

The wider habit worth taking from this: build the export button before you think you need it. Two of the findings above were only settled because the raw capture could be pulled out and examined offline, against a reference implementation, away from the tool that produced it.

Why ISO 3382-1 rather than a simpler rule

It would be easy to fit a straight line to a decay curve and report the slope. The standard exists because that approach fails in specific, predictable ways, and each element of it earns its place. Lundeby truncation finds where the decay genuinely meets the noise floor instead of guessing a fixed window. A sustained-submersion criterion avoids stopping at the first sample that dips below threshold, which noise alone will produce. The 12 dB minimum fit span prevents a slope being extrapolated from a fragment too short to characterise anything.

The r² gate is the one that does the most work in practice. A decay that is genuinely exponential fits a straight line closely on a logarithmic axis. One that is contaminated — by noise, by a plateau, by a room with two distinct decay rates — does not. Requiring r² ≥ 0.90 is a cheap way of asking whether the thing being measured actually behaves like reverberation before reporting a reverberation time.

What this means when you are standing in the room

The practical guidance that falls out of all this is short:

  • Measure louder than feels necessary. Signal-to-noise is the dominant error term, and it is the one entirely under your control on site.
  • Turn things off. Air conditioning, fridges and traffic are broadband noise sources, and they inflate the reading rather than obscuring it — which means the number still arrives, looking plausible.
  • Use a calibrated measurement microphone at the listening position, not the device's own microphone across the room.
  • Treat a refusal as information. It is telling you the conditions cannot support the measurement, which is itself worth knowing before you specify treatment.

RT60 is one of eleven instruments in the XSCACE Studio calibration toolkit, alongside frequency response, distortion, transfer function and sub alignment. The timing architecture that eventually explained the plateau in this investigation is described separately in the account of measuring arrival time over wireless.

Frequently Asked Questions
What is RT60 and what does it measure?

RT60 is reverberation time — how long sound takes to decay by 60 dB after the source stops. It characterises how live or dead a room is, and it drives decisions about acoustic treatment, speaker placement and intelligibility.

Why do RT60 measurements often read too high?

Ambient noise contaminates the Schroeder integral. The decay curve flattens into the noise floor and the integration reads that flattening as continuing reverberation. A room with a true 0.5 s decay reads 2.6 s at 30 dB signal-to-noise and 10 s at 20 dB — and 20 to 35 dB is typical of a real laptop microphone.

How does XSCACE Studio avoid that error?

Noise-truncated Schroeder integration, which reads the same synthetic room at 0.47 to 0.50 s at every signal-to-noise ratio down to 20 dB, plus ISO 3382-1 practice: Lundeby truncation, a sustained-submersion criterion, a minimum 12 dB fit span and an r² ≥ 0.90 gate.

Why does the tool sometimes refuse to give a number?

Because the room and signal did not meet the quality gates. A confident wrong number is worse than no number, since it is the one that gets acted on. The failure message tells you which way to move — raise the level, or quieten the room.

What causes a flat plateau in an impulse response?

Not the room. Room decay is continuous, so a sustained plateau at a fixed level indicates energy arriving from the playback chain rather than the space — in the case investigated here, clock-synchronisation behaviour in the wireless transport scattering sweep energy into a broadband floor lift.

What signal-to-noise ratio do I need for a reliable RT60?

More is always better, but the practical answer is that the tool checks for you. Rather than publishing a threshold to remember, it gates each measurement on fit quality and span and tells you when the conditions are not sufficient.

Can I measure RT60 with a normal laptop microphone?

For an indication, yes, but a laptop microphone typically gives 20 to 35 dB of signal-to-noise, which is exactly the range where uncorrected methods inflate badly. A calibrated measurement microphone at the listening position is the right tool for a result you intend to act on.

XSCACE · Size Defying Sound© 2026 XSCACE Inc.