This toolbox can be used to generate simulated spherical room impulse response (SRIR) datasets.
Python and Matlab, a C/C++ compiler
git clone --recurse-submodules <repo-URL>
- The following Python packages are required
- pyyaml
- soundfile
- numpy
- scipy
- pandas
- Create your environment (e.g. via
conda create -n <envname>or viapython -m venv .venv) - Activate your environment (e.g. via
conda activate <envname>or via.venv/Scripts/activate) - You can install the required packages via
pip install -r requirements.txt
- Open Matlab
- Go to
./matlab/SMIR-Generator - Check that a compiler is set for mex via
mex -setup - Run (in Matlab):
mex smir_generator_loop.cpp
You can find more information about the SMIR generator here.
Warning: This will take a long time! You can change ANECHOIC to true in configs/srir_config.yml for quick checking that the pipeline is working.
Run generate_srirs.sh or generate_srirs_parallel.sh for faster generation on multicore CPUs. In the latter case, you can adjust the number of CPU cores used in the shell script.
The output SRIRs will be in srirs/medt60_set_05t. The mic folder contains simulated spherical array impulse responses.
To convert these to Ambisonics (First order AmbiX format), run python srirs_to_ambix.py in your Python environment.
Either adjust the parameters in srir_config.yml or in srir_config.py.
In the latter case, you have to run srir_config.py to update the YAML file.