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 Unternehmen in Nichts nachsteht und für alle Interessierten ohne teure Serverhardware zugänglich ist.
Die Modelle werden unter der GNU AGPL-Lizenz veröffentlicht, aber die das Projekt entwickelnde Firma gibt keine Informationen über den Trainingsmechanismus der Modelle preis. Für den Betrieb können PyTorch und Frameworks, die das ONNX-Format unterstützen, verwendet werden. Die Sprachsynthese in Silero basiert auf der Anwendung tief modifizierter moderner neuronaler Algorithmen und Methoden der digitalen Signalverarbeitung.
Es wird festgestellt, dass das Hauptproblem moderner neuronaler Lösungen zur Sprachsynthese darin besteht, dass sie oft nur in kostenpflichtigen Cloud-Lösungen verfügbar sind, während öffentliche Produkte hohe Anforderungen an die Hardware stellen, eine geringere Qualität bieten oder nicht voll funktionsfähig und bereit für die Nutzung sind. Zum Beispiel benötigen einige der neuen beliebten End-to-End-Synthese-Architekturen wie VITS im Synthesemodus (das heißt, nicht zum Trainieren der Modelle) Grafikkarten mit mehr als 16 Gigabyte VRAM für einen reibungslosen Betrieb.
Trotz des bestehenden Trends werden die Silero-Lösungen erfolgreich sogar auf einem einzelnen x86-Intel-Prozessor mit AVX2-Befehlen ausgeführt. Auf 4 Threads ermöglicht die Synthese die Synthese von 30 bis 60 Sekunden pro Sekunde im 8 kHz-Synthesemodus, im 24 kHz-Modus sind es 15-20 Sekunden, und im 48 kHz-Modus etwa 10 Sekunden.
Hauptmerkmale der neuen Version von Silero:
- Die Modellgröße wurde um das Zweifache auf 50 Megabyte reduziert;
- Die Modelle können Pausen machen;
- Es stehen 4 hochwertige Stimmen in russischer Sprache zur Verfügung (und eine unendliche Anzahl von zufälligen). Beispiele für die Aussprache;
- Die Modelle sind zehnmal schneller geworden und ermöglichen beispielsweise im 24-kHz-Modus die Synthese von bis zu 20 Sekunden Audio pro Sekunde auf 4 Threads des Prozessors;
- Alle Varianten der Stimmen für eine Sprache sind in einem Modell verpackt;
- Die Modelle können ganze Absätze von Text als Eingabe akzeptieren und unterstützen SSML-Tags;
- Die Synthese arbeitet sofort in drei auswählbaren Abtastraten – 8, 24 und 48 kHz;
- Die "Kinderkrankheiten" wurden gelöst: Instabilität und Wortauslassungen;
- Es wurden Flags hinzugefügt, um die automatische Setzung von Betonungen und die Setzung des Buchstabens „ё“ zu steuern.
Derzeit sind für die neueste Version der Synthese 4 Stimmen in russischer Sprache öffentlich verfügbar, aber in naher Zukunft wird die nächste Version mit folgenden Änderungen veröffentlicht:
- Die Synthesegeschwindigkeit wird um das 2-4-Fache steigen;
- Die Synthesemodelle für die Sprachen der GUS werden aktualisiert: Kalmykisch, Tatarisch, Usbekisch und Ukrainisch;
- Es werden Modelle für europäische Sprachen hinzugefügt;
- Es werden Modelle für indische Sprachen hinzugefügt;
- Es werden Modelle für die englische Sprache hinzugefügt.
Einige der systemischen Probleme, die der Synthese Silero eigen sind:
- Im Gegensatz zu traditionelleren Lösungen für die Synthese, wie RHVoice, hat die Synthese Silero keine Integration mit SAPI, einfache Installationsclients und Integrationen für Windows und Android;
- Die Geschwindigkeit, obwohl sie für eine solche Lösung beispiellos hoch ist, könnte für die Echtzeitsynthese auf schwachen Prozessoren in hoher Qualität unzureichend sein;
- Die Lösung zur automatischen Betonungsplatzierung verarbeitet keine Homographen (Wörter wie zAmok und zamOk) und macht nach wie vor Fehler, aber dieses Manko wird in zukünftigen Versionen behoben werden;
- Die aktuelle Version der Synthese funktioniert nicht auf Prozessoren ohne AVX2-Instruktionen (oder es müssen spezielle Einstellungen in PyTorch verändert werden), da eines der Module innerhalb des Modells quantisiert ist;
- Die aktuelle Syntheseversion hat im Wesentlichen nur eine Abhängigkeit: PyTorch. Alle Inhalte sind in das Modell und die JIT-Pakete integriert. Die Quellcodes der Modelle werden nicht veröffentlicht, ebenso wenig wie der Code zur Ausführung der Modelle über PyTorch-Clients für andere Sprachen;
- Libtorch, das für mobile Plattformen verfügbar ist, ist viel schwerer als der ONNX-Laufzeit, aber die ONNX-Version des Modells wird derzeit nicht bereitgestellt.
Quelle: opennet.ru
