All Projects → anton-jeran → FAST-RIR

anton-jeran / FAST-RIR

Licence: AGPL-3.0 license
This is the official implementation of our neural-network-based fast diffuse room impulse response generator (FAST-RIR) for generating room impulse responses (RIRs) for a given acoustic environment.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to FAST-RIR

IR-GAN
Augmenting Room Impulse Response
Stars: ✭ 21 (-76.67%)
Mutual labels:  automatic-speech-recognition, augmentation, room-impulse-response, synthetic-data
room-impulse-responses
A list of publicly available room impulse response datasets and scripts to download them.
Stars: ✭ 143 (+58.89%)
Mutual labels:  speech, acoustics, room-impulse-response
icassp2019-latex-template
ICASSP 2019 official Latex template
Stars: ✭ 21 (-76.67%)
Mutual labels:  speech, acoustics
cram
cram is a computational room acoustics module to simulate and explore various acoustic properties of a modeled space
Stars: ✭ 23 (-74.44%)
Mutual labels:  acoustics, room-impulse-response
SDGym
Benchmarking synthetic data generation methods.
Stars: ✭ 177 (+96.67%)
Mutual labels:  generative-adversarial-network, synthetic-data
DeepEcho
Synthetic Data Generation for mixed-type, multivariate time series.
Stars: ✭ 44 (-51.11%)
Mutual labels:  generative-adversarial-network, synthetic-data
sova-asr
SOVA ASR (Automatic Speech Recognition)
Stars: ✭ 123 (+36.67%)
Mutual labels:  speech, automatic-speech-recognition
kaldi helpers
🙊 A set of scripts to use in preparing a corpus for speech-to-text processing with the Kaldi Automatic Speech Recognition Library.
Stars: ✭ 13 (-85.56%)
Mutual labels:  speech, automatic-speech-recognition
mtss-gan
MTSS-GAN: Multivariate Time Series Simulation with Generative Adversarial Networks (by @firmai)
Stars: ✭ 77 (-14.44%)
Mutual labels:  generative-adversarial-network, synthetic-data
tt-vae-gan
Timbre transfer with variational autoencoding and cycle-consistent adversarial networks. Able to transfer the timbre of an audio source to that of another.
Stars: ✭ 37 (-58.89%)
Mutual labels:  speech, generative-adversarial-network
ImageMethodReverb.jl
Room Acoustics Impulse Response Generator using the Randomized Image Method (RIM)
Stars: ✭ 23 (-74.44%)
Mutual labels:  acoustics, room-impulse-response
market risk gan tensorflow
Using Bidirectional Generative Adversarial Networks to estimate Value-at-Risk for Market Risk Management using TensorFlow.
Stars: ✭ 63 (-30%)
Mutual labels:  generative-adversarial-network
eidos-audition
Collection of auditory models.
Stars: ✭ 25 (-72.22%)
Mutual labels:  speech
NBSS
The official repo of "Multi-channel Narrow-band Deep Speech Separation with Full-band Permutation Invariant Training", "Multichannel Speech Separation with Narrow-band Conformer" and "NBC2: Multichannel Speech Separation with Revised Narrow-band Conformer".
Stars: ✭ 77 (-14.44%)
Mutual labels:  speech
MultiGraphGAN
MultiGraphGAN for predicting multiple target graphs from a source graph using geometric deep learning.
Stars: ✭ 16 (-82.22%)
Mutual labels:  generative-adversarial-network
deep-blueberry
If you've always wanted to learn about deep-learning but don't know where to start, then you might have stumbled upon the right place!
Stars: ✭ 17 (-81.11%)
Mutual labels:  generative-adversarial-network
cape
Continuous Augmented Positional Embeddings (CAPE) implementation for PyTorch
Stars: ✭ 29 (-67.78%)
Mutual labels:  speech
ASR-Audio-Data-Links
A list of publically available audio data that anyone can download for ASR or other speech activities
Stars: ✭ 179 (+98.89%)
Mutual labels:  speech
smogn
Synthetic Minority Over-Sampling Technique for Regression
Stars: ✭ 238 (+164.44%)
Mutual labels:  synthetic-data
Anime2Sketch
A sketch extractor for anime/illustration.
Stars: ✭ 1,623 (+1703.33%)
Mutual labels:  generative-adversarial-network

FAST-RIR: FAST NEURAL DIFFUSE ROOM IMPULSE RESPONSE GENERATOR (ICASSP 2022)

This is the official implementation of our neural-network-based fast diffuse room impulse response generator (FAST-RIR) for generating room impulse responses (RIRs) for a given rectangular acoustic environment. Our model is inspired by StackGAN architecture. The audio examples and spectrograms of the generated RIRs are available here.

NEWS : We have genaralized our FAST-RIR to generate RIRs for any 3D indoor scenes represented using meshes. Official code of our network MESH2IR is available.

Requirements

Python3.6
Pytorch
python-dateutil
easydict
pandas
torchfile
gdown
librosa
soundfile
acoustics
wavefile
wavfile
pyyaml==5.4.1
pickle

Embedding

Each normalized embedding is created as follows: If you are using our trained model, you may need to use extra parameter Correction(CRR).

Listener Position = LP
Source Position = SP
Room Dimension = RD
Reverberation Time = T60
Correction = CRR

CRR = 0.1 if 0.5<T60<0.6
CRR = 0.2 if T60>0.6
CRR = 0 otherwise

Embedding = ([LP_X,LP_Y,LP_Z,SP_X,SP_Y,SP_Z,RD_X,RD_Y,RD_Z,(T60+CRR)] /5) - 1

Generete RIRs using trained model

Download the trained model using this command

source download_generate.sh

Create normalized embeddings list in pickle format. You can run following command to generate an example embedding list

 python3 example1.py

Run the following command inside code_new to generate RIRs corresponding to the normalized embeddings list. You can find generated RIRs inside code_new/Generated_RIRs

python3 main.py --cfg cfg/RIR_eval.yml --gpu 0

Range

Our trained NN-DAS is capable of generating RIRs with the following range accurately.

Room Dimension X --> 8m to 11m
Room Dimesnion Y --> 6m to 8m
Room Dimension Z --> 2.5m to 3.5m
Listener Position --> Any position within the room
Speaker Position --> Any position within the room
Reverberation time --> 0.2s to 0.7s

Training the Model

Run the following command to download the training dataset we created using a Diffuse Acoustic Simulator. You also can train the model using your dataset.

source download_data.sh

Run the following command to train the model. You can pass what GPUs to be used for training as an input argument. In this example, I am using 2 GPUs.

python3 main.py --cfg cfg/RIR_s1.yml --gpu 0,1

Related Works

  1. IR-GAN: Room Impulse Response Generator for Far-field Speech Recognition (INTERSPEECH2021)
  2. TS-RIR: Translated synthetic room impulse responses for speech augmentation (IEEE ASRU 2021)

Citations

If you use our FAST-RIR for your research, please consider citing

@INPROCEEDINGS{9747846, 
author={Ratnarajah, Anton and Zhang, Shi-Xiong and Yu, Meng and Tang, Zhenyu and Manocha, Dinesh and Yu, Dong}, 
booktitle={ICASSP 2022 - 2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
title={Fast-Rir: Fast Neural Diffuse Room Impulse Response Generator},
year={2022}, 
volume={},
number={},
pages={571-575},
doi={10.1109/ICASSP43922.2022.9747846}}

Our work is inspired by

@inproceedings{han2017stackgan,
Author = {Han Zhang and Tao Xu and Hongsheng Li and Shaoting Zhang and Xiaogang Wang and Xiaolei Huang and Dimitris Metaxas},
Title = {StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks},
Year = {2017},
booktitle = {{ICCV}},
}

If you use our training dataset generated using Diffuse Acoustic Simulator in your research, please consider citing

@inproceedings{9052932,
  author={Z. {Tang} and L. {Chen} and B. {Wu} and D. {Yu} and D. {Manocha}},  
  booktitle={ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},  
  title={Improving Reverberant Speech Training Using Diffuse Acoustic Simulation},   
  year={2020},  
  volume={},  
  number={},  
  pages={6969-6973},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].