Text-to-Speech
Aus VOWiki
Mit Text-to-Speech (oder Sprachsynthese) wird die künstliche Erzeugung von menschlicher Sprache bezeichnet. Dies geschieht in der Regel mit Hilfe eines Computers oder einer anderen elektronischen Schaltung. Die konkret, spezifisch klingende Ausprägung eines Text-to-Speech System die den Text produziert wird als Stimme bezeichnet.
Die Anwendungsbereiche für Text-to-Speech Systeme sind nahezu grenzenlos. So werden Sie zu Beispiel eingesetzt um Menschen mit Sehbeeinträchtigungen diversen Grades im täglichen Leben zu unterstützen. Diese Unterstützung kann sich auf einfache Aufgaben wie das beschreiben von Bildschirmelementen beschränken, aber auch das vorlesen von kompletten Texten mit einschließen. Weiterhin helfen Text-to-Speech Systeme Legasthenikern sowohl beim lesen als auch beim schreiben von Texten (Fehlererkennung durch hören des geschriebenen).
Text-to-Speech Systeme kann, und wird, auch für jedermann eingesetzt. Zum Beispiel werden dem Autofahrer per Sprachausgabe vom Navigationssystem die Fahranweisungen vorgelesen um eine Ablenkung zu verhindern. Aber auch in Alltagssituationen können Text-to-Speech Systeme jedermann als Komfortfunktion dienen, zum Beispiel um eine E-Mail vorzulesen.
Dieser Artikel beschränkt sich auf die technologische Seite von Text-to-Speech. Konkrete Systeme und Produkte lassen sich in der Wikikategorie TODO finden, einige prominente Beispiele sind. Am Ende des Artikels gibt es eine detailierte Aufstellung.
Inhaltsverzeichnis |
Geschichte
Die ersten dokumentierten Versuche zur Sprachsynthese wurden im 18 Jahrhundert von Christian Kratzenstein unternommen. Er entwickelte eine Maschine die in der Lage war Vokale ('a', 'e', 'i', 'o' und 'u') zu produzieren. Der nächste größere Schritt gelang 1791 Wolfgang von Kempelen. Durch die Umsetzung der menschlichen Sprechorgane gelang es eine Maschine zu entwickeln die auch Konsonanten produzieren konnte. Kempelens Design wurde immer wieder aufgegriffen und weiterentwickelt, wie zum Beispiel 1839 von Charles Wheatstone oder 1857 von Michael Faber. Die letzten Versuche mechanische Text-to-Speech Systeme zu entwickeln wurden in den 1930er unternommen, wo das Unternehmen Bell Labs den VOCODER entwickelt. Dies war die erste Maschine von der gesagt wurde, dass die Sprache verständlich wäre. Homer Dudley hatte 1939 noch einmal den VOCODER in den VODER' verbessert, was weitestgehend als der Abschluss der mechanischen Sprachsynthese angesehen wird.
Nach der mechanischen Sprachsynthese kamen erste Computer basierte Design aus, zum Beispiel
Eine Ausführliche Darstellung der historischen Entwicklung der Sprachsynthese ist in dem Artikel Zur Geschichte der Sprachsynthese nachzulesen.
Technologien
Es gibt diverse Technologien zur Sprachsynthese. Dieser Artikel stellt die bekanntesten und am häufigsten verwendeten näher vor. Für eine ausführliche Darstellung von allen Verfahren sei auf den englischen Wikipedia Artikel zur Sprachsynthese verwiesen.
Unit Selection Synthese
Die Unit Selection Synthese ist ein relativ neues Verfahren. Die Grundidee besteht darin riesige Mengen von Sprache zu analysieren und anhand von gewissen Charakteristiken in eine Datenbank zu schreiben. Die Charakteristiken sind Basiselemente der gesprochenen Sprache verschiedener Länge. Es wird alles von einzelnen Phonemen ('a', 'ae', etc.) über Morphemen ('un-', '-es', etc.) bis hin zu kompletten Silben als Basiselement abgedeckt. Von jedem Basiselement werden verschiedene Versionen gespeichert anhand der Tonlage, Länge und Position im Wort. Alle gesammelten Basiselemente werden dann indiziert anhand ihrer sprachlichen Parameter (z. B. Tonlage).
Zur Synthese zuerst aus dem zu synthetisierenden Text eine Baumstruktur von Basiselementen erstellt. Anschließend wird die Datenbank nach möglichst übereinstimmenden Elementen durchsucht und daraus der gesprochene Text erstellt (Unit Selection). Nach der Unit Selection Phase wird der entstandene Satz noch minimal nachbearbeitet um den Klang zu glätten (DSP Phase).
Unit Selection Synthese erzeugt sehr natürlich klingende Sprache. Hauptsächlich weil die synthetisierte Sprache nur minimal digital nachbearbeitet wird (in der DSP Phase). Dies ist möglich durch die sehr kurzen Basiselemente. Die Sprachausgabe von den besten Text-to-Speech Systeme die eine Unit Selection Synthese einsetzen ist in der Regel nicht mehr von menschlicher Sprache zu unterscheiden. Ein weiterer Vorteil der Unit Selection Synthese ist, dass wenn ein Hersteller die Tools zum erstellen der Datenbank einmal erstellt hat, man mit relativ wenig Aufwand neue Stimmen hinzufügen kann.
Der Nachteil der Unit Selection Synthese ist zum einen, dass die Datenbanken sehr groß sind, und zum anderen es extrem aufwendig ist die erstmalige Analyse durchzuführen. Letzteres ist der Hauptgrund warum die meisten Unit Selection Synthese Systeme im kommerziellen Umfeld entstehen.
Diphonsynthese
Die Diphonsynthese ist eines der am weitesten etablierten Verfahren zur Sprachsynthese. Sie verwendet [Diphone (Übergange zwischen zwei Lauten) um eine minimale Datenbank von Sprachsamples zu erstellen woraus der gesprochene Text erzeugt wird. Eine Diphondatenbank enthält je nach Sprache zwischen einigen hundert und mehreren tausend Diphone (einige Beispiele: Spanisch ca. 800, Englisch ca. 1950, Deutsch ca. 2500). Die Datenbank enthält zu jedem Diphon nur eine gesprochene Ausprägung die genutzt wird um aus Text den gesprochenen Text zu erzeugen. Dazu werden die einzelnen Diphone anhand des Textes selektiert, konkateniert und schließlich mit diversen Audiofiltern geglättet. Letzteres in der Grund warum der synthetisierte Text in der Regel monoton, etwas blechern und sehr künstlich klingt. Dafür hat die Diphonsynthese diverse Vorteile wie sehr kleine Datenbanken und einfache Erstellung von der Datenbank. Letzteres ist der Grund warum die Diphonsynthese sehr weit verbreitet ist, vor allem im Open Source Bereich. Das MBROLA Projekt hat zum Beispiel über 70 Stimmen in über 30 Sprachen.
Domänenspezifische Synthese
Die domänenspezifische Synthese ist ein relativ triviales Verfahren, was für einige Einsatzbereiche jedoch perfekte Sprachausgabe bietet. Dazu werden für den Einsatzbereich alle möglich Sätze und Sprachkombinationen aufgenommen und zur Wiedergabe genutzt. Hier findet eventuelle eine leichte Kombination von Sprachstücken statt, wenn zum Beispiel größere Zahlen zusammengesetzt werden.
Die Vorteile sind natürlich eine exzellente Sprachqualität. Die domänenspezifische Synthese hat dafür den inhärenten Nachteil, dass sie nur einen stark beschränkten Wortschatz erhält. Weiterhin kann durch das kombinieren von Sprachstücken die ansonsten hohe Sprachqualität zerstört werden. Typische Anwendungen die für eine domänenspezifische Synthese sprechen sind Telefondialog- oder Navigationssysteme.
Herausforderungen
Die Sprachsynthese muss diverse Herausforderungen meistern um aus Text die gesprochene Version zu erzeugen. Die Herausforderungen lassen sich glieder in Betonung und Textverständnis.
Betonung
Die Betonung von Wörtern und einzelnen Silben hängt von diversen Faktoren ab:
- Betonung allgemein: Wie wird zum Beispiel die Silbe 'un' überhaupt ausgesprochen?
- Position im Satz oder Wort: Die Silbe 'un' wird anders betont je nachdem ob sie am Anfang oder Ende im Wort steht (z. B. 'untätig' und 'tun').
- Aussage oder Frage: Zum Beispiel wird bei Fragen die Tonlage gegen Ende des Satzes angehoben.
- Sonderfälle: 'ai' in z. B. 'Mais' und 'naiv' wird je anders ausgesprochen.
Wir Menschen lernen beim Aufwachsen in einem jahrelangen Prozess die korrekte Betonung. Weiterhin ergibt sie sich in der Regel aus dem Kontext und dem sozialen Umfeld. Text-to-Speech Systeme müssen sich anderer Hilfsmittel bedienen. Es gibt zwei technische Lösung für das Problem der Betonung.
- Zum einen Wörterbücher in denen zu jedem Wort oder Wortteil die korrekte Betonung gespeichert wird.
- Zum anderen Regelsysteme wo einige Basisregeln definiert sind die auf die synthetisierte Sprache angewendet werden. Eine Regel könnte zum Beispiel sagen, dass auf die letzten zwei Wörter im Satz die Betonung leicht angehoben werden soll wenn ein Fragezeichen danach kommt.
Jede der Lösungen hat Nachteile und Vorteile. Wörterbücher garantieren eine korrekte Betonung, sind jedoch unpraktisch da sie sehr groß werden und aufwendig sind zu erstellen. Regelsysteme auf der anderen Hand können nicht alle Sonderfälle mit Regeln abdecken. In der Praxis ist es üblich eine Kombination von beiden Verfahren zu nutzen. Eine Regeldatenbank, die das meiste abdeckt sowie ein Wörterbuch für spezielle Sonderfälle.
Textverständnis
Neben der Betonung ist das Textverständnis eine der größten Herausforderungen für Text-to-Speech Systeme. Einige Beispiele für Textverständnis sind zum Beispiel:
- Doppeldeutigkeit / verschiedene Aussprache: Beispiel aus dem englischen 'To project a project'.
- Zahlen: 'Ich bin unter 1995 zu erreichen.' 1995 könnte vom Text-to-Speech System auch als Jahr erkannt werden, was anders ausgesprochen wird als das eine Telefonnummer.
- Vermischte Sprache: 'Der Cluster ist down'
- Abkürzungen: Komplexes Beispiel aus dem englischen '54 St. John St.' (54 Saint John Street), eine Abkürzung steht für zwei verschiedene Wörter im gleichen Satz.
Um der Herausforderung entgegen zu treten gibt es verschiedene technische Lösungen. Es kann der Kontext beobachtet werden, wenn also das Wort 'Telefonnummer' auftaucht sind Zahlen wahrscheinlich eine Telefonnummer und kein Jahr. Ebenso können Daten und Uhrzeiten anhand ihrer Formatierung erkannt werden (z. B. '12.04.2001'). Weiterhin kann es sein, dass Metainformationen vorliegen die das Text-to-Speech System verwendet. Wenn man zum Beispiel weiß, dass ein Brief vorgelesen wird, handelt es sich beim ersten Teil in der Regel um eine oder mehrere Adressen.
Anwendungen
Eine ausführlichere Liste von Anwendungen finden sich in den Kategorien Sprachsynthese, Text-to-Speech und Sprachausgabe Bekannte Beispiele sind unter anderem das MBROLA oder RealSpeak.
