Skip to content

[Neurips'24 and 25] "Acoustic Volume Rendering for Neural Impulse Response Fields" and "Resounding Acoustic Fields With Reciprocity"

Notifications You must be signed in to change notification settings

penn-waves-lab/AVR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code for Acoustic Field Reconstruction

[NeurIPS'24 Spotlight] AVR: Acoustic Volume Rendering for Neural Impulse Response Fields

[NeurIPS'25 Paper] Versa: Resounding Acoustic Fields with Reciprocity

[AVR arXiv] [AVR Website] [AcoustiX Code] [BibTex]

[Versa arXiv] [Versa Website]

Figure Description

Contents

This repo contains the official implementation for AVR. For our simulator: AcoustiX Code, please use another repo.

Updates

  • 2025.12.18: Add Versa repo.

Codebase

Below is the instructions on how to install and set up the project.

Requirements (in addition to the common python stack)

  • pytorch
  • numpy
  • scipy
  • matplotlib
  • librosa
  • auraloss

In addition to above common python packages, we also use tinycudann to speed up the ray sampling. Installation of this repo and python extension is shown below.

# install tiny-cuda-nn PyTorch extension
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

Project structure

AVR/
├── config_files/          # training and testing config files
│   ├── avr_raf_furnished.yml
│   ├── avr_raf_empty.yml
│   ├── avr_meshrir.yml
│   └── avr_simu.yml       
├── logs/                  # Log files
│   ├── meshrir            # Meshrir logs
│   ├── RAF                # RAF logs
│   └── simu               # Simulation logs
├── tensorboard_logs/      # TensorBoard log files
├── data/                  # Dataset 
├── utils/                 # Utility scripts
│   ├── criterion.py       # Loss functions   
│   ├── logger.py          
│   ├── spatialization.py  # Audio spatialization        
│   └── metric.py          # Metrics calculation.
├── tools/                 # Tools to create datasets and more   
│   └── meshrir_split.py   # Create meshrir dataset split
├── avr_runner.py          # AVR runner
├── datasets_loader.py     # dataloader for different datasets
├── model.py               # network
├── renderer.py            # acoustic rendering file
├── README.md              # Project documentation
└── .gitignore             # Git ignore file

Example Usage

  • Train AVR on RAF-Furnished dataset
python avr_runner.py --config ./config_files/avr_raf_furnished.yml --dataset_dir ./data/RAF/FurnishedRoomSplit
  • Train AVR on RAF-Empty dataset
python avr_runner.py --config ./config_files/avr_raf_empty.yml --dataset_dir ./data/RAF/EmptyRoomSplit
  • Train AVR on MeshRIR dataset
python avr_runner.py --config ./config_files/avr_meshrir.yml  --dataset_dir ./data/MeshRIR

Create your own dataset

MeshRIR dataset: Refer to Create Meshrir Dataset Instructions

Results and Visualizations

We show some visualization results from our paper:

We show the impusle response frequency spatial distribution with ground truth and different baseline methods. This is a bird-eye view of signal distributions. Figure Description

We show the estimated impulse response from different datasets and methods. Figure Description

Citation

If you find this project to be useful for your research, please consider citing the paper.

@inproceedings{lanresounding,
  title={Resounding Acoustic Fields with Reciprocity},
  author={Lan, Zitong and Hao, Yiduo and Zhao, Mingmin},
  booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems}
}

@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}
}

About

[Neurips'24 and 25] "Acoustic Volume Rendering for Neural Impulse Response Fields" and "Resounding Acoustic Fields With Reciprocity"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages