SSPACEAGEDOCUMENTATION/
DSP and Instruments

Convolution Reference Calibration

Updated Aug 26, 2026   |   3.0 KB   |   docs/Convolution_Reference_Calibration.md

Convolution Reference Calibration

Purpose

SpaceAge's procedural reverb responses may be compared with locally supplied, recorded impulse responses for objective calibration. Reference audio remains external test material: it is not copied into the repository, embedded in a binary, included in an archive, or used as a convolution kernel at runtime.

The comparison tool is tools/analyse_convolution_references.py. It uses only Python's standard library, reads PCM WAV files in place, and can generate the current deterministic SpaceAge responses in memory with --spaceage.

August 2026 reference set

Seven stereo, 44.1 kHz, 24-bit Sony DRE777 room captures were supplied solely for local testing. Across that set, the analyzer measured:

  • EDT: 1.16-2.19 seconds;
  • RT20: 1.52-4.26 seconds;
  • RT30: 1.68-4.62 seconds;
  • C50: -0.90 to 3.49 dB;
  • C80: 1.51-5.86 dB;
  • center time: 63.7-131.0 ms;
  • zero-lag stereo correlation: 0.090-0.283.

These ranges are calibration evidence, not targets for venue imitation. No response samples, spectral fingerprints, or derived kernels are retained.

Version 2 decision

The original Deep response measured RT30 1.74 seconds, center time 58.7 ms, C50 3.51 dB, and stereo correlation 0.0015. It was valid and stable but sat at the shortest and widest edge of the reference set.

spaceage.room.deep.v2 changes the procedural recipe by:

  • extending the finite response from 1.75 to 2.75 seconds;
  • increasing high-frequency absorption in the diffuse generator;
  • adding a deterministic shared diffuse component while retaining independent channel energy;
  • preserving the existing sparse early-reflection timings and wet-only onset.

At 44.1 kHz, the new Deep response measures:

  • EDT: 2.54 seconds;
  • RT20: 2.70 seconds;
  • RT30: 2.74 seconds;
  • C50: 1.89 dB;
  • C80: 3.19 dB;
  • center time: 99.9 ms;
  • stereo correlation: 0.092.

Compact remains 0.48 seconds by design. It is a production contrast to the hall response, not an attempt to match this hall/church reference set.

Performance impact

The focused 96 kHz stress test continuously excites both immutable room engines while reversing Size every block. Version 2 measured 0.477 times real time on the calibration machine. The earlier Version 1 ballpark was 0.375 times real time. The longer response therefore costs about 27 percent more in this narrow stress test while remaining below half of one real-time processing interval.

Any further tail extension should require a new performance measurement. A recorded reference must never become a release asset merely to improve a metric.

Production integration

The Mixer Reverb return now owns the calibrated ConvolutionReverb directly. Its parameter set is Size, Damping, Stereo Width, Pre-delay, and Return. Pre-delay ranges from 0 to 250 ms, defaults to 20 ms, is smoothed without allocation, and is included in the finite tail scheduler. The full shared-effects regression proves the 0 ms and 180 ms settings are audibly distinct, while disable fades, silent returns, and tail retirement remain correct.