StyleTTS2 – Open-Source-Text-zu-Sprache-Technologie in ElevenLabs-Qualität
(github.com/yl4579)Text-to-Speech-Modell auf menschlichem Niveau, StyleTTS 2
- StyleTTS 2 erreicht eine Text-to-Speech-(TTS)-Synthese auf menschlichem Niveau durch adversariales Training mit Style Diffusion und großen Speech Language Models.
- Das Modell erzielt effiziente latente Diffusion, indem es Stil als latente Zufallsvariable über ein Diffusionsmodell modelliert, um ohne Referenzstimme den zum Text am besten passenden Stil zu erzeugen.
- Durch die Verwendung eines großen vortrainierten Speech Language Models als Diskriminator und ein neuartiges differenzierbares Duration Modeling für End-to-End-Training wird die Natürlichkeit der Sprache verbessert.
Voraussetzungen
- Python Version 3.7 oder höher wird benötigt.
- Das StyleTTS-2-Repository klonen und die erforderlichen Python-Abhängigkeiten installieren.
- Den LJSpeech-Datensatz herunterladen, auf 24 kHz hochsampeln und im Datenordner entpacken.
- Bei Verwendung des LibriTTS-Datensatzes müssen
train-clean-360undtrain-clean-100zusammengeführt und der Ordnername intrain-clean-460geändert werden.
Training
- Das Training der ersten und zweiten Phase kann nacheinander ausgeführt werden, und das Modell wird in einem bestimmten Format gespeichert.
- Das Datenlistenformat muss
filename.wav|transcription|speakersein; bei einem Multi-Speaker-Modell ist für das Training des Style-Diffusion-Modells das Sampling von Referenz-Audio erforderlich.
Wichtige Konfiguration
- Die Datei
config.ymlenthält wichtige Einstellungen wie den OOD-(out-of-distribution)-Textpfad für SLM-adversariales Training, minimale und maximale Längen für das Training, ob ein Multi-Speaker-Modell trainiert wird sowie Batch-Prozentsätze zur Vermeidung von OOM-(out-of-memory)-Problemen.
Vortrainierte Module
- Der Ordner ASR enthält einen vortrainierten Text-Aligner, der Ordner JDC einen vortrainierten Pitch-Extraktor und der Ordner PLBERT ein vortrainiertes PL-BERT-Modell.
Häufige Probleme
- Als Lösungen für NaN-Verluste und Speicherprobleme werden das Anpassen der Batch-Größe oder das Verringern des
max_len-Werts vorgeschlagen.
Fine-Tuning
- Durch Anpassen des Skripts
train_second.pywird ein Fine-Tuning-Skript mit DP bereitgestellt; DDP funktioniert derzeit nicht.
Inferenz
- Für die Inferenz mit den Datensätzen LJSpeech und LibriTTS auf die Notebook-Dateien verweisen; für LibriTTS ist eine Referenz-Audiodatei erforderlich.
- Ein vortrainiertes StyleTTS-2-Modell kann heruntergeladen werden; vor der Verwendung sollte Zuhörern mitgeteilt werden, dass die synthetisierte Sprachprobe vom StyleTTS-2-Modell erzeugt wurde, oder es sollten nur Stimmen verwendet werden, für deren Nutzung eine Erlaubnis vorliegt.
Meinung von GN⁺
Das Wichtigste an diesem Beitrag ist, dass StyleTTS 2 eine TTS-Synthese auf menschlichem Niveau erreicht hat und damit das Potenzial von adversarialem Training mit Style Diffusion und großen Speech Language Models zeigt. Diese Technologie kann die Natürlichkeit der Sprachsynthese deutlich verbessern und durch die Fähigkeit, auch ohne Referenzstimme verschiedene Stile zu erzeugen, großen Einfluss auf die Weiterentwicklung sprachbasierter Schnittstellen und digitaler Assistenten haben.
1 Kommentare
Hacker-News-Kommentare
Erfahrungen bei der Entwicklung eines zu 100 % lokalen Sprach-Chatbots mit StyleTTS2
Persönliche Einschätzung zur Sprachqualität von StyleTTS2
Geteilte Erfahrungen mit Installation und Nutzung von StyleTTS2
Erfahrungen mit Installation und Betrieb von StyleTTS2
Vergleich zwischen StyleTTS2-Sprachbeispielen und echter Stimme
Bewertung der Audioqualität von StyleTTS2
Meinung zu Titel und Inhalt von StyleTTS2
Frage zur Inferenzzeit von StyleTTS2
Frage zur Lizenz von StyleTTS2
Ausblick auf einen Marketplace für Text-to-Speech-Modelle