DOI: 10.5281/zenodo.11199830
title: Dataset of Room Impulse Responses from Baffled Microphone Arrays and Sound Sources at Three Elevations

description: This data set contains a collection of impulse responses (stored in SOFA format) from spherical microphone arrays (SMAs), equatorial microphone arrays (EMAs), and non-spherical microphone arrays (XMAs). Thereby, impulse response sets are provided for each array type at various spatial resolutions, for a loudspeaker sound source at three source elevations, and in four diverse acoustic environments (see DATA section for a full description).

The original purpose of the microphone array data is the binaural rendering in the spherical harmonics (SH) domain into ear signals for high-fidelity reproduction of the acoustic scenario via headphones. Therefore, binaural room impulse responses (BRIRs) for 360 horizontal head orientations of a G.R.A.S KEMAR acoustic dummy head are provided as a reference for each scenario.

Please contact the authors for questions or additional information regarding the room setups and utilized measurement devices.

 

====== DATA======

This archive contains the processed impulse response sets of various measurement configurations, as described in this section.

Directory "resources/ARIR_processed/":



Post-processed SMA and EMA impulse responses



"_SMA*_" or "_EMA*_" in the file name

In SOFA format with "SingleRoomSRIR" convention

From 1x DPA 4060 microphone flush mounted in a wooden spherical scattering body with an 8.5 cm radius

High-resolution data (measured sequentially on VariSphear turntable with two degrees-of-freedom rotations):



Hall: 1202 channels (Lebedev grid) for maximum SH order 29

Others: 2702 channels (Lebedev grid) for maximum SH order 44



Lower-resolution data via subsampling in the SH domain (arbitrary sampling grids and lower target orders can be achieved):



SH order 29: 1742 channels (t-design grid) for SMA; 59 channels (equiangular grid) for EMA

SH order 12: 314 channels (t-design grid) for SMA; 25 channels (equiangular grid) for EMA

SH order 8: 146 channels (t-design grid) for SMA; 17 channels (equiangular grid) for EMA

SH order 4: 42 channels (t-design grid) for SMA; 9 channels (equiangular grid) for EMA

SH order 2: 14 channels (t-design grid) for SMA; 5 channels (equiangular grid) for EMA

SH order 1: 6 channels (t-design grid) for SMA; 3 channels (equiangular grid) for EMA





Post-processed XMA impulse responses



"_XMA*_" in the file name

In SOFA format with "SingleRoomSRIR" convention

From 18x Rode Lavalier GO microphone mounted in an elastic band on a wooden head-shaped scattering body (7.5 cm to 10.5 cm radius)

High-resolution data (measured simultaneously):



18 channels for maximum SH order 8



Lower-resolution data via integer subsets of microphones:



SH order 4: 9 channels

SH order 2: 6 channels



Anechoic: For 360 horizontal scattering body orientations (measured sequentially on a VariSphear turntable with azimuth in 1-degree steps)

Rooms: For 36 horizontal scattering body orientations (measured sequentially on VariSphear turntable with azimuth in 10-degree steps)



Generated XMA calibration filters and equalization filters



"_x_nm_" and "_e_nm_" in the file name

In proprietary Matlab format

Time-domain representation of filters in the respective orders of "real" spherical harmonics



Post-processed binaural impulse responses



"_KEMAR_" in the file name

In SOFA format with "SingleRoomSRIR" convention

From G.R.A.S KEMAR dummy head with large pinna

For 360 horizontal head orientations (measured sequentially on VariSphear turntable with azimuth in 1-degree steps)



Thereby, impulse response sets are included for five acoustic environments



"Simulation_": Anechoic simulation of a plane wave impinging from the frontal direction on the array (SMA and EMA only)

"Anechoic_": Anechoic measurement of a Genelec 8030A loudspeaker at the same height of the array

"LabDry_": Room measurement in an acoustically damped laboratory of a Genelec 8030A loudspeaker at three different source heights (the direct floor reflection is attenuated with an additional porous absorber but otherwise identical to the following condition)

"LabWet_": Room measurement in an acoustically damped laboratory of a Genelec 8030A loudspeaker at three different source heights (the direct reflection is not obstructed from the hard concrete floor, but otherwise identical to the former condition)

"Hall_": Room measurement in a very reverberant hall of a Genelec 8030A loudspeaker at three different source heights



Thereby, the room impulse response sets are included for three relative source elevations (from placing the loudspeaker to varying heights on the same vertical axis)



"_SrcHigh": The source is located above the horizon of the receiver

"_SrcEar": The source and receiver are located at the same height

"_SrcLow": The source is located below the horizon of the receiver



Additionally, anechoic impulse responses of the measurement loudspeaker and the utilized microphones are included



"Anechoic_MicSMAnoTape_": SMA measurement microphone without the applied tape (the source was compensated)

"Anechoic_MicSMAwithTape_": SMA measurement microphone with the applied tape (the source was compensated)

"Anechoic_MicXMAmic19_": XMA measurement microphone (the source was compensated)

"Anechoic_SrcFreeField_": Measurement source (on-axis) (the influence of the utilized high-quality free-field measurement microphone can be neglected)

"Anechoic_SrcFreeField+MicSMAnoTape_": Measurement source and SMA measurement microphone without the tape applied

"Anechoic_SrcFreeField+MicSMAwithTape_": Measurement source and SMA measurement microphone with the tape applied

"Anechoic_SrcFreeField+MicXMAmic19_": Measurement source and XMA measurement microphone

Overall, the resulting impulse response sets contain the following compensations (including exact compensation of the phase/time behavior):



Anechoic KEMAR: Source

Anechoic SMA/EMA/XMA: Source and array microphones

Rooms KEMAR: None

Rooms SMA/EMA/XMA: Array microphones

There is the option to compensate for the source's on-axis response in the room measurement data. However, the direction-dependent directivity of the loudspeaker cannot be compensated. Therefore, we decided not to compensate for the source in the room measurement data since the on-axis frequency response of the utilized loudspeaker is reasonably flat.






 

===========  DATA_RAW===========

This archive is too large to be uploaded to Zotero (around 77.5 GB). Please get in touch with the authors to request the data.

The archive contains the raw acoustic data of all measurement configurations captured by the measurement scripts (see section CODE_AND_PLOTS). The data yields the final impulse responses (see section DATA), as described in this section.

Directory "resources/ARIR_raw/":



Subdirectories by room and source position containing the raw SMA, XMA, and KEMAR acoustic measurement data

In proprietary Matlab format, separate for every measurement position of each configuration

Each data file contains extensive metadata, e.g., describing the utilized hardware devices, input/output ports, and descriptions.

Each data file contains the raw utilized exponential sweep signal and the resulting captured microphone signals. Each impulse response may be recomputed with alternative deconvolution and post-processing parameters.


Directory "resources/ARIR_raw/Logs_temp_humidity/":



Air temperature and humidity data were captured in 5-second intervals during all acoustic measurements

In CSV format (automatically loaded and included in the final impulse response sets as part of the measurement post-processing; see section CODE_AND_PLOTS)

This data is not further utilized at the moment but seemed worthwhile to capture since some acoustic measurements (particularly the high-resolution SMA data sets) were conducted over multiple hours.


 

================== CODE_AND_PLOTS==================

This archive contains the code required to gather the raw acoustic measurement data (see section DATA_RAW), the code to post-process and yield the final impulse response data (see section DATA), and the resulting plots as described in this section.

Directory "dependencies/":



Matlab and Python functions that are utilized in the code

Additional dependencies of available open-source projects may be required for certain code functions. If so, the source and setup process for the necessary dependencies are documented in the code header.


Directory "plots/":



Plots that were exported (and that may be regenerated) by the following scripts to validate different stages of the data simulation, measurement, and subsampling.


Shell script "x1_Start_Jupyter.sh":



Prepare a Python environment with the required tools described as dependencies.

Activate the prepared Python environment to perform impulse response measurements using Jupyter Notebooks setup for different acoustic settings.


Python Jupyter notebook "x1a_Measure_Microphones.ipynb":



Setup and test the utilized acoustic measurement hardware.

Perform a series of acoustic measurements of all utilized microphones in an anechoic environment.

Export the raw acoustic data and processed impulse responses.


Python Jupyter notebook "x1b_Measure_BRIRs.ipynb":



Setup and test the utilized acoustic measurement hardware.

Generate a horizontal grid of measurement orientations for the VariSphear turntable according to the desired dummy head orientations.

Perform a series of acoustic measurements of the dummy head at the pre-defined grid in anechoic and various room environments.

Export the raw acoustic data and processed impulse responses.


Python Jupyter notebook "x1c_Measure_SMAs.ipynb":



Setup and test the utilized acoustic measurement hardware.

Generate a spherical grid of measurement orientations for the VariSphear turntable according to the desired SMA sampling grid.

Perform a series of acoustic measurements of the SMA microphone at the pre-defined grid in anechoic and various room environments.

Export the raw acoustic data and processed impulse responses.


Python Jupyter notebook "x1d_Measure_XMAs.ipynb":



Setup and test the utilized acoustic measurement hardware.

Generate a horizontal grid of measurement orientations for the VariSphear turntable according to the desired scattering body orientations.

Perform a series of acoustic measurements of the XMA microphones at the pre-defined grid in anechoic and various room environments.

Export the raw acoustic data and processed impulse responses.


Matlab script "x1e_Simulate_SMAs.m":



Simulate a plane wave impinging from an arbitrary direction on SMAs and EMAs with a desired sampling grid in an anechoic environment.

The simulations are helpful to evaluate the rendering method and to investigate the influence of different sampling grids and equalization methods on the rendered binaural signals.


Matlab script "x2_Gather_And_Plot_Measurements.m":



Gather the stored single files with individually measured impulse responses and the according metadata into a combined data set.

The initial impulse responses can be recomputed with pre- and post-processing parameters tuned towards the specific acoustic scenario, including compensation of provided source and receiver impulse responses.

Many plots may be generated during the processing to validate the input and output data.


Matlab script "x2a_Compare_Measurement_Lengths.m":



Compare the length of the resulting impulse responses of designated measurement configurations.

This may be helpful for the tuning of pre-processing and post-processing parameters of the measured impulse responses.


Matlab script "x3_Subsample_Measurements.m":



Spatially subsample a high-resolution directional impulse response data set into a different (lower-resolution) sampling grid in the spherical harmonics domain.

This is suitable for array and HRIR data sets.

The script also compares the subsampled data against a reference set if available. In the current data set, an evaluation is performed for an anechoic simulation and a room measurement of an SMA at SH order 8.


Matlab script "x3a_Gather_XMA_Measurements.m":





Transform anechoic XMA measurement data from SOFA into the data format required by the processing scripts to calculate the respective calibration and equalization filters.



Readme file "x3b_Generate_XMA_Filters.txt":



The code for this functionality follows the publication [1] but is currently not polished enough for publication. Please contact Jens Ahrens (jens.ahrens@chalmers.se) for questions regarding this functionality.

[1] J. Ahrens, H. Helmholz, D. Lou Alon, and S. V. Amengual Garí, “Spherical Harmonic Decomposition of a Sound Field Using Microphones on a Circumferential Contour Around a Non-Spherical Baffle,” IEEE/ACM Trans. Audio, Speech, Lang. Process., vol. 30, pp. 3110–3119, 2022, doi: 10.1109/TASLP.2022.3209940.


Matlab script "x3c_Gather_XMA_Filters.m":



Rename the files containing the computed calibration and equalization filters into a suitable convention for this collection of scripts.

The generated name includes an incremental index to track different versions of provided filter sets.


Matlab script "x3d_Compare_XMA_Filters.m":





Generate various time domain and frequency domain plots to compare different versions of the generated XMA calibration and equalization filters.



 

================ DOCUMENTATION================

This archive contains additional documentation of the setups and processes while conducting the acoustic measurements, as described in this section.

Directory "documentation/":



Various photographs of the different room, source, and receiver arrangements of the data set

The room dimensions and source and receiver positions are documented in the form of the original measurement notes (this may be improved in the future).


 
description: This work was funded by Reality Labs by Meta.