Skip to content

Room Impulse Response reconstruction with Physics Informed Neural Networks

License

Notifications You must be signed in to change notification settings

xefonon/RIRPINN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RIRPINN


This repository contains the code for the paper Room impulse response reconstruction with physics-informed deep learning . The paper is published in the Journal of the Acoustical Society of America.

Abstract


A method is presented for estimating and reconstructing the sound field within a room using physics-informed neural networks. By incorporating a limited set of experimental room impulse responses as training data, this approach combines neural network processing capabilities with the underlying physics of sound propagation, as articulated by the wave equation. The network's ability to estimate particle velocity and intensity, in addition to sound pressure, demonstrates its capacity to represent the flow of acoustic energy and completely characterise the sound field with only a few measurements. Additionally, an investigation into the potential of this network as a tool for improving acoustic simulations is conducted. This is due to its profficiency in offering grid-free sound field mappings with minimal inference time. Furthermore, a study is carried out which encompasses comparative analyses against current approaches for sound field reconstruction. Specifically, the proposed approach is evaluated against both data-driven techniques and elementary wave-based regression methods. The results demonstrate that the physics-informed neural network stands out when reconstructing the early part of the room impulse response, while simultaneously allowing for complete sound field characterisation in the time domain.

Usage


To create a conda environment with all the required dependencies, execute the following command in your terminal:

conda env create -f environment.yml

To activate the environment, execute the following command in your terminal:

conda activate rir_pinn

Before running the code, you need to download the RIR dataset and place it in the data folder. This is done automatically by running the DL_data.py script found in the data folder.

python ./data/DL_data.py

To train the network, execute the following command in your terminal:

python ./src/run_PINN.py

An example of how to use the trained network to reconstruct the sound field is provided in the ./src/inference_nb.ipynb notebook.

Citation


If you use this code in your research, please cite the following paper:

@article{10.1121/10.0024750,
    author = {Karakonstantis, Xenofon and Caviedes-Nozal, Diego and Richard, Antoine and Fernandez-Grande, Efren},
    title = "{Room impulse response reconstruction with physics-informed deep learning}",
    journal = {The Journal of the Acoustical Society of America},
    volume = {155},
    number = {2},
    pages = {1048-1059},
    year = {2024},
    month = {02},
    issn = {0001-4966},
    doi = {10.1121/10.0024750},
    url = {https://doi.org/10.1121/10.0024750},
    eprint = {https://pubs.aip.org/asa/jasa/article-pdf/155/2/1048/19508065/1048\_1\_10.0024750.pdf},
}

About

Room Impulse Response reconstruction with Physics Informed Neural Networks

Resources

License

Stars

Watchers

Forks

Packages

No packages published