SDMtoolbox is a collection of matlab functions and scripts for spatial room impulse response analysis and synthesis using Spatial Decomposition method . Visualization of the spatial room impulse response is implemented as in . Other examples of the visualization have been shown for example in , and . Synthesis of the spatial room impulse response is implemented as described in . Binaural synthesis follows the method in .
The toolbox processes spatial room impulse responses, measured with a microphone array. The microphone array has to be specified as micLocs = microphone locations in Cartesian coordinates [numberOfMics 3] and in the order [x,y,z].
The spatial impulse response should be presented in the same order as the microphone locations IR : [N numberOfMics]
For auralization, a loudspeaker array must be defined with lspLocs = loudspeaker in Spherical coordinates [numberOfLoudSpeaker 3]. The order is Azimuth in degrees, Elevation in degrees, and Radius in meters.
There are several standard default loudspeaker setups, e.g., 5.1, in createSynthesisStruct.m, which you can use directly.
Example use cases for analysis, visualization, synthesis, and reproduction with different loudspeaker arrays or binaurally with headphones are found in:
To run these examples, type
in your Matlab command prompt.
This version has been tested with Matlab R2015b and R2014b. Some functions used in the demos are not available in older versions. For example, parula.m and websave.m are not included before R2014b.
The demos are using examples files, which you can also directly download by copy-pasting these links to your browser
 S. Tervo, J. Pätynen, A. Kuusinen, T. Lokki "Spatial decomposition method for room impulse responses", Journal of the Audio Engineering Society, vol. 61, no. 1/2, pp. 16-27, 2013
 J. Pätynen, S. Tervo, T. Lokki, "Analysis of concert hall acoustics via visualizations of time-frequency and spatiotemporal responses", In J. Acoustical Society of America, vol. 133, no. 2, pp. 842-857, 2013.
 S. Tervo, J. Saarelma, J. Pätynen, P. Laukkanen, I. Huhtakallio, "Spatial analysis of the acoustics of rock clubs and nightclubs", In the IOA Auditorium Acoustics, Paris, France, pp. 551-558, 2015
 S. Tervo, J. Pätynen, N. Kaplanis, M. Lydolf, S. Bech, and T. Lokki "Spatial Analysis and Synthesis of Car Audio System and Car Cabin Acoustics with a Compact Microphone Array", Journal of the Audio Engineering Society 63 (11), 914-925, 2014
 P. Laukkanen "Evaluation of Studio Control Room Acoustics with Spatial Impulse Responses and Auralization", Master's thesis, Aalto University, 2014
 J. Pätynen, S. Tervo, and T. Lokki, "Amplitude panning decreases spectral brightness with concert hall auralizations", In Proc. 55th Audio Eng. Soc. conference Helsinki, Finland, Aug. 27-29 2014.
Sakari Tervo (2021). SDM Toolbox (https://www.mathworks.com/matlabcentral/fileexchange/56663-sdm-toolbox), MATLAB Central File Exchange. Retrieved .
My previous comment refers to the file createSynthesisStruct.m ...
Note that there is a typo in line 395. It reads
p.lspLoc(:,1:2) = [A(:)*180/pi, E(:)*180/pi];
It should be reading
p.lspLocs(:,1:2) = [A(:)*180/pi, E(:)*180/pi];
This is only goign to affect renderng with the CIPIC HRTFs.
Excuse my typos...
The post-equalisation in syntheziseSDMCoeff.m is not working properly for all impulse responses. It was originally developed to equalise the late response of a small room (thus short decay) and for that purpose it works well. However, when applied with longer decays (i.e. larger rooms) it might create some audible artefacts and therefore it is not recommended to use with long decays. Indeed, with longer decays the late reverberation seldom needs any EQ.
All data is not anymore available on those links above, but you can find the data here: https://users.aalto.fi/~ktlokki/sdm_tools.html
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!