[arXiv] [Website] [AVR Code] [BibTex]
This is an acoustic impulse response simulation platform based on the Sionna ray tracing engine. This is used by the NeurIPS'24 Paper Acoustic Volume Rendering for Neural Impulse Response Fields.
This repo contains the Sionna ray tracing engine, which is primarily for radio-frequency signal simulations. We modify the ray interactions with the environments to support Sionna for acosutic simulator and build AcoustiX.
We are still working on this repo to make it more user-friendly. Stay tuned!
- 2025.12.15: We updated the license.
- 2025.03.04: we update the collect_dataset.py. With detailed configuration files
This repo contains the official implementation for AcoustiX.
- install the sionna ray tracing package (we have modifyed the source code on sionna to support acoustic simulation)
cd sionna
pip install .AcoustiX/
├── extract_scene/ # tools to extract the scene files from igibson dataset
├── img_render/ # tools to extract the img from igibson dataset
├── simu_config/ # simulation config file
│ ├── basic_config.yml # basic omnidirectional impulse response config
│ └── directional_config.yml # directional impulse response config
├── sionna/ # sionna ray tracing engine
├── acoustic_absorptions.json # common material configuration files
├── ir_utils.py # ir metric utils
├── simu_utils.py # simulation utils
├── pattern.py # speaker or microphone gain pattern file
├── collect_dataset.py # basic file to collect the impulse response dataset
├── README.md # Project documentation
└── .gitignore # Git ignore filepython3 collect_dataset.py --save-data # store data to a file
python3 collect_dataset.py # just show the impulse response data- To use iGibson dataset for simulation, please go download the iGibson dataset
- Extract the scene files in the ./extrac_scene
python3 extract_scene.py # extract the environment ply files
python3 generate_xml.py # generate the AcoustiX simulator compatible files .XMLWe refer the following configuration to simu_config/basic_config.yml
| Entry | Default Value | Description |
|---|---|---|
max_depth |
10 | Maximum number of reflections for ray tracing. |
num_samples |
50000 | Number of ray samples for Monte Carlo simulation. |
los |
true |
Enable line-of-sight (direct path). |
reflection |
true |
Enable sound reflections. |
diffraction |
false |
Enable diffraction effects. |
scattering |
true |
Enable scattering effects. |
scat_prob |
0.00001 | Probability of scattering occurring. |
| Entry | Default Value | Description |
|---|---|---|
attn |
0.001 | Attenuation factor for impulse response. |
fs |
48000 | Sampling frequency in Hz. |
ir_len |
4800 | Impulse response length in samples. |
speed |
343.8 | Speed of sound in m/s. |
noise |
0.001 | Noise level in impulse response. |
tx_pattern |
uniform |
Transmission pattern (e.g., uniform, directional). |
rx_pattern |
uniform |
Receiver pattern (e.g., uniform, directional). |
To create your own acoustic environment, please go and check the official tutrial about Sionna: Create your own scene using blender
AcoustiX is licensed under a MIT License.
If you find this project to be useful for your research, please consider citing the paper.
@inproceedings{lanacoustic,
title={Acoustic Volume Rendering for Neural Impulse Response Fields},
author={Lan, Zitong and Zheng, Chenhao and Zheng, Zhiwei and Zhao, Mingmin},
booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems}
}