Melgan
Inoffizielle Pytorch -Implementierung von Melgan Vocoder
Schlüsselmerkmale
- Melgan ist leichter, schneller und besser auf unsichtbare Lautsprecher verallgemeinert als Wellenlow.
- Diese Repository verwendet die identische Melspektogrammfunktion von NVIDIA/TACOTRON2, sodass dies direkt verwendet werden kann, um die Ausgabe von NVIDIAs Tacotron2 in RAW-Audio umzuwandeln.
- Vorbereitete Modell auf ljspeech-1.1 über Pytorch Hub.

Voraussetzungen
Getestet auf Python 3.6
pip install -r requirements.txt
Datensatz vorbereiten
- Laden Sie den Datensatz für das Training herunter. Dies können alle WAV -Dateien mit Beispielrate 22050Hz sein. (zB ljspeech wurde in Papier verwendet)
- Präprozess:
python preprocess.py -c config/default.yaml -d [data's root path] - Konfiguration
yaml -Datei bearbeiten
Zug & Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml und dann bearbeiten config.yaml - Schreiben Sie den Stammpfad von Zug-/Validierungsdateien in die 2./3. Zeile auf.
- Jeder Pfad sollte Paare von
*.wav mit entsprechenden (vorverarbeiteten) *.mel -Datei enthalten. - Die Data Loader Parse -Liste der Dateien im Pfad rekursiv.
-
tensorboard --logdir logs/
Vorbereitetes Modell
Versuchen Sie es mit 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 )Schlussfolgerung
-
python inference.py -p [checkpoint path] -i [input mel path]
Ergebnisse
Siehe Audio -Beispiele unter: http://swpark.me/melgan/. Das Modell wurde 14 Tage lang in V100 GPU unter Verwendung von LJSpeech-1.1 trainiert.

Implementierung Autoren
Lizenz
BSD 3-Klausel-Lizenz.
- utils/stft.py von Prem Seetharaman (BSD 3-Clause-Lizenz)
- Datasets/mel2samp.py von https://github.com/nvidia/waveglow (BSD 3-Clause-Lizenz)
- utils/hparams.py von https://github.com/harryvolek/pytorch_speaker_verification (keine Lizenz angegeben)
Nützliche Ressourcen
- Wie trainiere ich einen Gan? Tipps und Tricks, damit Gans von Soumith Chintala funktioniert
- Offizielle Melgan -Implementierung durch Originalautoren
- Reproduktion von Melgan - Neurips 2019 Reproduzierbarkeit Herausforderung (Ablationspur) von Yifeei Zhao, Yichao Yang und Yang Gao
- "Das Ersetzen der durchschnittlichen Pooling -Schicht durch maximale Pooling -Schicht und das Ersetzen der Reflexionspolster durch Replikationspolsterung verbessert die Leistung erheblich, während die Kombination schlechterer Ergebnisse erzielt."