Training des TTS-Modells

Viele (mit Machine Learning) trainierte TTS-Modelle teilen sich in folgende zwei Phasen auf:

1. Das TTS-Modell: Teil eins ist für die Zerlegung des zu sprechenden Textes in seine Bestandteile (Zeichen oder Phoneme) verantwortlich. Mittels Unmengen an magischem Feenstaub erzeugt dieser Teil des TTS-Trainings ein Mel Spectogram als Ergebnis. In dieser Phase lernt das Modell unter anderem den Sprachfluss. Coqui TTS unterstützt die Erzeugung der TTS-Modelle Tacotron2, GlowTTS, AlignTTS, VITS und weiterer.

2. Das Vocoder-(Voice Encoder)-Modell: Auf Basis der erzeugten Mel Spectograms erzeugt dieser Teil die später hörbare Waveform-Audio. In diesem Bereich unterstützt Coqui TTS unter anderem die Modelle Wavegrad, Fullband-MelGAN und HifiGAN.

Die verfügbaren Modelle unterscheiden sich im Sprachfluss, der erzeugten Audioqualität und dem RTF (real time factor). Beispielsweise haben viele GAN-Vocoder Modelle einen metallischen Klang, während HifiGAN eine höhere Qualität bietet. Beim RTF handelt es sich um einen numerischen Messwert, der das Verhältnis zwischen Dauer des erzeugten Audios und der dafür im Vorfeld notwendigen Erzeugungsdauer bezeichnet.

Beispiel: Ein künstlich gesprochener Satz mit einer Dauer von sieben Sekunden hätte bei einem RTF von 1 im Vorfeld (bevor die Sprachausgabe beginnt) ebenfalls sieben Sekunden Zeit beansprucht. Bei einem RTF von 0,5 wären es 3,5 Sekunden. Daher hängt das verwendbare Modell stark vom geplanten Anwendungsfall ab.

In einem Dialogsystem, wo ein Anwender auf eine Antwort wartet, ist ein RTF von 1 schon grenzwertig. Wer möchte denn auf die Frage nach dem Wetter mehrere Sekunden auf die gesprochene Antwort seines Smartspeakers warten? Neben dem verwendeten Modell hängt die tatsächliche Dauer auch von der verwendeten Hardware ab. Generell liefert ein System mit GPU (CUDA) bei den meisten Modellen deutlich bessere Performance als bei reiner CPU-Nutzung.

Für den TTS-Betrieb auf einem System wie dem Raspberry Pi lohnt sich derzeit auch ein Blick auf Projekte wie Larynx oder Mimic3.

Training konfigurieren und starten

Die Konfiguration eines TTS/Vocoder-Modell-Trainings wird in einer Python-Datei vorgenommen. Eine gute Ausgangslage sind die von Coqui gelieferten Vorlagen im Verzeichnis /recipes. Diese muss an die individuellen Gegebenheiten (Pfade zum Voice Dataset, Sprache und einiges mehr) angepasst werden.

In der Datei können auch Testsätze hinterlegt werden, die vom Modell während des Trainings regelmäßig erzeugt werden. Anhand dieser Sätze kann der Trainingsfortschritt in Bezug auf Qualität, Natürlichkeit und Aussprache beurteilt werden. Bei der Auswahl der Testsätze empfiehlt es sich auch, Sätze mit deutschen Sonderzeichen zu verwenden, um mögliche Probleme bei der Aussprache solcher Zeichen frühzeitig erkennen zu können.

Aufgrund der nahezu unzähligen Konfigurationsmöglichkeiten von TTS- und Vocodermodellen kann eine Nachfrage in der Community den einen oder anderen frustrierenden Versuch ersparen. Dies ist gerade wichtig, da je nach verwendeter Hardware ein Training mehrere Stunden, Tage oder Wochen dauern kann.

Nach Abschluss der Konfiguration kann ein Training durch Aufruf der entsprechenden Python-Datei gestartet werden. Beispielsweise: python3 ./train_thorsten_tacotron2-ddc.py

Während des laufenden Trainings lohnt sich ein regelmäßiger Blick in das Tensorboard. Diese webbasierte lokale Anwendung zeigt hilfreiche Diagramme zum Trainingsfortschritt und bietet die Möglichkeit, die regelmäßig erzeugten Testsätze per Webbrowser anzuhören.

pip3 install tensorboard tensorboard -logdir=[Ausgabepfad eures Modelltrainings] --bind_all

Das Tensorboard ist nach dem Start unter folgender Adresse erreichbar: "http://[IP]:6006".

Eine schöne diagonale Linie beim Alignment und sinkende Loss-Kurven im Eval-Prozess sind einige Indizien für einen guten Trainingsverlauf. Alle Graphen des Tensorboards im Detail zu erklären, würde den Rahmen des Artikels sprengen - das liegt nicht etwa daran, dass ich selber nicht alle Graphen im Detail verstehe.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
  • Textcorpus für die Aufnahmen mit Mimic-Recording-Studio (Screenshot: Thorsten Müller)
  • Die Weboberfläche von Mimic-Recording-Studio (Screenshot: Thorsten Müller)
  • Die Sqlite-Datenbank von Mimic-Recording-Studio ermöglicht schnelle Abfragen aller Aufnahmen. (Screenshot: Thorsten Müller)
  • Beispiel einer LJSpeech-Voice-Dataset-Struktur (Screenshot: Thorsten Müller)
  • TTS-Dataset-Analyse: Dieser Verlauf zeigt eine konstante Sprechgeschwindigkeit bei einer Satzlänge zwischen 2 und 160 Zeichen. (Screenshot: Thorsten Müller)
  • Übersicht der Aufnahmenanzahl pro Satzlänge  (Screenshot: Thorsten Müller)
  • Die Grafiken im Tensorboard geben Aufschluss zum laufenden Training.  (Screenshot: Thorsten Müller)
  • Die regelmäßig vom Training erzeugten Testaudios geben einen guten Eindruck zur Entwicklung der Qualität.  (Screenshot: Thorsten Müller)
  • Per Coqui-TTS-Webfrontend kann das Modell einfach ausprobiert werden.  (Screenshot: Thorsten Müller)
Die Grafiken im Tensorboard geben Aufschluss zum laufenden Training. (Screenshot: Thorsten Müller)
  • Textcorpus für die Aufnahmen mit Mimic-Recording-Studio (Screenshot: Thorsten Müller)
  • Die Weboberfläche von Mimic-Recording-Studio (Screenshot: Thorsten Müller)
  • Die Sqlite-Datenbank von Mimic-Recording-Studio ermöglicht schnelle Abfragen aller Aufnahmen. (Screenshot: Thorsten Müller)
  • Beispiel einer LJSpeech-Voice-Dataset-Struktur (Screenshot: Thorsten Müller)
  • TTS-Dataset-Analyse: Dieser Verlauf zeigt eine konstante Sprechgeschwindigkeit bei einer Satzlänge zwischen 2 und 160 Zeichen. (Screenshot: Thorsten Müller)
  • Übersicht der Aufnahmenanzahl pro Satzlänge  (Screenshot: Thorsten Müller)
  • Die Grafiken im Tensorboard geben Aufschluss zum laufenden Training.  (Screenshot: Thorsten Müller)
  • Die regelmäßig vom Training erzeugten Testaudios geben einen guten Eindruck zur Entwicklung der Qualität.  (Screenshot: Thorsten Müller)
  • Per Coqui-TTS-Webfrontend kann das Modell einfach ausprobiert werden.  (Screenshot: Thorsten Müller)
Die regelmäßig vom Training erzeugten Testaudios geben einen guten Eindruck zur Entwicklung der Qualität. (Screenshot: Thorsten Müller)
 Was bei der Erstellung des Text Corpus zu beachten istBeenden des Trainings und Verwendung des Modells 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Aktuell auf der Startseite von Golem.de
Whistleblower
Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen

Wieder hat sich in den USA ein ehemals hochrangiger Militär und Beamter über Kontakte mit Aliens geäußert.

Whistleblower: Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen
Artikel
  1. Schadstoffnorm 7: Neue Grenzwerte für Abrieb gelten auch für E-Autos
    Schadstoffnorm 7
    Neue Grenzwerte für Abrieb gelten auch für E-Autos

    Die neue Euronorm 7 legt nicht nur Grenzwerte für Bremsen- und Reifenabrieb fest, sondern auch Mindestanforderungen für Akkus.

  2. Ramjet: General Electric testet Hyperschalltriebwerk
    Ramjet
    General Electric testet Hyperschalltriebwerk

    Das Triebwerk soll Flüge mit Mach 5 ermöglichen.

  3. Elektroautos: Mercedes und Stellantis übernehmen komplette Umweltprämie
    Elektroautos
    Mercedes und Stellantis übernehmen komplette Umweltprämie

    Nach dem abrupten Aus der staatlichen Förderung springen erste Hersteller von Elektroautos ein.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Last-Minute-Angebote bei Amazon • Avatar & The Crew Motorfest bis -50% • Xbox Series X 399€ • Cherry MX Board 3.0 S 49,95€ • Crucial MX500 2 TB 110,90€ • AVM FRITZ!Box 7590 AX + FRITZ!DECT 500 219€ [Werbung]
    •  /