Melgan
Implémentation non officielle de Pytorch de MELGAN VOCODER
Caractéristiques clés
- Melgan est plus léger, plus rapide et mieux pour généraliser aux haut-parleurs invisibles que les éclats d'onde.
- Ce référentiel utilise une fonction de spectrogramme MEL identique à partir de NVIDIA / Tacotron2, donc cela peut être utilisé directement pour convertir la sortie de Tacotron2 de Nvidia en Raw-Audio.
- Modèle pré-entraîné sur LJSpeech-1.1 via Pytorch Hub.

Condition préalable
Testé sur Python 3.6
pip install -r requirements.txt
Préparer un ensemble de données
- Téléchargez un ensemble de données pour la formation. Il peut s'agir de tous les fichiers WAV avec une fréquence d'échantillonnage 22050Hz. (par exemple, LJSpeech a été utilisé dans le papier)
- Preprocess:
python preprocess.py -c config/default.yaml -d [data's root path] - Modifier le fichier
yaml Configuration
Train et Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml puis modifier config.yaml - Notez le chemin racine des fichiers Train / Validation vers la 2e / 3e ligne.
- Chaque chemin doit contenir des paires de
*.wav avec le fichier correspondant (prétraité) *.mel . - Le chargeur de données analyse la liste des fichiers dans le chemin de manière récursive.
-
tensorboard --logdir logs/
Modèle pré-entraîné
Essayez avec Google Colab: Todo
import torch
vocoder = torch . hub . load ( 'seungwonpark/melgan' , 'melgan' )
vocoder . eval ()
mel = torch . randn ( 1 , 80 , 234 ) # use your own mel-spectrogram here
if torch . cuda . is_available ():
vocoder = vocoder . cuda ()
mel = mel . cuda ()
with torch . no_grad ():
audio = vocoder . inference ( mel )Inférence
-
python inference.py -p [checkpoint path] -i [input mel path]
Résultats
Voir les échantillons audio à: http://swpark.me/melgan/. Le modèle a été formé au GPU V100 pendant 14 jours en utilisant LJSPEECH-1.1.

Auteurs d'implémentation
Licence
Licence BSD 3-CLAUSE.
- utils / stft.py by Prem Seetharaman (licence BSD 3 clause)
- DataSets / Mel2samp.py à partir de https://github.com/nvidia/waveglow (licence BSD 3-CLAUSE)
- utils / hparams.py de https://github.com/harryvolek/pytorch_speaker_verification (aucune licence spécifiée)
Ressources utiles
- Comment former un Gan? Conseils et astuces pour faire fonctionner Gans par Soumith Chintala
- Implémentation officielle de Melgan par des auteurs originaux
- Reproduction de MELGAN - NEIRIPS 2019 Reproductibilité Challenge (Ablation Track) par Yifei Zhao, Yichao Yang et Yang Gao
- "Le remplacement de la couche de regroupement moyenne par une couche de pool maximale et le remplacement du rembourrage de réflexion par un rembourrage de réplication améliore considérablement les performances, tandis que les combinaisons produisent des résultats pires"