Higher-order Spatial Impulse Response Rendering (HO-SIRR)

About

Higher-order Spatial Impulse Response Rendering (HO-SIRR) is a rendering method, which can synthesise output loudspeaker array room impulse responses (RIRs) using input spherical harmonic (Ambisonic/B-Format) RIRs of arbitrary order [1]. The method makes assumptions regarding the composition of the sound-field and extracts spatial parameters over time, which allows it to map the input to the output in an adaptive and more informed manner; when compared to purely linear methods such as Ambisonics.

The idea is that you then convolve a monophonic source with this loudspeaker array RIR, and it will be reproduced and exhibit much of the spatial characteristics of the captured space. Note that the HO-SIRR algorithm is an extention of the original first-order SIRR formulation, first proposed back in 2005 [2,3], by employing the higher-order analysis principles described in [4].

  • The plug-in and standalone App of HO-SIRR are installed alongside the SPARTA suite, which can be downloaded from here.

  • Source code for the plug-in and standalone App is available under the GPLv3 license and can be found here. Also, note that this code is a direct port of the HO-SIRR MATLAB toolbox, which is slighly more configurable than the C/C++ implementation, and can be found here.

  • For the curious researchers and/or spatial audio developers: note that the plug-in and standalone App are built using the open-source Spatial_Audio_Framework (SAF), which may be of interest to you.

Note: if you find this plugin/App (or code) useful for your research, please consider citing this paper. Furthermore, note that we are currently in the process of fine-tuning the implementation. Therefore, if you find any bugs in the MATLAB/plug-in code, encounter a particulary poor rendering with a certain Ambisonic RIR, or have any general suggestions for improvements/new features; then please get in touch :-)

The Plug-in / Standalone App (Beta)

The suggested workflow is:

  1. Measure a room impulse response (RIR) of a space with a spherical microphone array (e.g. using HAART), and convert it into an Ambisonic/B-format RIR (e.g. using sparta_array2sh).

  2. Load this B-Format/Ambisonic RIR into the HOSIRR App/plug-in and specify your loudspeaker array directions and desired rendering configuration (although, the default should suffice for most purposes).

  3. Click "Render", and then "Save", to export the resulting loudspeaker array RIR as a multi-channel .wav file.

  4. Then simply convolve this loudspeaker array RIR with a monophonic source signal, and it will be reproduced over the loudspeaker array (also exhibiting the spatial characteristics of the captured space). Plug-ins such as Xvolver, sparta_matrixconv (included in the installer), and mcfx_convolver, are well suited to this convolution task.

About the authors

  • Leo McCormack: a doctoral candidate at Aalto University.
  • Archontis Politis: post doctorate researcher at Aalto University, specialising in spatial sound recording and reproduction, acoustic scene analysis and microphone array processing.
  • Ville Pulkki: Professor at Aalto University, known for VBAP, SIRR, DirAC and eccentric behaviour.

References

[1] McCormack, L., Politis, A., Scheuregger, O., and Pulkki, V. (2019). Higher-order processing of spatial impulse responses.
Proceedings of the 23rd International Congress on Acoustics, 9--13 September 2019 in Aachen, Germany.

[2] Merimaa, J. and Pulkki, V. (2005). Spatial impulse response rendering I: Analysis and synthesis
Journal of the Audio Engineering Society, 53(12), pp.1115-1127.

[3] Pulkki, V. and Merimaa, J. (2006). Spatial impulse response rendering II: Reproduction of diffuse sound and listening tests
Journal of the Audio Engineering Society, 54(1/2), pp.3-20.

[4] Politis, A. and Pulkki, V. (2016). Acoustic intensity, energy-density and diffuseness estimation in a directionally-constrained region
arXiv preprint arXiv:1609.03409.


Updated on Friday 6th of March, 2020
This page uses HTML5, CSS, and JavaScript