language: en
tags:
- Speech Enhancement
- PyTorch
license: apache-2.0
datasets:
- Voicebank
- DEMAND
metrics:
- PESQ
- STOI
MetricGAN-trained model for Enhancement
This repository provides all the necessary tools to perform enhancement with SpeechBrain. For a better experience we encourage you to learn more about SpeechBrain. The model performance is:
Release | Test PESQ | Test STOI |
---|---|---|
21-04-27 | 3.15 | 93.0 |
Install SpeechBrain
First of all, please install SpeechBrain with the following command:
pip install speechbrain
Please notice that we encourage you to read our tutorials and learn more about SpeechBrain.
Pretrained Usage
To use the mimic-loss-trained model for enhancement, use the following simple code:
import torch
import torchaudio
from speechbrain.pretrained import SpectralMaskEnhancement
enhance_model = SpectralMaskEnhancement.from_hparams(
source="speechbrain/metricgan-plus-voicebank",
savedir="pretrained_models/metricgan-plus-voicebank",
)
# Load and add fake batch dimension
noisy = enhance_model.load_audio(
"speechbrain/metricgan-plus-voicebank/example.wav"
).unsqueeze(0)
# Add relative length tensor
enhanced = enhance_model.enhance_batch(noisy, lengths=torch.tensor([1.]))
# Saving enhanced signal on disk
torchaudio.save('enhanced.wav', enhanced.cpu(), 16000)
Inference on GPU
To perform inference on the GPU, add run_opts={"device":"cuda"}
when calling the from_hparams
method.
Training
The model was trained with SpeechBrain (d0accc8). To train it from scratch follows these steps:
- Clone SpeechBrain:
git clone https://github.com/speechbrain/speechbrain/
- Install it:
cd speechbrain
pip install -r requirements.txt
pip install -e .
- Run Training:
cd recipes/Voicebank/enhance/MetricGAN
python train.py hparams/train.yaml --data_folder=your_data_folder
https://drive.google.com/drive/folders/1fcVP52gHgoMX9diNN1JxX_My5KaRNZWs?usp=sharing
You can find our training results (models, logs, etc) [here](https://drive.google.com/drive/folders/1fcVP52gHgoMX9diNN1JxX_My5KaRNZWs?usp=sharing)
### Limitations
The SpeechBrain team does not provide any warranty on the performance achieved by this model when used on other datasets.
## Referencing MetricGAN+
If you find MetricGAN+ useful, please cite:
@article{fu2021metricgan+, title={MetricGAN+: An Improved Version of MetricGAN for Speech Enhancement}, author={Fu, Szu-Wei and Yu, Cheng and Hsieh, Tsun-An and Plantinga, Peter and Ravanelli, Mirco and Lu, Xugang and Tsao, Yu}, journal={arXiv preprint arXiv:2104.03538}, year={2021} }
## Referencing SpeechBrain
If you find SpeechBrain useful, please cite:
@misc{SB2021, author = {Ravanelli, Mirco and Parcollet, Titouan and Rouhe, Aku and Plantinga, Peter and Rastorgueva, Elena and Lugosch, Loren and Dawalatabad, Nauman and Ju-Chieh, Chou and Heba, Abdel and Grondin, Francois and Aris, William and Liao, Chien-Feng and Cornell, Samuele and Yeh, Sung-Lin and Na, Hwidong and Gao, Yan and Fu, Szu-Wei and Subakan, Cem and De Mori, Renato and Bengio, Yoshua }, title = {SpeechBrain}, year = {2021}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/speechbrain/speechbrain}}, }
#### About SpeechBrain
SpeechBrain is an open-source and all-in-one speech toolkit. It is designed to be simple, extremely flexible, and user-friendly. Competitive or state-of-the-art performance is obtained in various domains.
Website: https://speechbrain.github.io/
GitHub: https://github.com/speechbrain/speechbrain