-
Die
vorliegende Erfindung betrifft ein Verfahren zum Generieren von
Prosodieinformationen zur Verwendung in einem Text-Sprachsynthetisatorsystem,
welches folgende Schritte umfasst: Entgegennehmen einer Eingabetextfolge
und Bestimmen eines der Eingabetextfolge zugehörigen Musters aus prosodischen Merkmalen.
-
Text-Sprachsynthetisatorsysteme
wandeln zeichenbasierten Text (zum Beispiel maschinengeschriebenen
Text) in synthetisierte gesprochene Audioinhalte um. Text-Sprachsynthetisatorsysteme
werden in verschiedenen kommerziellen Anwendungen und Produkten
für Endverbraucher
benutzt, darunter etwa Telefon- und Voicemail-Bedienerführungen,
Fahrzeugnavigationssysteme, automatisierte Rundfunkübertragungssysteme
u.dgl.m.
-
Es
sind verschiedene Methoden zum Generieren von Sprache aus bereitgestelltem
Eingabetext bekannt. Einige Systeme benutzen einen modellbasierten
Ansatz, bei welchem die Resonanzeigenschaften des menschlichen Vokaltrakts
und die impulsartige Wellenform der menschlichen Glottis modelliert,
parametrisiert und dann zur Simulation der Klänge natürlicher menschlicher Sprache
benutzt werden. Andere Systeme benutzen kurze, digital aufgezeichnete
Proben wirklicher menschlicher Sprache, die dann sorgfältig ausgewählt und
aneinander gehängt
werden, um gesprochene Wörter
und Phrasen zu bilden, wenn die aneinander gehängten Folgen wiedergegeben
werden.
-
In
mehr oder weniger großem
Ausmaße
klingen alle aktuellen Synthesemethoden unnatürlich, sofern nicht Prosodieinformationen
hinzugenommen werden. Prosodie bezeichnet die rhythmischen und intonationalen
Gesichtspunkte einer gesprochenen Sprache. Wenn ein menschlicher
Sprecher eine Phrase oder einen Satz ausspricht, setzt der Sprecher
für gewöhnlich und
ganz natürlich
auf bestimmten Worten oder Phrasen Betonungen, um zu unterstreichen,
was von dem Ausgesprochenen gemeint ist. Eine Text-Sprachsynthetisatorvorrichtung
kann große
Schwierigkeiten damit haben, den natürlichen Fluss und Tonfall der
von einem Menschen gesprochenen Phrase oder des von einem Menschen
gesprochenen Satzes zu simulieren, da nicht immer aus dem Text allein
auf den angemessenen Tonfall geschlossen werden kann.
-
Wenn
beispielsweise ein menschlicher Sprecher Anweisungen an einen Fahrer
erteilt und ihn anweist, an der nächsten Kreuzung abzubiegen,
könnte
er sagen: „HIER
abbiegen", und dabei
könnte
er das Wort „hier" betonen, um eine
gewisse Dringlichkeit zum Ausdruck zu bringen. Eine Text-Sprachsynthetisatorvorrichtung, die
einfach in Reaktion auf maschinengeschriebenen Eingabetext synthetisierte
Sprache liefert, wüsste
nicht, ob eine gewisse Dringlichkeit gerechtfertigt wäre oder
nicht. Die Vorrichtung würde
daher auf keinem der Wörter
eine im Vergleich zum jeweils anderen Wort besondere Betonung setzen.
Im Vergleich zu menschlicher Sprache neigte synthetisierte Sprache
bisher dazu, eintöniger
und monotoner zu klingen.
-
Im
Rahmen von Anstrengungen, synthetisierter Sprache mehr Realität zu verleihen,
ist es nun möglich,
den Text-Sprachsynthetisator mit zusätzlichen Prosodieinformationen
zu versehen, die dazu benutzt werden, die Art, auf welche die Synthetisatorausgabe
generiert wird, abzuändern,
um der sich ergebenden Sprache einen natürlicheren Rhythmikgehalt und
eine natürlichere
Intonation zu verleihen.
-
Bei
einem typischen Sprachsynthetisator wirken sich Prosodieinformationen
auf die Tonhöhenkonturen
und/oder auf die Werte für
die Dauer der Klänge
aus, die als Antwort auf die Texteingabe generiert werden. Bei natürlicher
Sprache erzeugt man betonte Silben, indem man die Tonhöhe seiner
Stimme erhöht
und/oder die Dauer des Vokalabschnitts der betonten Silbe verlängert. Indem
er ebendiese Operationen durchführt, kann
der Text-Sprachsynthetisator die Prosodie menschlicher Sprache nachahmen.
-
In
der EP-A-1 100 072 wird ein Sprachsynthesesystem offenbart, bei
welchem prosodische Informationen aus wirklicher Sprache extrahiert
werden, die in Korrelation mit einer Phonemfolge und einer Position
einer Betonung in einer Datenbank mit prosodischen Informationen
gespeichert ist. Eine Sektion zum Abrufen prosodischer Informationen
ruft auf Basis der Phonemfolge, bei der es sich um die einem Eingabetext
entsprechende Ausgabe einer Sprachverarbeitungssektion handelt,
prosodische Informationen mit minimalen Approximationskosten aus
der Datenbank mit prosodischen Informationen ab. Eine Sektion zur
Transformation prosodischer Informationen transformiert die abgerufenen
prosodischen Informationen gemäß den Approximationskosten
und den Transformationsregeln, die in einem Speicherabschnitt für Regeln
zur Transformation prosodischer Informationen gespeichert sind.
Gemäß der Transformation
erzeugt ein elektroakustischer Wandler die synthetisierte Sprache.
-
Ein
identifiziertes Problem besteht darin, dass es in dem Maße, wie
die Größe der Sprachdomäne anwächst, zunehmend
kostspielig wird, das erforderliche Datenvolumen zu speichern.
-
Gemäß der Erfindung
werden geschaffen: ein Verfahren, wie in Anspruch 1 dargelegt, und
ein System, wie in Anspruch 7 dargelegt. Ausführungsformen werden in den
abhängigen
Ansprüchen
dargelegt.
-
Die
Erfindung wird nun ausschließlich
beispielhaft anhand der beigefügten
Zeichnungen beschrieben. Es zeigen:
-
1 einen
Datenstrukturplan, welcher die vorliegend bevorzugten Datenstrukturen
für den
Prosodieschablonenabgleich veranschaulicht,
-
2 ein
Diagramm, das zeigt, wie in einer bevorzugten Ausführungsform
Betonungsmuster für
Wörter
transkribiert und dargestellt werden,
-
3 einen
beispielhaften Schablonen-Verweisbaum, der zeigt, wie Wörter mit
zwei Betonungsstufen dargestellt würden,
-
4 einen ähnlichen
Schablonen-Verweisbaum, der zeigt, wie Wörter mit drei Betonungsstufen
dargestellt würden,
-
5 ein
Schablonenabgleichdiagramm, welches zeigt, wie ein beispielhaftes
englisches Wort „avenue" unter Verwendung
der Erfindung verarbeitet würde,
und
-
6 ein
Schablonenabgleichdiagramm, welches veranschaulicht, wie die beispielhaften
englischen Worte „Santa
Clarita" unter Verwendung
der Erfindung verarbeitet würden.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Es
wird auf 1 und 2 Bezug
genommen. Das System zum Prosodieschablonenabgleich der Erfindung
stellt Betonungsmuster in Worten in einer Baumstruktur wie etwa
dem Baum 10 dar. Die vorliegend bevorzugte Baumstruktur
ist eine binäre
Baumstruktur mit einem Wurzelknoten 12, unterhalb dessen
Paare aus Tochterknoten, Enkelknoten usw. gruppiert sind. Die Knoten
stellen unterschiedliche Betonungsmuster dar, die dem entsprechen,
wie Silben betont werden, wenn das Wort oder die Phrase ausgesprochen
wird.
-
Es
wird auf 2 Bezug genommen, in welcher
eine beispielhafte Wortliste zusammen mit den entsprechenden Betonungsmustern
und prosodischen Transkriptionen für die einzelnen Wörter gezeigt
ist. Zum Beispiel weist das englische Wort „Catalina" auf der dritten Silbe seine stärkste Betonung
und auf der ersten Silbe eine weitere Nebenbetonung auf. Zur besseren
Veranschaulichung wurden Zahlen verwendet, um verschiedene Betonungsstufen
zu bezeichnen, die auf Silben angewandt werden, wobei „0" einer unbetonten
Silbe, „1" einer stark betonten
Silbe und „2" einer weniger stark
betonten Silbe entspricht. Zwar werden hier numerische Darstellungen
benutzt, um unterschiedliche Betonungsstufen zu bezeichnen, doch
es versteht sich, dass auch andere Darstellungen benutzt werden
können,
um die Erfindung in der Praxis auszuführen. Außerdem konzentriert sich diese
Beschreibung zwar primär
auf die Betonung, die auf eine Silbe angewandt wird, doch können mit
denselben, hier beschriebenen Methoden auch andere prosodische Merkmale
dargestellt werden.
-
Es
wird auf 1 Bezug genommen. Der Baum 10 dient
als Komponente in dem Mechanismus zum Nachschlagen von Prosodiemustern,
durch welchen Betonungsmuster auf die Ausgabe des Text-Sprachsynthetisators 14 angewandt
werden. Text wird in das Textanalysemodul 14 eingegeben,
welches Datenfolgen bestimmt, die schließlich dem Klangerzeugungsmodul 16 zugeführt werden.
Teil dieser während
der Textanalyse gefundenen Daten ist die silbenweise Gruppierung
von Klängen
und die Zuordnung von Betonungsstufen zu den einzelnen Silben. Dieses
Muster aus silbenweise zugeordneten Betonungen wird von dem Prosodiemodul 18 benutzt,
um auf prosodische Informationen zuzugreifen. Wie zuvor erörtert, sind
prosodische Modifikationen, wie etwa das Ändern der Tonhöhenkontur
und/oder der Dauer von Phonemen, erforderlich, um die Art und Weise
zu simulieren, in welcher ein menschlicher Sprecher das Wort oder
die Phrase im Kontext aussprechen würde. Der Text-Sprachsynthetisator
und sein zugehöriges
Wiedergabemodul und Prosodiemodul können auf einer beliebigen aus
einer Vielzahl unterschiedlicher Synthesemethoden beruhen, darunter
etwa Konkatenationssynthese und modellbasierte Synthese (z.B. Synthese
auf Basis des Primärklangmodells).
-
Das
Prosodiemodul modifiziert die Datenfolge, die von dem Text-Sprachsynthetisator 14 ausgegeben wird,
basierend auf Prosodieinformationen, die in einer Verweistabelle 20 gespeichert
sind. In der dargestellten Ausführungsform
enthält
Tabelle 20 sowohl Informationen zur Modifikation der Tonhöhe (in Spalte 22)
als auch Informationen zur Modifikation der Dauer in Spalte 24.
Natürlich
können stattdessen
in Abhängigkeit
vom Typ des benutzten Text-Sprachsynthetisators
andere Arten von Prosodieinformationen benutzt werden. Die Tabelle 20 enthält Prosodieinformationen
(Tonhöhe
und Dauer) für
jedes aus einer Vielzahl unterschiedlicher Betonungsmuster, die
in Spalte 26 gezeigt sind. Zum Beispiel könnten die
Informationen zur Modifikation der Tonhöhe eine Liste mit Ganzzahlen
oder Gleitkommazahlen umfassen, die benutzt werden, um die Höhe und die zeitliche
Entwicklung der von dem Synthetisator benutzten Tonhöhe anzupassen.
Um widerzuspiegeln, ob der Sprecher männlich oder weiblich ist, können jeweils
unterschiedliche Anpassungswerte benutzt werden. Auf gleiche Weise
können
Informationen zur Dauer Ganzzahl- oder Gleitkommawerte umfassen,
die anzeigen, um wie viel die Wiedergabedauer ausgewählter Klänge (in
der Regel die Vokalklänge)
ausgedehnt werden soll. Das dem Prosodiemodul 18 zugehörige Modul 28 zum
Nachschlagen von Prosodiemustern greift auf den Baum 10 zu,
um Zeiger in die Tabelle 20 zu erhalten, und ruft daraufhin
die Informationen zur Tonhöhe
und Dauer für
das entsprechende Muster ab, so dass diese vom Prosodiemodul 18 benutzt
werden können.
Es versteht sich, dass der in 1 dargestellte
Baum 10 stark gekürzt
wurde, damit er auf die Seite passt. Bei einer wirklichen Ausführungsform
enthalten der Baum 10 und seine zugehörige Tabelle 20 typischerweise mehr
Knoten und mehr Tabelleneinträge.
In dieser Hinsicht zeigt 3 die ersten drei Ebenen eines
beispielhaften Baumes 10a, der typisch für ein Schablonensystem
sein könnte,
das zwei Betonungsstufen (betont und unbetont) zulässt, wohingegen 4 die
ersten beiden Ebenen eines beispielhaften Baumes 10b zeigt,
welcher veranschaulicht, wie ein System zum Nachschlagen von Schablonen
implementiert werden könnte,
wenn drei Betonungsstufen (unbetont, Hauptbetonung, Nebenbetonung) zulässig sind.
Da die Anzahl von Ebenen in dem Baum der maximalen Silbenanzahl
in der zugehörigen
Prosodieschablone entspricht, können
in der Praxis Bäume
mit acht oder mehr Ebenen erforderlich sein.
-
Bei
beiden Tabellen 10a (3) und 10b (4)
sei darauf hingewiesen, dass etliche Knoten als „NIL" ausgewiesen sind. Andere Knoten enthalten
Betonungsmuster-Ganzzah-len,
die bestimmten Kombinationen aus Betonungsmustern entsprechen. Im
allgemeinen Falle wäre
es möglich,
jeden der Knoten mit einem Betonungsmuster zu bevölkern, so
dass keiner der Knoten NIL wäre.
Jedoch kann es bei einem wirklichen, arbeitenden System viele Fälle geben,
wo für
bestimmte Betonungsmusterkombinationen keine Trainingsmuster verfügbar sind.
Wenn keine Daten verfügbar
sind, werden die entsprechenden Knoten im Baum einfach mit einem
NIL-Wert geladen, so dass der Baum von Mutter- zu Tochterknoten
oder umgekehrt durchlaufen werden kann, selbst wenn für jenen
Knoten möglicherweise
in Tabelle 20 keine Schablonendaten verfügbar sind.
Anders ausgedrückt:
Die NIL-Werte dienen als Platzhalter, um die topologische Struktur
des Baums aufrechtzuerhalten, selbst wenn für diese Knoten keine Betonungsmuster
verfügbar
sind.
-
Unter
Bezugnahme auf 1 sollte nun offensichtlich
sein, wie die Baumstruktur benutzt wird, um auf Tabelle 20 zuzugreifen.
Die Texteingabe 30 weist ein zugehöriges Betonungsmuster 32 auf,
das von dem Textanalysemodul 14 bestimmt wird. Bei der
dargestellten Ausführungsform
würden
diese zugehörigen
Silbenbetonungsmuster als numerische Betonungsmuster dargestellt,
die den im Baum 10 zu findenden numerischen Werten entsprechen.
-
Falls
die Texteingabe etwa ein zweisilbiges Wort mit einer Hauptbetonung
auf der ersten Silbe und keiner Betonung auf der zweiten Silbe ist
(z.B. 10), durchläuft
das Modul 28 zum Nachschlagen von Prosodiemustern den Baum 10,
bis es den Knoten 40 findet, der das Muster „10" enthält. Der
Knoten 40 speichert das Betonungsmuster „10", das einem zweisilbigen
Wort entspricht, dessen erste Silbe betont und dessen zweite Silbe
unbetont ist. Von da aus greift das Modul 28 zum Nachschlagen
von Mustern auf Zeile 42 der Tabelle 20 zu, um
die entsprechenden Informationen zur Tonhöhe und Dauer für das „10"-Muster zu erhalten.
Die bei 44 gezeigten Informationen zur Tonhöhe und Dauer
werden dann an das Prosodiemodul 18 geliefert, wo sie benutzt
werden, um die Datenfolge vom Synthetisator 14 dergestalt
zu modifizieren, dass die anfängliche
Silbe betont und die zweite Silbe unbetont ist.
-
Zwar
ist es möglich,
eine Baumstruktur und eine entsprechende Tabelle aufzubauen, die
alle möglichen
Kombinationen aller Betonungsmuster enthalten, auf die das System
treffen wird, doch es gibt viele Fälle, in denen dies nicht zweckmäßig bzw.
nicht durchführbar
ist. In einigen Fällen
werden unzulängliche
Trainingsdaten vorliegen, so dass einige Betonungsmusterkombinationen
nicht vorhanden sein werden. Bei anderen Anwendungen, bei denen
Speicherressourcen knapp sind, kann der Planer des Systems entscheiden,
bestimmte Knoten zu trunkieren oder zu entvölkern, um die Größe des Baumes
und seiner zugehörigen
Verweistabelle zu verringern. Die vorliegende Erfindung ist darauf
angelegt, diese Situationen zu handhaben, indem „on the fly" (d.h. dynamisch
während
des Betriebs) eine neue bzw. eine Ersatz-Prosodieschablone generiert wird.
Das System tut dies, wie nachstehend ausführlicher erläutert wird,
indem es das Betonungs muster des Eingabetextes mit einem oder mehreren
Mustern abgleicht, die in dem Baum real vorhanden sind, und dann nach
Bedarf zusätzliche
Betonungsmusterwerte hinzufügt
oder klont, so dass vorhandene Teilmuster aneinander gehängt werden
können,
um das gewünschte
neue Muster zu bilden.
-
Das
Modul 28 zum Nachschlagen von Prosodiemustern handhabt
Situationen, in denen innerhalb des Baums 10 und dessen
zugehöriger
Tabelle 20 die vollständige
Prosodieschablone für
ein gegebenes Wort nicht in ihrer Gesamtheit vorhanden ist. Das
Modul tut dies, indem es den Baum 10 beginnend beim Wurzelknoten 12 durchläuft und
jedem Zweig bis hinunter zu jedem einzelnen Ende folgt. Während das
Modul von Knoten zu Knoten fortschreitet, prüft es bei jedem Schritt, ob
das im aktuellen Knoten gespeicherte Betonungsmuster mit dem Betonungsmuster
der entsprechenden Silbe innerhalb des Wortes übereinstimmt.
-
Jedes
Mal, wenn der in einem Knoten gespeicherte Betonungsmusterwert nicht
mit dem Betonungswert der entsprechenden Silbe im Zielwort übereinstimmt,
addiert das Nachschlagemodul eine festgelegte Strafe zu einer laufenden
Summe hinzu, die für
jeden der durchlaufenen Pfade geführt wird. Der Pfad mit der niedrigsten
Strafpunktzahl ist derjenige Pfad, der am besten mit dem Betonungsmuster
des Zielwortes übereinstimmt.
Bei der bevorzugten Ausführungsform
werden Strafpunktzahlen aus einer gespeicherten Matrix aus Strafwerten,
die zu unterschiedlichen Kombinationen aus Betonung der Schablonensilbe
und Betonung der Zielsilbe gehören,
ausgewählt.
Außerdem
können
diese im Voraus eingespeicherten Strafen basierend auf dem Kontext
des Zielwortes innerhalb des gesprochenen Satzes oder der gesprochenen
Phrase weiter modifiziert werden. Kontexte, die bei der Wahrneh mung
hervorstechen, weisen zugehörige
Strafmodifikatoren auf. Zum Beispiel ist in gesprochenem Englisch
eine Nichtübereinstimmung
der Prosodie bei Silben am Wortende sehr auffällig. Daher erhöht das System
für Nichtübereinstimmungen,
die bei Silben am Wortende auftreten, die aus der Strafmatrix ausgewählte Strafe.
-
Um
Silben im Zielwort mit Silben in der Referenzschablone abzugleichen,
wird eine Suche ausgeführt, welche
die Strafe für
Nichtübereinstimmung
minimiert. Konzeptionell zählt
die Suche alle möglichen
Zuordnungen von Silben des Zielworts zu Silben der Referenzschablone
auf. Tatsächlich
ist es nicht notwendig, alle möglichen
Zuordnungen aufzuzählen,
da es bei dem Suchvorgang möglich
ist, zu wissen, dass eine bestimmte Folge aus Silbenabgleichen prinzipiell
nicht mit einer anderen konkurrieren und daher aufgegeben werden kann.
Falls insbesondere die Strafe für
Nichtübereinstimmung
für eine
Teilübereinstimmung
die niedrigste Strafe für
Nichtübereinstimmung
für eine
bereits ermittelte volle Übereinstimmung überschreitet,
kann die Teilübereinstimmung
problemlos aufgegeben werden.
-
Um
das Konzept zu verstehen, nach welchem die Strafen angewandt werden,
sei auf 3 verwiesen. Die Baumstruktur
aus 3 kann vom Wurzelknoten über diverse Pfade bis zu jedem
der acht Blattknoten an der Unterseite des Baums durchlaufen werden.
Ein solcher Pfad ist bei 50 mit einer gestrichelten Linie dargestellt.
Andere Pfade können
ausgehend vom Wurzelknoten bis zu Zwischenknoten verfolgt werden,
so etwa der Pfad 52. Der Pfad 50 endet bei dem
Knoten, der das Muster „100" enthält, wohingegen
der Pfad 52 bei dem Knoten endet, der das Muster „01" enthält. Der
Pfad 52 könnte
auch ebenso dergestalt erweitert werden, dass ein zusätzlicher
Pfad definiert wird, der bei dem Knoten endet, der das Muster „010" enthält. Während das
Modul 28 zum Nachschlagen von Prosodiemustern jeden der
möglichen
Pfade erkundet, sammelt es für
jeden der Pfade eine Strafpunktzahl an. Bei dem Versuch, einen Pfad
mit dem Betonungsmuster „01" eines als Eingabetext
bereitgestellten Zielworts abzugleichen, würde der Pfad 52 eine
Strafpunktzahl von null aufweisen, wohingegen alle anderen Pfade
höhere
Strafpunktzahlen aufweisen würden,
da sie nicht exakt mit dem Betonungsmuster des Zielwortes übereinstimmen.
Somit würde
das Nachschlagemodul den Pfad 52 als den kostengünstigsten
Pfad identifizieren und daraufhin den Knoten, der die „01" enthält, als
den angemessenen, als Index in die Prosodie-Verweistabelle 20 (1)
zu verwendenden Knoten identifizieren. Alle anderen Pfade mit höheren Strafpunktzahlen
würden
zurückgewiesen
werden.
-
Wie
oben angemerkt wurde, gibt es Fälle,
bei denen mittels Durchlaufen jedes beliebigen Pfades durch den
Baum keine perfekte Übereinstimmung
gefunden werden kann. Das Modul 28 zum Nachschlagen von
Prosodiemustern geht auf diese Situation mittels einer Methode zum
Konstruieren von Knoten ein. 5 führt ein
einfaches Beispiel dafür
an, wie diese Methode angewandt wird.
-
Es
wird auf 5 Bezug genommen. Das englische
Zielwort „avenue" weist, wie von den
Wörterbuchinformationen
bei 60 angezeigt, ein Betonungsmuster von „102" auf. Somit würde das
Modul zum Nachschlagen von Prosodiemustern im Baum 10 idealerweise
gerne den das Betonungsmuster „102" enthaltenden Knoten
finden. In diesem Fall jedoch kann das Betonungsmuster „102" nicht im Baum 10 gefunden
werden. Das Modul 28 zum Nachschlagen von Prosodiemustern
sucht in ei ner Baumstruktur, die nur zweisilbige Betonungsmuster
enthält,
nach einem dreisilbigen Betonungsmuster. Es gibt jedoch Knoten,
die „10" und „12" enthalten und als
Approximation des gewünschten
Musters „102" dienen können. Somit
generiert das Modul ein zusätzliches
Betonungsmuster, indem es einen der Knoten in einem Baum dergestalt
dupliziert oder klont, dass eine Silbe einer Schablone für zwei oder
mehr aufeinanderfolgende Silben des Zielwortes verwendet werden
kann.
-
In 5 ist
das englische Zielwort „avenue" bei 62 in
Silben unterteilt gezeigt. Zwei Knoten, namentlich der Knoten, der „10" enthält, und
der Knoten, der „12" enthält, stimmen
mit dem Betonungsmuster der ersten Silbe des Zielwortes überein.
In 5 sei darauf hingewiesen, dass das bei 64 gezeigte
Betonungsmuster der ersten Silbe des Zielworts mit den bei 66 bzw. 68 gezeigten
Anfängen
der Betonungsmuster der Knoten „10" und „12" übereinstimmt.
Das bei 70 gezeigte Betonungsmuster der mittleren Silbe
des Zielworts stimmt mit der bei 72 gezeigten zweiten Silbe
des „10"-Knotens überein.
Es stimmt jedoch nicht mit der bei 74 gezeigten zweiten
Silbe des Knotens „12" überein. Da jedoch der Verweisbaum 10 nur
ein- und zweisilbige Knoten enthält, muss
eine dritte Silbe generiert werden. Die bevorzugte Ausführungsform
tut dies, indem sie das Betonungsmuster einer benachbarten Silbe
klont oder dupliziert. So wird bei 76 ein zusätzliches „0"-Betonungsmuster und bei 78 ein
zusätzliches „2"-Betonungsmuster
hinzugefügt.
Beide resultierenden Pfade (einschließlich der hinzugefügten oder
geklonten Silben) werden unter Verwendung der Matrix aus Strafen
ausgewertet. Die Gesamtpunktzahlen beider Pfade werden bewertet,
und es wird die Lösung
mit der niedrigsten Punktzahl ausgewählt.
-
Die
bevorzugte Ausführungsform
berechnet die Strafe, indem sie aus einer Verweistabelle einen Anfangs-Strafwert
ermittelt. Eine beispielhafte Verweistabelle wird wie folgt bereitgestellt:
-
-
Dieser
Anfangswert wird daraufhin modifiziert, um Kontexteffekte zu berücksichtigen,
indem folgende Modifikationsregeln angewandt werden:
Regel
1: | Falls
die Silbe der Schablone durch Wiederholen der vorhergehenden Silbe
konstruiert wird, werden 4 Punkte zu dem Strafwert addiert. |
Regel
2: | Falls
die vorhergehende Silbe der Eingabe eine Betonungsstufe von 1 oder
2 aufweist, werden 4 Punkte zu dem Strafwert addiert. |
Regel
3: | Falls
die nachfolgende Silbe der Eingabe eine Betonungsstufe von 1 oder
2 aufweist, werden 4 Punkte zu dem Strafwert addiert. |
Regel
4: | Falls
die nicht übereinstimmende
Silbe die letzte Silbe im Wort ist, wird die Gesamtstrafe mit 16
multipliziert. |
-
Die
obigen, den Kontext berücksichtigenden
Modifikationsregeln beruhen auf prosodischen Merkmalen des Zielwortes,
doch es versteht sich sofort, dass andere dem Zielwort oder der
Zielphrase zugehörige
phonetische Merkmale ebenfalls als Basis für den Kontext berücksichtigende
Modifikationsregeln benutzt werden können.
-
Bei
dem dargestellten Beispiel stimmt die erste generierte Lösung „100" mit Ausnahme der
letzten Silbe exakt mit dem Zielwort „102" überein.
Da eine Substitution auftrat, bei welcher eine gewünschte „2" durch eine „0" ersetzt wurde, fällt eine
Anfangsstrafe von zwei an (siehe die Matrix aus Strafen in Tabelle
1). Darüber hinaus
werden die den Kontext berücksichtigenden
Modifikationsregeln auf die erste generierte Lösung angewandt. In diesem Falle
wird die Anfangsstrafe gemäß Regel
1 um 4 erhöht
und dann gemäß Regel
4 mit 16 multipliziert, so dass sich eine Strafpunktzahl von ((2
+ 4)·16
=) 96 ergibt.
-
Eine
analoge Analyse ergibt, dass die zweite Lösung „122" mit Ausnahme der Substitution einer „2" für die „0" in der zweiten Silbe
exakt mit dem Zielwort „102" übereinstimmt. Bei einer Substitution
von „2" für „0" fällt ebenfalls
eine Strafe von zwei an. Darüber
hinaus wird die Anfangsstrafe gemäß Regeln 1, 2 und 3 um 12 erhöht, so dass
sich eine Strafpunktzahl von (2 + 4 + 4 + 4 =) 14 ergibt. Somit
weist die zweite generierte Lösung „122" die niedrigere Gesamtstrafpunktzahl
auf und wird als das am engsten mit dem Zielwort korrelierende Betonungsmuster
ausgewählt.
Für den
Fall, dass Lösungen
die gleiche Gesamtstrafpunktzahl tragen, kann das Modul zum Nachschlagen
von Prosodiemustern einen Satz von Regeln enthalten, die dazu ausgelegt
sind, Patts aufzulösen.
Zum Beispiel werden bei der Auswahl einer Lösung aufeinanderfolgende, unbetonte
Silben gegenüber
aufeinanderfolgenden Silben mit mittleren Betonungen bevorzugt.
Dieser Beschreibung ist im Anhang Pseudocode beigefügt, welcher
diese bevorzugte Ausführungsform
implementiert.
-
Es
wird nun mit dem in 5 dargestellten Beispiel fortgefahren.
Das Modul zum Nachschlagen von Prosodiemustern würde das Muster „10" benutzen, um auf
die Tabelle zuzugreifen und die Informationen zur Tonhöhe und Dauer
für dieses
Muster abzurufen. Es würde
dann zur Verwendung in der dritten Silbe des konstruierten „102"-Musters die Informationen
zur Tonhöhe
und Dauer aus der zweiten Silbe in dem „10"-Muster wiederholen. Die abgerufenen
Prosodiedaten würden
dann miteinander verbunden oder aneinander gehängt und zur Verwendung beim
Modifizieren der vom Synthetisator 14 gesendeten Folgendaten
dem Prosodiemodul 18 (1) zugeführt.
-
Ein
etwas komplexeres Beispiel, das in 6 gezeigt
wird, soll das Verfahren zur Behandlung ungenauer Übereinstimmungen
durch das Nachschlagemodul näher
erläutern.
Das Beispiel aus 6 benutzt die englischen Zielwörter „Santa
Clarita". Das gewünschte Betonungsmuster
des Zielwortes lautet „20010". Der Schablonen-Verweisbaum
weist die dreifach verzweigte Struktur des Baums 10b in 5 auf,
erstreckt sich aber dergestalt über
mehr Ebenen, dass er Muster aus bis zu fünf Silben umfasst. Einige der
relevanten Zweige des Baums sind schematisch in 6 gezeigt.
-
Um
zusammenzufassen, was in den vorhergegangenen Beispielen gezeigt
wurde: Der bevorzugte Nachschlagealgorithmus steigt durch den Schablonen-Verweisbaum
ab und versucht dabei, Betonungsstufen der Silben des Zielworts
abzugleichen. Die Übereinstimmung
muss dabei keine exakte sein. Stattdessen wird ein Maß für die Nähe geführt, indem
die aus der Strafmatrix ermittelten Werte, modifiziert durch die
kontextabhängigen
Regeln zur Modifikation der Strafen, summiert werden. Bei der Erkundung
verschiedener Zweige des Baumes müssen Pfade nicht vollständig verfolgt
werden, falls die Gesamtstrafpunktzahl für einen zum Teil durchlaufenen
Zweig diejenige des besten bisher gefundenen Zweigs überschreitet.
Das System fügt
Knoten ein, indem es einen vorhandenen Knoten dergestalt dupliziert
oder klont, dass eine Silbe einer Schablone für zwei oder mehr aufeinanderfolgende
Silben des Zielwortes verwendet werden kann. Natürlich wird die Aktion des Hinzufügens einer
Silbe mit einer Strafe belegt, da das Hinzufügen einer geklonten Silbe einer
Nichtübereinstimmung
von Schablone und Ziel entspricht, wobei die Strafe mit den anderen,
diesem Zweig beigemessenen angesammelten Strafen summiert wird.
-
Im
Laufe des weiteren Abgleichens von Knoten in dem Baum mit Zielsilben
durch den Algorithmus wird aufgezeichnet, welche Silben der Schablone
mit den einzelnen Silben des Ziels abgeglichen wurden. Später beim
Einsatz des Text-Sprachsynthetisators
werden die prosodischen Merkmale der aufgezeichneten Silbe der Schablone
auf die Daten angewandt, die dieser Silbe aus dem Zielwort entsprechen.
Falls beim Abstieg durch einen Pfad ein Knoten geklont wurde, werden
die prosodischen Informationen der entsprechenden Silbe der Schablone
für beide
bzw. alle Silben des Ziels benutzt, die der Abstiegsalgorithmus
mit ihr abgeglichen hat. Bezüglich
der Tonhöheninformationen
bedeutet dies, dass die Kontur der Silbe der Schablone über die
Dauer beider Silben des Ziels ausgedehnt werden sollte. Bezüglich der
Informationen zur Dauer sollten beiden Silben des Ziels Werte für die Dauer
entsprechend des relativen Werts für die Dauer der Silbe der Schablone
zugewiesen werden.
-
Die
bisher dargestellten Beispiele haben sich auf die Verwendung eines
einzelnen Baums konzentriert. Die Erfindung kann auf die Verwendung
mehrfacher Bäume
erweitert werden, von denen jeder in einem unterschiedlichen Kontext
genutzt wird. Zum Beispiel kann der Eingabetext, der dem Synthetisator
zugeführt wird,
analysiert oder geparst werden, um zu identifizieren, ob sich ein
konkretes Wort am Anfang, in der Mitte oder am Ende des Satzes oder
der Phrase befindet. Es kann erwünscht
sein, abhängig
davon, wo das Wort in der Phrase oder in dem Satz erscheint, unterschiedliche
prosodische Regeln anzuwenden. Um dies einzurichten, kann das System
mehrfache Bäume
einsetzen, zu denen jeweils eine Verweistabelle gehört, welche
die Informationen zur Tonhöhe
und Dauer für
den betreffenden Kontext enthält.
Somit würde
der zur Verwendung durch Wörter
am Anfang vorgesehene Baum benutzt, wenn das System ein Wort am
Satzanfang verarbeitet. Falls das Wort in der Mitte oder am Ende
des Satzes auftritt, würden
die entsprechenden anderen Bäume
benutzt. Es ist natürlich
ersichtlich, dass ein derartiges System mit mehreren Bäumen als
einzelner großer
Baum implementiert werden könnte,
bei welchem die Startpunkte für
Anfang, Mitte und Ende die ersten drei Tochterknoten eines einzelnen
Wurzelknotens sind.
-
Der
Algorithmus wurde vorliegend dergestalt beschrieben, dass er in „Von links
nach rechts"-Manier von
der ersten Silbe des Zielwortes zur letzten Silbe des Zielwortes
fortschreitet. Falls jedoch die Daten in den Schablonen-Verweisbäumen geeignet
umgeordnet werden, könnte
der Algorithmus genauso gut in „Von rechts nach links"-Manier von der letzten
Silbe des Zielwortes zur ersten Silbe des Zielwortes fortschreitend angewandt
werden.
-
Aus
dem Vorstehenden wird man verstehen, dass die vorliegende Erfindung
benutzt werden kann, um bei einer Vielzahl unterschiedlicher Anwendungsfälle Prosodieschablonen
für die
Sprachsynthese auszuwählen.
Zwar wurde die Erfindung in ihren vorliegend bevorzugten Ausführungsformen
beschrieben, doch können Modifikationen
an dem Vorstehenden vorgenommen werden, ohne vom Schutzumfang der
Erfindung abzuweichen, der in den beigefügten Ansprüchen dargelegt wird.
-
-
-
-
-
-