Eine neue öffentliche Version des neuronalen Sprachsynthesesystems Silero Text-to-Speech ist verfügbar. Das Projekt zielt in erster Linie darauf ab, ein modernes, hochwertiges Sprachsynthesesystem zu schaffen, das kommerziellen Lösungen von großen Unternehmen in nichts nachsteht und für alle Interessierten ohne den Einsatz teurer Server-Hardware zugänglich ist.
Die Modelle werden unter der GNU AGPL-Lizenz verbreitet, jedoch gibt das Unternehmen, das das Projekt entwickelt, keine Informationen über die Mechanismen zur Modelltraining preis. Sie können PyTorch und Frameworks verwenden, die das ONNX-Format unterstützen. Die Sprachsynthese in Silero basiert auf tief modifizierten, modernen neuronalen Algorithmen und Methoden der digitalen Signalverarbeitung.
Es wird festgestellt, dass ein zentrales Problem moderner neuronaler Netzwerk-Lösungen zur Sprachsynthese darin besteht, dass sie oft nur im Rahmen kostenpflichtiger Cloud-Lösungen verfügbar sind. Öffentliche Produkte haben hohe Hardwareanforderungen, geringere Qualität oder sind keine abgeschlossenen und einsatzbereiten Produkte. Zum Beispiel benötigen beliebte neue End-to-End-Synthesearchitekturen wie VITS für eine problemlose Ausführung im Synthesemodus (nicht zum Trainieren von Modellen) Grafikkarten mit mehr als 16 Gigabyte VRAM.
Entgegen dem vorherrschenden Trend funktionieren die Silero-Lösungen erfolgreich sogar mit einem einzigen x86-Thread eines Intel-Prozessors mit AVX2-Instruktionen. Bei 4 Threads ermöglicht die Synthese die Generierung von 30 bis 60 Sekunden pro Sekunde im 8 kHz-Synthesemodus, 15 bis 20 Sekunden im 24 kHz-Modus und etwa 10 Sekunden im 48 kHz-Modus.
Die Hauptmerkmale der neuen Version von Silero:
- Die Modellgröße wurde auf 50 Megabyte halbiert;
- Die Modelle können Pausen machen;
- Es sind 4 hochwertige Stimmen in russischer Sprache verfügbar (und eine unbegrenzte Anzahl an zufälligen). Beispielaussprachen;
- Die Modelle sind zehnmal schneller geworden und können beispielsweise im 24 kHz-Modus bis zu 20 Sekunden Audio pro Sekunde auf 4 Prozessorkernen synthetisieren.
- Alle Stimmvarianten für eine Sprache sind in einem Modell gebündelt.
- Die Modelle können ganze Absätze von Text als Eingabe akzeptieren und unterstützen SSML-Tags.
- Die Synthese funktioniert in drei Abtastraten zur Auswahl — 8, 24 und 48 kHz.
- Die "Kinderkrankheiten" wurden behoben: Instabilität und das Auslassen von Wörtern.
- Flags wurden hinzugefügt, um die automatische Betonung und die Verwendung des Buchstabens „ё“ zu steuern.
Aktuell sind für die neueste Version der Synthese öffentlich 4 Stimmen auf Russisch verfügbar, aber in naher Zukunft wird die nächste Version mit folgenden Änderungen veröffentlicht:
- Die Synthesegeschwindigkeit wird um das 2- bis 4-fache steigen.
- Die Synthesemodelle für die Sprachen der GUS werden aktualisiert: Kalmykisch, Tatarisch, Usbekisch und Ukrainisch.
- Modelle für europäische Sprachen werden hinzugefügt.
- Modelle für indische Sprachen werden hinzugefügt.
- Modelle für die englische Sprache werden hinzugefügt.
Einige der systemischen Probleme, die der Silero-Synthese eigen sind:
- Im Gegensatz zu traditionelleren Syntheselösungen wie RHVoice bietet Silero keine SAPI-Integration, einfach zu installierende Clients oder Integrationen für Windows und Android.
- Die Geschwindigkeit, obwohl sie für eine solche Lösung zuvor noch nie erreicht wurde, könnte für die Echtzeitsynthese auf schwachen Prozessoren in hoher Qualität nicht ausreichen.
- Die Lösung zur automatischen Betonungserkennung verarbeitet Homographen (Worte wie zAmok und zamOk) nicht korrekt und macht weiterhin Fehler, aber diese Schwäche wird in zukünftigen Versionen behoben.
- Die aktuelle Syntheseversion funktioniert nicht auf Prozessoren ohne AVX2-Anweisungen (es sei denn, die PyTorch-Einstellungen werden speziell geändert), da eines der Module innerhalb des Modells quantisiert ist.
- Die aktuelle Syntheseversion hat im Wesentlichen nur eine Abhängigkeit von PyTorch; die gesamte Funktionalität ist im Modell und den JIT-Paketen integriert. Der Quellcode der Modelle wird nicht veröffentlicht, ebenso wenig wie der Code zum Ausführen der Modelle über Clients von PyTorch in anderen Sprachen.
- Libtorch, das für mobile Plattformen verfügbar ist, ist viel schwerer als die ONNX-Laufzeit, aber die ONNX-Version des Modells wird derzeit nicht bereitgestellt.
Quelle: opennet.ru
