Skip to content

Repository files navigation

Spherical room impulse response dataset generation for AmbiSep

This toolbox can be used to generate simulated spherical room impulse response (SRIR) datasets.

Prerequisites

Python and Matlab, a C/C++ compiler

Installation

Git

git clone --recurse-submodules <repo-URL>

Python

  • The following Python packages are required
    • pyyaml
    • soundfile
    • numpy
    • scipy
    • pandas
  • Create your environment (e.g. via conda create -n <envname> or via python -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

SMIR generator MEX

  1. Open Matlab
  2. Go to ./matlab/SMIR-Generator
  3. Check that a compiler is set for mex via mex -setup
  4. Run (in Matlab): mex smir_generator_loop.cpp

You can find more information about the SMIR generator here.

Generating the AmbiSep SRIR dataset

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.

Generate a different SRIR dataset

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.

About

Generate AmbiSep dataset with spherical room impulse responses

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages