In unserem Artikel schlugen wir Hifigan vor: ein GaN-basiertes Modell, das eine effiziente High-Fidelity-Sprache erzeugen kann.
In diesem Repository bieten wir unsere Implementierungs- und vorbereiteten Modelle als Open Source an.
Zusammenfassung: In mehreren neueren Arbeiten zur Sprachsynthese wurden generative kontroverse Netzwerke (GANs) zur Erzeugung von Rohwellenformen verwendet. Obwohl solche Methoden die Probenahmeeffizienz und den Speicherverbrauch verbessern, hat ihre Stichprobenqualität die von autoregressiven und fließenden generativen Modellen noch nicht erreicht. In dieser Arbeit schlagen wir Hifigan vor, die sowohl eine effiziente als auch eine effiziente Sprachsynthese mit hoher Finderschaft erreicht. Da Sprachuentio aus sinusförmigen Signalen mit verschiedenen Perioden besteht, zeigen wir, dass die Modellierung periodischer Muster eines Audios entscheidend für die Verbesserung der Stichprobenqualität ist. Eine subjektive menschliche Bewertung (mittlere Meinungsbewertung, MOS) eines einzelnen Sprecher-Datensatzes zeigt, dass unsere vorgeschlagene Methode die Ähnlichkeit mit der menschlichen Qualität zeigt und gleichzeitig 22,05 kHz-Audio-Audio 167,9-mal schneller als Echtzeit bei einem einzelnen V100-GPU generiert. Wir zeigen ferner die Allgemeinheit von Hifigan zur Melspektrogramm-Inversion unsichtbarer Sprecher und der End-to-End-Sprachsynthese. Schließlich erzeugt eine kleine Fußabdruckversion von Hifi -gan die Proben 13,4-mal schneller als Echtzeit auf der CPU mit vergleichbarer Qualität mit einem autoregressiven Gegenstück.
Besuchen Sie unsere Demo -Website für Audio -Beispiele.
LJSpeech-1.1/wavs python train.py --config config_v1.json
Um V2 oder V3 -Generator zu trainieren, ersetzen Sie config_v1.json durch config_v2.json oder config_v3.json .
Kontrollpunkte und Kopien der Konfigurationsdatei werden standardmäßig in cp_hifigan -Verzeichnis gespeichert.
Sie können den Pfad ändern, indem Sie die Option --checkpoint_path hinzufügen.
Validierungsverlust während des Trainings mit V1 -Generator. 
Sie können auch vorbereitete Modelle verwenden, die wir bereitstellen.
Laden Sie vor pressierte Modelle herunter
Details zu jedem Ordner finden Sie wie folgt:
| Ordner Name | Generator | Datensatz | Fein abgestimmt |
|---|---|---|---|
| LJ_V1 | V1 | Ljspeech | NEIN |
| LJ_V2 | V2 | Ljspeech | NEIN |
| LJ_V3 | V3 | Ljspeech | NEIN |
| Lj_ft_t2_v1 | V1 | Ljspeech | Ja (Tacotron2) |
| Lj_ft_t2_v2 | V2 | Ljspeech | Ja (Tacotron2) |
| Lj_ft_t2_v3 | V3 | Ljspeech | Ja (Tacotron2) |
| Vctk_v1 | V1 | Vctk | NEIN |
| Vctk_v2 | V2 | Vctk | NEIN |
| Vctk_v3 | V3 | Vctk | NEIN |
| Universal_v1 | V1 | Universal | NEIN |
Wir bieten dem Universalmodell Diskriminatorgewichte, die als Basis zum Übertragungslernen auf andere Datensätze verwendet werden können.
.npy sein. Audio File : LJ001-0001.wav
Mel-Spectrogram File : LJ001-0001.npy
ft_dataset und kopieren Sie die generierten Melspektrogramm-Dateien in sie. python train.py --fine_tuning True --config config_v1.json
test_files -Verzeichnis und kopieren Sie WAV -Dateien in das Verzeichnis. python inference.py --checkpoint_file [generator checkpoint file path]
Generierte WAV -Dateien werden standardmäßig in generated_files gespeichert.
Sie können den Pfad ändern, indem Sie --output_dir Option hinzufügen.
test_mel_files und kopieren Sie generierte Melspektrogramm-Dateien in das Verzeichnis. python inference_e2e.py --checkpoint_file [generator checkpoint file path]
Generierte WAV -Dateien werden standardmäßig in generated_files_from_mel gespeichert.
Sie können den Pfad ändern, indem Sie --output_dir Option hinzufügen.
Wir haben auf Waveglow, Melgan und Tacotron2 verwiesen, um dies zu implementieren.