Implementierung der Comspeech. Für alle Details finden Sie in unserem ACM MM 2023: Comspeech: One-Step-Sprach- und Gesangssynthese über das Konsistenzmodell.
Autoren : Zhen Ye, Wei Xue, Xu Tan, Jie Chen, Qifeng Liu, Yike Guo.
2024-04-26
2023-12-01
2023-11-30
2023-10-21
Demo -Seite : Link.
Denoising diffusion probabilistische Modelle (DDPMs) haben eine vielversprechende Leistung für die Sprachsynthese gezeigt. Eine große Anzahl iterativer Schritte ist jedoch erforderlich, um eine hohe Stichprobenqualität zu erreichen, was die Inferenzgeschwindigkeit einschränkt. Die Aufrechterhaltung der Stichprobenqualität und die Erhöhung der Stichprobengeschwindigkeit ist zu einer herausfordernden Aufgabe geworden. In diesem Artikel schlagen wir eine Konsistenz - MO -del-basierte Sprachsynthesemethode Comospeech vor, die die Sprachsynthese durch einen einzelnen Diffusions-Stichprobenschritt erreicht und gleichzeitig eine hohe Audioqualität erreicht. Die Konsistenzbeschränkung wird angewendet, um ein Konsistenzmodell aus einem gut gestalteten diffusionsbasierten Lehrermodell zu destillieren, das letztendlich überlegene Leistungen im destillierten Comspeech liefert. Unsere Experimente zeigen, dass durch die Erzeugung von Audioaufnahmen durch einen einzelnen Stichprobenschritt eine Inferenzgeschwindigkeit mehr als 150-mal schneller als Echtzeit auf einer einzelnen NVIDIA A100-GPU erreicht wird, die mit Fastspeech2 vergleichbar ist und Diffusions-Sampling-basierte Sprachsynthese wirklich praktisch macht. In der Zwischenzeit zeigen objektive und subjektive Bewertungen zur Synthese von Text-to-Speech- und Gesangssprachsynthese, dass die vorgeschlagenen Lehrermodelle die beste Audioqualität liefern, und das einstufige Stichprobenbasis basiert auf Comospeech die beste Inferenzgeschwindigkeit mit einer besseren oder vergleichbaren Audioqualität mit anderen konventionellen Multi-Schritt-Diffusionsmodellbaselinen.
Erstellen Sie monotonic_align Code (Cython):
cd model/monotonic_align ; python setup.py build_ext --inplace ; cd ../.. Führen Sie das Skript inference.py aus, indem Sie den Pfad zur Textdatei, Pfad zum Checkpoint, Anzahl der Stichproben angeben:
python inference.py -f < text file > -c < checkpoint > -t < sampling steps > Schauen Sie sich den Ordner für generierte Audios out . Beachten Sie, dass in der Params -Datei. Lehrer = wahr ist für unser Lehrermodell, False ist für unser Comspeech. Darüber hinaus verwenden wir den gleichen Vocoder in Grad-TTs. Sie können es herunterladen und in Checkpts -Ordner einfügen.
Wir verwenden LJSpeech -Datensätze und folgen dem Zug/Test/Val -Split in Fastspeech2. Sie können den Split in fs2_txt -Ordner ändern. Dann führen Sie Skript train.py aus,
python train.py Beachten Sie, dass in der Params -Datei. Lehrer = wahr ist für unser Lehrermodell, False ist für unser Comspeech. Während der Ausbildung von Comspeech sollte das Lehrer -Kontrollpunktverzeichnis angeboten werden.
Auf ljspeech ausgebildete Kontrollpunkte können von hier heruntergeladen werden.
Ich möchte einen besonderen Dank an Autoren von Grad-TTS ausdehnen, da unsere Codebasis hauptsächlich von Grad-TTs entlehnt wird.
Sie können gerne Pull -Anfragen senden oder einige Ideen mit mir teilen. Kontaktinformationen: Zhen Ye ([email protected])