# A Recurrent Variational Autoencoder for Speech Enhancement
\ No newline at end of file
This repository contains the implementation of the speech enhancement method proposed in:
>S. Leglaive, X. Alameda-Pineda, L. Girin, R. Horaud, [A Recurrent Variational Autoencoder for Speech Enhancement](https://hal.archives-ouvertes.fr/hal-02329000/document), in Proc. of the IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP), 2020.
Audio examples are available [here](https://sleglaive.github.io/demo-icassp2020.html).
If you use this code, please cite the above-mentioned paper ([Bibtex](https://hal.archives-ouvertes.fr/hal-02329000v1/bibtex)).
*```main.py```: Main script to run the speech enhancement algorithms. If you just want to test the method quickly, run this script. Input and output audio files are located in the ```audio``` folder.
*```SE_algorithms.py```: Implementation of the speech enhancement algorithms (MCEM, PEEM, VEM).
*```./training/speech_dataset.py```: Custom Pytorch dataset for training.
*```./training/VAEs.py```: Pytorch implementation of the FFNN, RNN and BRNN variational autoencoders (VAEs).
*```./training/train_FFNN_WSJ0.py```: Script to train the FFNN VAE.
*```./training/train_RNN_WSJ0.py```: Script to train the RNN VAE.
*```./training/train_BRNN_WSJ0.py```: Script to train the BRNN VAE.
## Conda environment
```environment.yml``` describes the conda environment that was used for the experiments.
## License
GNU Affero General Public License (version 3), see ```LICENSE.txt```.