Sprachsynthese
Sprachsynthese nennt man die Erzeugung von gesprochener Sprache durch einen Computer. Ziel ist es dabei, der menschlichen Stimme nahe zu kommen. Sprachsynthese wird auch synonym zu Vorleseautomat oder Text-to-Speech-System (TTS) verwendet. Dabei wird ein Text in ein Sprachsignal umgewandelt. Diese Aufgabe wird meist unterteilt in eine Graphem-Phonem Umsetzung und eine eigentliche Synthese.
Grundsätzlich lassen sich zwei Ansätze zur Erzeugung von Sprachsignalen unterscheiden. Zum einen kann durch die sogenannte Signalmodellierung auf Sprachaufnahmen (Samples) zurückgegriffen werden. Zum anderen kann das Signal aber auch durch die sogenannte Physiologische (artikulatorische) Modellierung, vollständig im Rechner erzeugt werden. Während die ersten Systeme auf Formantsynthesen beruhten, basieren die zurzeit (August 2006) industriell eingesetzten Systeme vorwiegend auf Signalmodellierung. Ein besonderes Problem für die Sprachsynthese ist die Erzeugung einer natürlichen Sprachmelodie (Prosodie).
Geschichte
Schon lange vor der Erfindung der elektronischen Signalverarbeitung versuchten Wissenschaftler Maschinen zu konstruieren, die menschliche Sprache erzeugten. Gerbert von Aurillac (1003) wird ein aus Bronze gefertigter „Sprechender Kopf“ zugeschrieben, von dem berichtet wurde, dass er „ja“ und „nein“ sagen konnte. Wohl eher in den Bereich der Legenden gehören die Apparate von Albertus Magnus (1198–1280) und Roger Bacon (1214–1294).
Der dänische Wissenschaftler Christian Kratzenstein baute 1779 ein Modell des menschlichen Vokaltrakts, welches fünf lange Vokale (a, e, i, o and u) produzieren konnte. Wolfgang von Kempelen entwickelte kurz darauf eine Sprechmaschine, welche er 1791 in seiner Veröffentlichung „Mechanismus der menschlichen Sprache nebst der Beschreibung seiner sprechenden Maschine“ darstellte. Angetrieben wurde dieser Apparat durch einen Blasebalg, der Luft durch zwei elastische Stimmbänder blies. Diese ließen sich über einen Hebelmechanismus unterschiedlich spannen und so in der Tonhöhe verstellen. An den Stimmbändern schloß ein Ledertubus an, welcher durch eine Hand verformt werden konnte, und so die variable Geometrie und Resonanzverhalten des Vokaltrakts nachbildete. Man konnte sich den Apparat umschnallen und mit den Arm und beiden Händen bedienen. Von Kempelen schrieb:
- „in einer Zeit von drei Wochen eine bewundernswerte Fertigkeit im Spielen erlangen, besonders wenn man sich auf die lateinische, französische oder italienische Sprache verlegt, denn die deutsche ist [aufgrund der häufigen Konsonantenbündel] um vieles schwerer.“
Charles Wheatstone baute 1837 eine „Speaking Machine“, welche auf diesem Entwurf beruht, ein Nachbau findet sich im Deutschen Museum. 1857 baute M. Faber die „Euphonia“, welche auch diesem Prinzip folgt.
In den Bell Labs wurde in den 1930ern der „Vocoder“, eine tastaturgesteuerter elektronischer Sprachsynthesizer entwickelt, über den gesagt wurde, dass er klar verständlich war. Homer Dudley verbesserte diese Maschine zum „Voder“, welcher in der Weltausstellung 1939 präsentiert wurde.
Die ersten computerbasierten Sprachsynthesesysteme wurden in den späten 1950ern entwickelt, das erste komplette Text-To-Speech-System 1968 fertiggestellt. Der Physiker John Larry Kelly, Jr entwickelte 1961 bei den Bell Labs eine Sprachsynthese mit einem IBM 704, und ließ ihn das Lied „Daisy Bell“ singen. Der Regisseur Stanley Kubrick war davon so beeindruckt, dass er es in den Film „2001: A Space Odyssey“ integrierte.
Während frühe elektronische Sprachsynthesen noch sehr roboterhaft klangen und teilweise schwer verständlich waren, erreichen sie etwa seit der Jahrtausendwende eine Qualität, bei der es mitunter schwierig ist, sie von menschlichen Sprechern zu unterscheiden.
Referenzen:
- Dennis Klatt's History of Speech Synthesis
- History and Development of Speech Synthesis (Helsinki University of Technology)
Vorverarbeitung
Die Vorverarbeitung setzt den zu synthetisierenden Text in Phoneme um und generiert eine Satzmelodie, die Prosodie. Diese Umsetzung geschieht meist in mehreren Schritten:
- Je nach Text werden darin enthaltene Abkürzung expandiert
- Zahlen und Datumsangaben sinngerecht durch Wörter ersetzt. Beispielsweise 1950: Eintausendneunhundertfünfzig oder Neunzehnhundertfünfzig.
- Anhand von Regeln und Wörterbüchern wird dann eine Umsetzung des Textes in Phoneme vorgenommen.
Die Generierung der Satzmelodie wird meist durch Mischung aus Satzanalyse und einer Reihe von Heuristiken gewonnen. Beispielsweise wird je nachdem, ob der jeweilige Satz eine Frage oder eine Aussage darstellt, die Satzmelodie am Ende angehoben oder leicht abgesenkt.
Insbesondere zur Erzeugung einer richtigen Prosodie ist häufig ein Textverständnis notwendig. Ein Beispiel hierfür ist die Bestimmung des Fokusses und seine Betonung durch Absenken der Stimmfrequenz. Diese Bestimmung ist deshalb nicht zuverlässig automatisierbar und Fehler darin fallen unangenehm auf. Um dies zu vermeiden, können mitunter weitere Informationen dem Synthesesystem zur Verfügung gestellt werden. Ein moderner Standard ist hierfür die auf XML basierende Auszeichnungssprache „Speech Synthesis Markup Language“ SSML.
Synthese
Es existieren verschiedene Methoden zur Sprachsynthese. Alle Methoden nutzen eine Datenbank, in der charakteristische Informationen über Sprachsegmente hinterlegt sind. Elemente aus diesem Inventar werden zu der gewünschten Äußerung verknüpft. Sprachsynthesesysteme lassen sich anhand des Inventars der Datenbank und insbesondere der Methode zur Verknüpfung klassifizieren. Tendenziell fällt die Signalsynthese umso einfacher aus, je größer die Datenbank ist, da diese dann bereits Elemente enthält die der gewünschten Äußerung näher sind und weniger Signalbearbeitung notwendig ist. Aus dem gleichen Grund gelingt bei einer großen Datenbank meist eine natürlicher klingende Synthese.
Eine Schwierigkeit der Synthese liegt in dem Aneinanderfügen von Inventarelementen. Da diese aus verschiedenen Äußerungen stammen, unterscheiden sie sich auch in der Lautstärke, Grundfrequenz, aber auch die Lage der Formanten variiert. Bei einer Vorverarbeitung der Datenbank oder beim Verbinden der Inventarelemente müssen diese Unterschiede möglichst gut ausgeglichen werden, um nicht die Qualität der Synthese zu beeinträchtigen.
Unit Selection
Die Unit Selection liefert die beste Qualität insbesondere bei einer eingeschränkten Domäne. Die Synthese verwendet eine große Sprachdatenbank, in der jede aufgenommene Äußerung in einige oder alle der folgenden Einheiten segmentiert wird:
Diese Segmente werden mit einem Verzeichnis von einer Reihe akustischer und phonetischer Eigenschaften wie Grundfrequenzverlauf, Dauer oder Nachbarn gespeichert.
Für die Synthese werden durch spezielle Suchalgorithmen, gewichtete Entscheidungsbäume, eine Reihe von möglichst großen Segmenten bestimmt, die der zu synthetisierenden Äußerung hinsichtlich dieser Eigenschaften möglichst nahe kommen. Da diese Reihe ohne oder mit wenig Signalverarbeitung ausgegeben wird, bleibt die Natürlichkeit der gesprochenen Sprache erhalten, solange wenige Verkettungsstellen erforderlich sind.
Diphonesynthese
Experimente anfang des 20. Jahrhunderts haben gezeigt, dass die korrekte Wiedergabe der Lautübergänge wesentlich für die Verständlichkeit der Sprachsynthese ist. Um alle Lautübergänge zu speichern, wird eine Datenbasis mit etwa 2500 Einträgen verwendet. Hierin ist jeweils der Zeitbereich von dem stationären Teil, die Phonemmitte des einem Phonems bis zum stationären Teil des folgenden Phonems abgespeichert. Zur Synthese werden die Informationen entsprechend zusammengefügt (konkateniert).
Weitere Koartikulationseffekte, die viel zur Natürlichkeit der Sprache beitragen, können durch umfangreichere Datenbasen berücksichtigt werden. Ein Beispiel hierfür ist Hadifix, welches Halbsilben, Diphone und Suffixe enthält.
Signalerzeugung
Die Signalerzeugung gibt die gewünschten Segmente aus der Datenbank mit dem vorgegebenen Grundfrequenzverlauf wieder. Diese Ausprägung des Grundfrequenzverlaufs kann auf verschiedene Weisen geschehen worin sich die folgenden Verfahren unterscheiden.
Quelle-Filter Separation
Bei Synthesen, die eine Quelle-Filter-Separation verwenden, wird eine Signalquelle mit periodischer Signalform verwendet. Deren Periodenlänge wird passend zur Grundfrequenz der zu synthetisierenden Äußerung eingestellt. Dieser Anregung wird je nach Phonemtyp zusätzlich Rauschen beigemischt. Die abschließende Filterung prägt die lautcharakteristischen Spektren auf. Vorteilhaft bei dieser Klasse von Verfahren ist die einfache Grundfrequenzsteuerung der Quelle. Ein Nachteil ergibt sich durch die in der Datenbank gespeicherten Filterparameter, deren Bestimmung aus Sprachproben schwierig ist. Je nach Art des Filters bzw. der zugrunde liegenden Sichtweise des Sprechens unterscheidet man die folgenden Verfahren:
Formantsynthese
Die Formantsynthese beruht auf der Beobachtung, dass es zur Unterscheidung der Vokale genügt, die ersten zwei Formanten treffend zu reproduzieren. Jeder Formant wird durch einen in der Mittenfrequenz und Güte steuerbare Bandpass, einen Polfilter 2. Ordnung, nachgebildet. Die Formantsynthese ist durch analoge elektronische Schaltungen vergleichsweise einfach realisierbar.
akustisches Modell
Das akustische Modell bildet die gesamten Resonanzeigensschaften des Vokaltrakts durch ein geeignetes Filter nach. Häufig wird der Vokaltrakt dazu vereinfacht als Rohr variablen Querschnitts betrachtet, wobei Quermoden vernachlässigt werden, da die seitliche Ausdehnung des Vokaltrakts klein ist. Die Querschnittsänderungen werden weiterhin durch äquidistante Querschnittssprünge approximiert. Ein häufig gewählter Filtertyp ist der Kreuzgliedketten-Filter, bei dem eine direkte Beziehung zwischen Querschnitt und Filterkoeffizient besteht.
Diese Filter sind eng verwand mit dem Linear Predictive Coding (LPC), welche ebenfalls für Sprachsynthesen eingesetzt werden. Bei dem LPC werden ebenfalls die gesamten Resonanzeigenschaften berücksichtigt, es besteht jedoch kein direkter Zusammenhang zwischen Filterkoeffizienten und Querschnittsverlauf des Vokaltrakts.
Artikulatorische Synthese
Die artikulatorische Synthese stellt gegenüber dem akustischen Modell eine Beziehung zwischen der Stellung der Artikulatoren und dem daraus resultieren Querschnittsverlauf des Vokaltrakts her. Hier kommen zur Nachbildung der Resonanzcharakteristik neben zeitdiskreten Kreuzgliedkettenfiltern auch Lösungen der zeitkontinuierlichen Horngleichung zum Einsatz, aus denen das Zeitsignal durch Fouriertransformation gewonnen wird.
Overlap Add
Pitch Synchronous Overlap Add, abgekürzt PSOLA, ist ein Syntheseverfahren, bei dem sich in der Datenbank Aufzeichnungen des Sprachsignals befinden. Sofern es sich um periodische Signale handelt, sind diese mit einer Information über die Grundfrequenz (Pitch) versehen, und der Anfang jeder Periode ist markiert. Bei der Synthese werden diese Perioden mit einem bestimmten Umfeld mittels einer Fensterfunktion ausgeschnitten und dem zu synthetisierenden Signal an passender Stelle hinzuaddiert: Je nachdem ob die gewünschte Grundfrequenz höher oder tiefer liegt als die des Datenbankeintrags, werden sie entsprechend dichter oder weniger dicht als in dem Original zusammengefügt. Zur Anpassung der Lautdauer können Perioden entfallen oder doppelt ausgegeben werden. Dieses Verfahren wird auch als TD-PSOLA oder PSOLA-TD (TM) bezeichnet, wobei TD für Time Domain steht und hervorhebt, dass die Verfahren im Zeitbereich arbeiten.
Eine Weiterentwicklung ist das Multi Band Resynthesis OverLap Add - Verfahren, kurz MBROLA. Hier werden die Segmente in der Datenbank durch eine Vorverarbeitung auf eine einheitliche Grundfrequenz gebracht und Phasenlage der Harmonischen wird normalisiert. Dadurch entstehen bei der Synthese eines Übergangs von einem Segment auf das nächste weniger perzeptiv wahrnembare Störungen, und die erzielte Sprachqualität ist höher.
Diese Syntheseverfahren sind mit der Granularsynthese verwand, die in Klangerzeugung und -verfremdung bei elektronischer Musikproduktion verwendet wird.
Sprachsynthese-Software
- Bonn Open Synthesis System BOSS entwickelt am IKP
- DeskBot
- Festival
- Festvox
- FreeTTS
- Hadifix
- AnalogX SayIt
- Cepstral Text-to-Speech
- espeak Leichtgewichtige quelloffene Sprachsynthese
- Realspeak von Nuance (ehem. ScanSoft)
- SVOX
- Loquendo TTS
- Logox Clipreader
- MBROLA
- Text Aloud MP3
- ReadSpeaker: Webseiten vorlesen und Podcasting
- VoiceReader
- Webspeech
- fürs Deutsche: Txt2pho, Loquendo TTS, Virtual Voice, McLoud
Sprachsynthese-Hardware
- Votrax
- SC-01A (analog formant)
- SC-02 / SSI-263 / "Artic 263"
- General Instruments SP0256-AL2 (CTS256A-AL2)
- National Semiconductor DT1050 Digitalker (Mozer)
- Silicon Systems SSI 263 (analog formant)
- Texas Instruments
- TMS5110A (LPC)
- TMS5200
- Oki Semiconductor MSM5218RS (ADPCM)
- Toshiba T6721A
Siehe auch
- Spracherkennung | Stimmverschlüsselung
- Voice Portal | SAPI
- Phonetik | Intonation (Phonetik)
- Voder | Vocoder
- Formant | Diphon | Prosodie
- Baron Wolfgang von Kempelen
Literatur
- Karlheinz Stöber, Bernhard Schröder, Wolfgang Hess: Vom Text zur gesprochenen Sprache. In: Henning Lobin / Lothar Lemnitzer (Hrsg.): Texttechnologie. Perspektiven und Anwendungen. Tübingen: Stauffenburg 2004, S. 295-325. ISBN 3860572873
Weblinks
- Geschichte der Sprachsynthese
- Geschichte der Sprachsynthese anhand von Beispielen, Uni Berlin
- BOSS
- Ausführliche Liste von Sprachsynthesesystemen mit Beispielen
- Vergleich von Sprachsynthese-Systemen mit deutscher Sprachausgabe
- Txt2Pho - wandelt deutschsprachige Texte in Phonemrepräsentation
- MBrola - Projekt zur Synthese von Sprache
- FreeTTS - ein in Java implementiertes, quelloffenes TTS-System (Text-To-Speech)
- Festvox - ein Open Source Projekt zur Sprachsynthese
- Ein webbasierender TTS Service
- MARY - ein Open Source TTS System für deutsch, englisch, tibetisch
- Pediaphon - eine Sprachausgabe für deutschsprachige Wikipedia-Artikel
- INCOBS - Informationspool Computerhilfsmittel für Blinde und Sehbehinderte mit ausführlichen Informationen und Testergebnissen zu Sprachsynthese
- Magic Voice Speech Module
- Text-to-Speech Produkte
- SVOX Text-to-Speech Produkte
- eSpeak
- Nuance Text-to-Speech Produkte