Christoph Hold, Thomas McKenzie, Georg Götz, Sebastian J. Schlecht and Ville Pulkki

Resynthesis of Spatial Room Impulse Response Tails with Anisotropic Multi-Slope Decays

Companion page for the identically named paper published in the Journal of the Audio Engineering Society (JAES).

The article can be accessed here: [JAES], [Aalto University's research portal]

Abstract

Spatial room impulse responses (SRIRs) capture room acoustics with directional information. SRIRs measured in coupled rooms and spaces with non-uniform absorption distribution may exhibit anisotropic reverberation decays and multiple decay slopes. However, noisy measurements with low signal-to-noise ratios pose issues in analysis and reproduction in practice. This paper presents a method for resynthesis of the late decay of anisotropic SRIRs, effec- tively removing noise from SRIR measurements. The method accounts for both multi-slope decays and directional reverberation. A spherical filter bank extracts directionally constrained signals from Ambisonic input, which are then analyzed and parameterized in terms of multiple exponential decays and a noise floor. The noisy late reverberation is then resynthesized from the estimated parameters using modal synthesis, and the restored SRIR is reconstructed as Ambisonic signals. The method is evaluated both numerically and perceptually, which shows that SRIRs can be denoised with minimal error as long as parts of the decay slope are above the noise level, with signal-to-noise ratios as low as 40 dB in the presented experiment. The method can be used to increase the perceived spatial audio quality of noise-impaired SRIRs.

[Graphical Abstract]

Restoring Spatial Room Impulse Responses

To demonstrate the point, here is a binauralized very noisy SRIR (SNR = 30dB)

and what could be restored from it
.

Please reach out for further information!

Sound examples

The following sound examples were rendered binaurally from third order Ambisonic SRIRs.

Input Clean
Input Noisy, 30dB SNR
Restored from 60db input SNR
Restored from 50db input SNR
Restored from 40db input SNR
Restored from 30db input SNR
Restored from 20db input SNR

Code

Please find the code and more documentation here: [Github Repository]