-
Hintergrund
und Zusammenfassung der Erfindung
-
Die vorliegende Erfindung bezieht
sich im allgemeinen auf Sprachsynthese und insbesondere auf einen
concatenativen Synthesizer auf der Basis eines Quellen-Filter-Modells,
in dem das Quellensignal und die Filterparameter durch unabhängige Überblendungsmechanismen
generiert werden.
-
Heutige Sprachsynthese involviert
viele Kompromisse. Für
begrenzte Vokabularanwendungen ist es normalerweise möglich ganze
Wörter
als digitale Proben zu speichern, die zur Wiedergabe zu Sätzen verkettet
werden sollen. Unter Voraussetzung eines guten Verslehrenalgorithmus,
um Betonung auf die passenden Wörter
zu legen, neigen diese Systeme dazu ganz natürlich zu klingen, weil die
individuellen Wörter
genaue Reproduktionen tatsächlicher menschlicher
Sprache sein können.
Bei größeren Wörterverzeichnissen
ist es jedoch nicht möglich komplette
Wortproben tatsächlicher
menschlicher Sprache zu speichern. Deshalb hat eine Reihe von Sprachsynthesisten
damit experimentiert Sprache in kleinere Einheiten zu zerlegen und
jene Einheiten zu Wörtern,
Phrasen und letztlich zu Sätzen
zu verketten.
-
Leider müssen sich Sprachsynthesisten beim
Verketten von Subworteinheiten mehreren sehr schwierigen Problemen
stellen. Um Systemspeicheranforderungen auf etwas Überschaubares
zu reduzieren, ist es notwendig vielseitige Subworteinheiten zu
entwickeln, die sich zur Bildung vieler verschiedener Wörter benutzen
lassen. Solche vielseitigen Subworteinheiten lassen sich jedoch
häufig
nicht gut verketten. Bei der Wiedergabe verketteter Subworteinheiten
gibt es häufig
eine merkliche Verzerrung bzw. einen Störimpuls wo Subworteinheiten
zusammengefügt
werden. Außerdem
wird, da die Subworteinheiten in Pitch und Dauer modifiziert werden
müssen, um
das beabsichtigte prosodische Schema zu realisieren, eine Verzerrung
am häufigsten
seitens aktueller Techniken zum Erzielen dieser Modifikationen verursacht.
Abschließend,
da die meisten Sprachsegmente durch benachbarte Segmente stark beeinflusst
werden, gibt es keinen einfachen Satz von Verkettungseinheiten (wie
beispielsweise Phoneme oder Diphone), die menschliche Sprache angemessen
repräsentieren
können.
-
Eine Reihe von Sprachsynthesisten
haben verschiedene Lösungen
der obigen Verkettungsprobleme vorgeschlagen, aber bisher hat noch
keiner das Problem erfolgreich gelöst. Menschliche Sprache generiert
komplexe zeitlich veränderliche
Wellenformen, die einfachen Signalverarbeitungslösungen trotzen.
-
Das Dokument 'New algorithm for spectral smoothing
and envelope modification for LP-PS'OLA synthesis' von Gimenez de los Galanes et al (Proceedings
of ICASSP94, Seiten 1–573 – 6, New
York), offenbart einen concatenativen Sprachsynthesizer mit einer
Datenbank, die Wellenformdaten, eine Vielheit von Verkettungseinheiten,
und Filterparameterdaten, die mit der Vielheit von Verkettungseinheiten
verbunden sind, ein Filterwahlsystem, einen Filterparameter-Überblendungsmechanismus,
und ein Filtermodul enthält,
das für
einen Satz zusammengesetzter Wellenformpegelfilterdaten empfänglich ist,
um synthetisierte Sprache zu generieren.
-
Das Dokument 'Improving Naturalness in Text-to-speech
Synthesis using Natural Glottal Source' von Kenji Matsui et al (ICASSP1991,
New York, Seiten 769–772),
offenbart einen Wellenform-Überblendungsmechanismus,
der eine lineare Überblendung
im Zeitbereich betreibt.
-
Unsere Arbeit hat uns überzeugt,
dass sich eine erfolgreiche Lösung
der Verkettungsprobleme nur im Zusammenhang mit der Entdeckung eines
robusten Sprachsynthesemodells ergeben wird. Außerdem werden wir einen angemessenen
Satz von Verkettungseinheiten und die weitere Fähigkeit benötigen diese Einheiten dynamisch
zu modifizieren, um benachbarte Segmente zu reflektieren.
-
Deshalb wird ein concatenativer Sprachsynthesizer,
wie in Anspruch 1 dargelegt, bereitgestellt.
-
Spezifische Ausführungsbeispiele sind wie in den
Unteransprüchen
dargelegt.
-
Um die Erfindung, ihre Ziele und
Vorteile vollkommener zu verstehen, beziehen Sie sich bitte auf die
folgende Spezifikation und die zugehörigen Zeichnungen.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein Blockdiagramm und illustriert das grundlegende Quellen-Filter-Modell
mit dem die Erfindung eingesetzt werden könnte;
-
2 ist
ein Diagramm von Sprachsynthesizertechnologie und illustriert das
Spektrum möglicher
Quellen-Filter-Kombinationen,
und weist speziell auf den Bereich hin, in dem der Synthesizer der vorliegenden
Erfindung besteht;
-
3 ist
ein Flussdiagramm und illustriert die Prozedur für das Konstruieren von Wellenformdatenbanken,
die in der vorliegenden Erfindung verwendet werden;
-
4A und 4B umfassen ein Flussdiagramm,
das den Syntheseprozess gemäß der Erfindung
illustriert.
-
5 ist
ein Wellenformdiagramm, das die Zeitbereichsüberblendung von Quellenwellenformstückchen illustriert;
-
6 ist
ein Blockdiagramm der momentan bevorzugten Vorrichtung, die zum
Praktizieren der Erfindung nützlich
ist;
-
7 ist
ein Flussdiagramm, das den Prozess in Übereinstimmung mit der Erfindung
illustriert.
-
Detaillierte
Beschreibung des bevorzugten Ausführungsbeispiels
-
Obwohl bisher viele Sprachsynthesemodelle vorgeschlagen
worden sind, haben die meisten folgende Zweikomponenten-Signalverarbeitungsstruktur
gemeinsam. Wie in 1 gezeigt,
lässt sich Sprache
als eine anfängliche
Quellenkomponente 10 modellieren, die durch eine anschließende Filterkomponente 12 verarbeitet
wird.
-
Abhängig vom Modell, entweder Quelle
oder Filter, können
beide sehr einfach oder sehr komplex sein. Beispielsweise verkettete
eine frühere
Form der Sprachsynthese hoch komplizierte PCM (pulscodemodulierte)
Wellenformen als Quelle mit einem sehr einfachen (Verstärkungsfaktor
Eins) Filter. Im PCM-Synthesizer war alles apriorische Wissen in
die Quelle und keins im Filter eingebettet. Vergleichsweise verwendete
ein anderes Synthetisierverfahren eine einfache Wiederholungsimpulsfolge
als Quelle und einen verhältnismäßig komplexen
Filter auf der Basis von LPC (Lineare Prädiktionscodierung). Beachten
Sie bitte, dass keine dieser konventionellen Synthesetechniken versuchte
die physikalischen Strukturen innerhalb des menschlichen Stimmapparats
zu modellieren, die für
das Produzieren der menschlichen Sprache verantwortlich sind.
-
Die vorliegende Erfindung setzt ein
Synthesemodell auf Formantbasis ein, das die Quellen- und Filter-Synthesizerkomponenten
eng an die physikalischen Strukturen des menschlichen Stimmapparats bindet.
Insbesondere basiert der Synthesizer der vorliegenden Erfindung
das Quellenmodell auf eine beste Schätzung des an der Glottis produzierten
Quellensignals. Genauso beruht das Filtermodell auf den mitschwingenden
(Formant produzierenden) Strukturen, die sich allgemein oberhalb
der Glottis befinden. Aus diesen Gründen nennen wir unsere Synthesetechnik "formantbasiert".
-
Die 2 fasst
verschiedene Quellen-Filter-Kombinationen zusammen, die auf der
vertikalen Achse ein relatives Maß der Komplexität der entsprechenden
Quellen- oder Filterkomponente zeigen. In der 2 sind die Quellen- und Filterkomponenten als
vertikale Achsen Seite-an-Seite illustriert. Entlang der Quellenachse
nimmt relative Komplexität
von oben nach unten ab, wogegen entlang der Filterachse relative
Komplexität
von oben nach untern zunimmt. Mehrere allgemein horizontale oder
diagonale Linien verbinden einen Punkt auf der Quellenachse mit
einem Punkt auf der Filterachse, um einen speziellen Typ von Sprachsynthesizer
zu repräsentieren. Beispielsweise
verbindet die horizontale Linie 14 eine ziemlich komplexe
Quelle mit einem ziemlich einfachen Filter, um den TD-PSOLA Synthesizer
zu definieren, ein Beispiel eines Typs gut bekannter Synthesizertechnologie,
bei der eine PCM-Quellenwellenform
auf einen Identitätsfilter
angewandt wird. Ebenso verbindet die horizontale Linie 16 eine
relativ einfache Quelle mit einem relativ komplexen Filter, um einen
weiteren bekannten Synthesizer des Phasen-Vocoder, einen harmonischen
Synthesizer, zu definieren. Dieser Synthesizer verwendet im Wesentlichen
eine einfache Form der Impulsfolgen-Quellenwellenform und einen
komplexen Filter, der konzipiert ist Spektralanalysetechniken wie
beispielsweise schnelle Fourier Transformationen /Fast Fourier Transforms
(FFT) zu verwenden. Der klassische LPC-Synthesizer ist durch die
diagonale Linie 17 repräsentiert,
die eine Impulsfolgequelle mit einem LPC-Filter verbindet. Der Klatt-Synthesizer 18 wird durch
eine parametrische Quelle definiert, die durch einen Filter angewandt
wird, der Formanten und Nullstellen umfasst.
-
Im Gegensatz zur vorgenannten konventionellen
Synthesizertechnologie nimmt die vorliegende Erfindung eine Stelle
innerhalb der 2 ein,
die allgemein durch die schattierte Region 20 illustriert
ist. Mit anderen Worten, die vorliegende Erfindung kann eine Quellenwellenform
verwenden, die von einer reinen glottalen Quelle bis zu einer glottalen
Quelle mit gegenwärtigen
Nasaleffekten reicht. Der Filter kann eine einfache Formantfilterbank
oder ein etwas komplizierterer Filter mit Formanten und Nullstellen
sein.
-
Unserem Wissen nach hat die concatenative Synthese
des Stands der Technik größtenteils
die Region 20 in der 2 vermieden.
Die Region 20 entspricht so nahe wie praktisch der natürlichen Trennung
beim Menschen zwischen der glottalen Sprechquelle und dem Stimmapparat
(Filter).
-
Wir glauben, dass Operieren in der
Region 20 einige innewohnende Vorteile, auf Grund seiner zentralen
Position zwischen den zwei Extremen reiner Zeitbereichsrepräsentation
(wie TD-PSOLA) und der reinen Frequenzbereichsrepräsentation
(wie der Phasen-Vocoder oder harmonische Synthesizer) hat.
-
Die gegenwärtig bevorzugte Implementierung
unseres Synthesizers auf Formantbasis verwendet eine Technik, die
einen Filter und einen Umkehrfilter einsetzt, um Quellensignal-
und Formantparameter aus der menschlichen Sprache auszublenden.
Die ausgeblendeten Signale und Parameter werden dann im Quellen-Filter-Modell
verwendet, das der Region 20 in der 2 entspricht. Die gegenwärtig bevorzugte
Prozedur für
das Ausblenden von Quellen- und Filterparametern aus menschlicher Sprache
wird später
in dieser Spezifikation beschrieben. Die vorliegende Beschreibung
wird sich auf andere Gesichtspunkte des Synthesizers auf Formantbasis
konzentrieren, nämlich
jene, die sich auf die Wahl concatenativer Einheiten und Überblendung beziehen.
-
Der Synthesizer der Erfindung auf
Formantbasis definiert Verkettungseinheiten, die kleine Stücke digitalisierter
Sprache repräsentieren,
die dann – zur
Wiedergabe durch ein Synthesizertonmodul – miteinander verkettet werden.
Die Überblendungstechniken
der Erfindung lassen sich mit Verkettungseinheiten verschiedener
Größen einsetzen.
Für diesen
Zweck ist die Silbe eine natürliche
Einheit, aber wo Speichervermögen
begrenzt ist, könnte
die Wahl der Silbe als grundlegende Verkettungseinheit, was die
Speicheranforderungen betrifft, untragbar sein. Demzufolge verwendet
die vorliegende Implementierung die Halbsilbe als grundlegende Verkettungseinheit.
Ein wichtiger Teil des Synthesizers auf Formantbasis involviert
das Durchführen
einer Überblendung, um
benachbarte Halbsilben reibungslos miteinander zu verbinden, so
dass die resultierenden Silben natürlich und ohne Störimpulse
oder Verzerrung klingen. Wie nachstehend ausführlicher beschrieben werden
wird, führt
das vorliegende System diese Überblendung
sowohl im Zeitbereich als auch im Frequenzbereich durch und involviert
beide Komponenten des Quellen-Filter-Modells: die Quellenwellenformen
und die Formantfilterparameter.
-
Das bevorzugte Ausführungsbeispiel
speichert Quellenwellenformdaten und Filterparameterdaten in einer
Wellenformdatenbank. In ihrer maximalen Form speichert die Datenbank
digitalisierte Sprachwellenformen und Filterparameterdaten für wenigstens
ein Beispiel jeder Halbsilbe, die in der natürlichen Sprache (d. h. Englisch)
vorkommt. In einer speichersparenden Form, lässt sich die Datenbank kürzen, um
redundante Sprachwellenformen zu eliminieren. Weil benachbarte Halbsilben
einander beachtlich beeinträchtigen
können,
speichert das bevorzugte System Daten für jeden begegneten unterschiedlichen
Kontext.
-
3 zeigt
die gegenwärtig
bevorzugte Technik für
das Konstruieren der Wellenformdatenbank. In der 3 (und ebenso in den nachfolgenden 4A und 4B) sollen die Kästen mit Doppellinien-Oberkanten Überschriften
von Hauptverarbeitungsblöcken
darstellen. Die Kästen
mit Einzellinien unterhalb dieser Überschriften repräsentieren
die individuellen Schritte oder Module, die den Hauptblock umfassen,
der durch den Überschriftsblock
designiert ist.
-
Unter Bezugnahme auf die 3 werden Daten für die Wellenformdatenbank
wie bei 40 konstruiert, indem zuerst eine Liste von Halbsilben
und Grenzsequenzen wie bei Schritt 42 dargestellt zusammengestellt
wird. Dies wird durch Generieren aller möglichen Kombinationen von Halbsilben
(Schritt 44) und danach durch Ausschließen jeglicher unbenutzter Kombinationen
wie bei 46 erzielt. Schritt 44 kann vielleicht
ein rekursiver Prozess sein wodurch alle verschiedenen Permutationen
von Anfangs- und Endhalbsilben generiert werden. Diese vollständige Liste
aller möglichen
Kombinationen wird dann gekürzt,
um die Größe der Datenbank
zu reduzieren. Kürzen
wird in Schritt 46 erzielt, indem ein Wörterbuch 48 konsultiert
wird, das phonetische Transkriptionen aller Wörter enthält, die der Synthesizer aussprechen
wird. Diese phonetischen Transkriptionen werden dazu verwendet jegliche
Halbsilbenkombinationen auszusondern, die nicht in den Wörtern vorkommen,
die der Synthesizer aussprechen wird.
-
Das bevorzugte Ausführungsbeispiel
behandelt außerdem
Grenzen zwischen Silben, wie beispielsweise solchen, die über Wortgrenzen
oder Satzgrenzen auftreten. Diese Grenzeinheiten (häufig Konsonanten-Cluster)
werden aus Diphonen konstruiert, die dem korrekten Text als Probe
entnommen wurden. Eine Art, unbenutzte Kombinationen von Grenzeinheiten
auszuschließen,
ist einen Textkörper 50 bereitzustellen,
der beispielhafte Sätze enthält, die
mittels der im Wörterbuch 48 gefundenen Worte
gebildet wurden. Diese Sätze
werden dazu verwendet verschiedene Wortgrenzkontexte so zu definieren,
dass Kombinationen von Grenzeinheiten, die im Textkörper nicht
gefunden werden, bei Schritt 46 ausgeschlossen werden können.
-
Nach dem die Liste von Halbsilben
und Grenzeinheiten zusammengestellt und gekürzt worden ist, werden die
abgetasteten Wellenformdaten, die zu jeder Halbsilbe gehören, aufgezeichnet
und bei Schritt 52 etikettiert. Dies macht die Anwendung phonetischer
Markierer am Anfang und Ende des relevanten Teils jeder Halbsilbe,
wie bei Schritt 54 angezeigt, erforderlich. Im Wesentlichen
werden die relevanten Teile der abgetasteten Wellenformdaten ausgeblendet
und etikettiert, indem man die herausgezogenen Teile mit der entsprechenden
Halbsilbe oder Grenzeinheit verbindet, aus der die Probe abgeleitet
wurde.
-
Der nächste Schritt involviert das
Ausblenden von Quellen- und Filterdaten aus den etikettierten Wellenformdaten
wie es im Allgemeinen bei Schritt 56 dargestellt ist. Der
Schritt 56 involviert eine Technik, die nachstehend ausführlicher
beschrieben ist, bei der tatsächliche
menschliche Sprache, unter Benutzung einer Kostenfunktion, die hilft
ein innewohnendes Quellensignal und Filterparameter aus jeden der
etikettierten Wellenformdaten auszublenden, durch einen Filter und
Umkehrfilter verarbeitet wird. Die ausgeblendeten Quellen- und Filterdaten werden
dann bei Schritt 58 in der Wellenformdatenbank 60 gespeichert.
Die maximale Wellenformdatenbank 60 enthält somit
Quellendaten (Wellenform) und Filterparameterdaten für jede der
etikettierten Halbsilben und Grenzeinheiten. Sobald die Wellenformdatenbank
konstruiert worden ist, kann jetzt der Synthesizer verwendet werden.
-
Zur Verwendung des Synthesizers wird
eine Eingabekette wie bei 62 in der 4a bereitgestellt. Die Eingabekette kann
eine Phonemkette, die eine Phrase oder einen Satz repräsentiert,
wie es bei 64 diagrammatisch gezeigt ist, sein. Die Phonemkette kann
ausgerichtete Intonationsmuster 66 und Silbendauerinformation 68 einschließen. Die
Intonationsmuster und Dauerinformation liefern Verslehreninformation,
die der Synthesizer verwenden kann, um Pitch und Dauer von Silben
selektiv zu ändern,
um der Phrase oder dem Satz einen mehr natürlichen menschenähnlichen
Tonfall zu geben.
-
Die Phonemkette wird durch eine Reihe
von Schritten verarbeitet, wodurch Information aus der Wellenformdatenbank 60 ausgeblendet
und durch den Überblendungsmechanismus
vervollständigt wird.
Zunächst
wird, wie durch den Überschriftsblock 70 angezeigt,
Einheitsselektion durchgeführt.
Dies ist mit dem Anwenden von Kontextregeln wie bei 72, verbunden,
um zu bestimmen welche Daten der Wellenformdatenbank 60 entnommen
werden sollen. Die bei 74 diagrammatisch dargestellten
Kontextregeln spezifizieren welche Halbsilben oder Grenzeinheiten unter
bestimmten Bedingungen aus der Datenbank auszublenden sind. Wenn,
beispielsweise, die Phonemkette eine Halbsilbe verlangt, die in
der Datenbank direkt repräsentiert
ist, so wird jene Halbsilbe selektiert. Die Kontextregeln berücksichtigen
die Halbsilben benachbarter Klangeinheiten bei Selektionen aus der
Wellenformdatenbank. Falls die erforderliche Halbsilbe nicht direkt
in der Datenbank repräsentiert
ist, so werden die Kontextregeln die beste Annäherungen die benötigte Halbsilbe
spezifizieren. Die Kontextregeln sind konzipiert die Halbsilben
zu selektieren, die nach Verketten am natürlichsten klingen werden. Daher
beruhen die Kontextregeln auf linguistischen Grundsätzen.
-
Zur Illustration: Falls der erforderlichen
Halbsilbe ein stimmhafter bilabialer Stopp (d. h., /b/) im synthetisierten
Wort vorausgeht, die Halbsilbe aber in einem solchen Kontext nicht
in der Datenbank gefunden wird, werden die Kontextregeln den nächst wünschenswerten
Kontext spezifizieren. In diesem Fall, können die Regeln vielleicht
ein Segment wählen, dem
ein anderer Bilabiallaut, wie beispielsweise /p/, vorausgeht.
-
Als nächstes baut der Synthesizer
eine akustische Kette von Silbenobjekten, die der als Eingabe bereitgestellten
Phonemkette entsprechen. Dieser Schritt wird im Allgemeinen bei 76 angezeigt
und ist mit dem Konstruieren von Quellendaten für die Kette von Halbsilben,
wie bei der Einheitsselektion spezifiziert, verbunden. Diese Quellendaten
entsprechen der Quellenkomponente des Quellen-Filter-Modells. Filterparameter
werden ebenso aus der Datenbank ausgeblendet und manipuliert, um
die akustische Kette zu bauen. Die Details der Filterparametermanipulation
werden nachstehend ausführlicher
erörtert. Das
gegenwärtig
bevorzugte Ausführungsbeispiel definiert
die Kette von Silbenobjekten als eine verkettete Liste von Silben 78,
die ihrerseits eine verkettete Liste von Halbsilben 80 umfasst.
Die Halbsilben enthalten Wellenformstückchen 82, die aus
der Wellenformdatenbank 60 beschafft wurden.
-
Sobald die Quellendaten erstellt
worden sind, wird eine Reihe von Vervollständigungsschritten ausgeführt, um
die Quellendaten im Zeitbereich zu überblenden und die Filterparameter
unabhängig im
Frequenzbereich zu überblenden.
Die im Zeitbereich angewandten Vervollständigungsschritte beginnen bei
Schritt 134 zu erscheinen. Die im Frequenzbereich angewandten
Vervollständigungsschritte
beginnen bei Schritt 110 (4B)
zu erscheinen.
-
Die 5 illustriert
die gegenwärtig
bevorzugte Technik für
das Durchführen
einer Überblendung
der Quellendaten im Zeitbereich. Unter Bezugnahme auf die 5 besteht eine Silbe der
Dauer S aus Anfangs- und
Endhalbsilben der Dauer A und B. Die Wellenformdaten der Halbsilbe
A erscheinen bei 86 und die Wellenformdaten der Halbsilbe
B erscheinen bei 88. Diese Wellenformstückchen werden so in Position
geschoben (zeitlich arrangiert), dass beide Halbsilben in die Silbendauer
S passen. Beachten Sie, dass zwischen Halbsilben A und B etwas Überlappung
vorhanden ist.
-
Der Überblendungsmechanismus des
bevorzugten Ausführungsbeispiels
für eine
lineare Überblendung
im Zeitbereich durch. Dieser Mechanismus ist diagrammatisch bei 90 illustriert,
wobei die lineare Überblendungsfunktion
bei 92 repräsentiert
wird. Beachten Sie, das bei Zeit = t0 die
Halbsilbe A volle Betonung erhält,
während
die Halbsilbe B Null-Betonung erhält. Sowie die Zeit auf tS fortschreitet, wird die Betonung der Halbsilbe
A allmählich
reduziert, während
die Betonung der Halbsilbe B allmählich erhöht wird. Dieses führt, wie
bei 94 illustriert, zu einer zusammengesetzten oder überblendeten
Wellenform für
die ganze Silbe S.
-
Indem wir jetzt auf die 4B Bezug nehmen, wird ein
separater Überblendungsprozess
an den Filterparameterdaten ausgeführt, die zu den ausgeblendeten
Halbsilben gehören.
Die Prozedur beginnt mit der Anwendung der Filterselektionsregeln 98,
um Filterparameterdaten aus der Datenbank 60 zu erhalten.
Falls die angeforderte Silbe in einer Silben-Ausnahmenkomponente der Datenbank 60 direkt
repräsentiert
ist, so werden die jener Silbe entsprechenden Filterdaten wie bei
Schritt 100 benutzt. Als Alternative, wenn die Filterdaten
nicht als eine volle Silbe direkt in der Datenbank repräsentiert
sind, werden neue Filterdaten wie bei Schritt 102, durch Anwendung
eines Überblendungsvorgangs
auf Daten von zwei Halbsilben im Frequenzbereich, generiert. Der Überblendungsvorgang
ist mit dem Selektieren einer Überblendungsregion, über welche
die Filterparameter aufeinander folgender Halbsilben überblendet
werden, und dann mit der Anwendung einer geeigneten Überblendungsfunktion
wie bei 106 verbunden. Die Überblendungsfunktion
wird im Filterbereich angewandt und ist eine Sigmafunktion. Ob vom
Silben-Ausnahmekomponenten der Datenbank direkt abgeleitet (wie
bei Satz 100) oder durch den Überblendungsvorgang generiert,
werden die Filterparameterdaten bei 108, zur späteren Verwendung im
Synthesizer des Quellen-Filter-Modells, gespeichert.
-
Selektieren der geeigneten Überblendungsregion
ist datenabhängig.
Das Ziel der Durchführung von Überblendung
im Frequenzbereich ist unerwünschte
Störimpulse
oder Resonanzen zu eliminieren ohne wichtige Diphthonge zu degradieren.
Um dies zu erreichen müssen Überblendungsregionen identifiziert
werden, in denen die Trajektorien der zusammenzusetzenden Spracheinheiten
so ähnlich wie
möglich
sind. Beispielsweise könnten,
bei der Konstruktion des Worts "house", zweisilbige Filtereinheiten
für /haw/-
und -/aws/ mit Überlappung
in der Kernregion /a/ verkettet werden.
-
Sobald die Quellendaten und Filterdaten
erstellt und gemäß den vorhergehenden
Schritten vervollständigt
worden sind, werden sie wie bei 110 an die jeweilige Quellenwellenformdatenbank 112 und Filterparameterdatenbank 114 zur
Verwendung durch den Synthesizer 116 des Quellen-Filter-Modells
ausgegeben, um synthetisierte Sprache auszugeben.
-
Quellensignal-
und Filterparameterausblendung
-
Die 6 illustriert
ein erfindungsgemäßes System
durch das die Quellenwellenform aus einem komplexen Eingabesignal
ausgeblendet werden kann. Ein Filter-/Umkehrfilterpaar kommt beim
Ausblendprozess zur Verwendung.
-
In der 6,
wird der Filter 110 durch sein Filtermodell 112 und
Filterparameter 114 definiert. Die vorliegende Erfindung
setzt außerdem
einen Umkehrfilter 116 ein, welcher der Umkehrung des Filters 110 entspricht.
Der Filter 116 würde,
beispielsweise, dieselben Filterparameter wie der Filter 110 haben, würde aber
an jeder Stelle wo der Filter 110 Pole hat, Nullstellen
substituieren. Deshalb definieren der Filter 110 und der
Umkehrfilter 116 ein reziprokales System, in dem der Effekt
des Umkehrfilters 116 durch den Effekt des Filters 110 negiert
oder umgekehrt wird. Deshalb resultiert, wie as illustriert, eine Spracheingabewellenform
in den Umkehrfilter 116 und nachfolgende Verarbeitung durch
den Filter 110 in einer Ausgabewellenform die, theoretisch,
der Eingabewellenform identisch ist. In der Praxis würden geringfügige Variationen
an Filtertoleranz oder geringfügige
Differenzen zwischen Filtern 116 und 110 zu einer
Ausgabewellenform führen,
die etwas vom identischen Gegenstück der Eingabewellenform abweicht.
-
Wenn eine Sprachwellenform (oder
andere komplexe Wellenform) durch den Umkehrfilter 116 verarbeitet
wird, wird das Ausgaberestsignal bei Knoten 120 durch Anwendung
einer Kostenfunktion 122 verarbeitet. Allgemein gesprochen
analysiert diese Kostenfunktion das Restsignal gemäß einer
oder mehreren einer Vielheit von Verarbeitungsfunktionen, die nachstehend
ausführlicher
beschrieben sind, um einen Kostenparameter zu produzieren. Der Kostenparameter
wird dann in anschließenden
Verarbeitungsschritten dazu verwendet Filterparameter 114 einzustellen,
um zu versuchen den Kostenparameter zu minimieren. In der 1 repräsentiert der Kostenminimierblock 124 diagrammatisch
den Prozess durch den Filterparameter selektiv eingestellt werden,
um eine resultierende Verringerung im Kostenparameter zu produzieren.
Dies könnte
iterativ unter Verwendung eines Algorithmus durchgeführt werden,
der Filterparameter, während
der Suche der Minimumkosten, inkremental eingestellt.
-
Sobald die Minimumkosten erzielt
worden sind, kann das resultierende Restsignal bei Knoten 120 dann
dazu verwendet werden ein ausgeblendetes Quellensignal für nachfolgende
Quellen-Filter-Modellsynthese zu repräsentieren. Die, die Minimumkosten
produzierenden, Filterparameter 114 werden dann als die
Filterparameter zum Definieren des Filters 110 zur Verwendung
in nachfolgender Quellen-Filter-Modelsynthese benutzt werden.
-
Die 7 illustriert
den Prozess, durch den das Quellensignal ausgeblendet wird und die
Filterparameter identifiziert werden, um ein erfindungsgemäßes Quellen-Filter-Modellsynthesesystem
zu erzielen.
-
Zunächst wird bei Schritt 150 ein
Filtermodell definiert. Jedes passende Filtermodell, das sich für eine parametrisierte
Repräsentation
eignet, lässt
sich benutzen. Ein anfänglicher
Satz von Parametern wird dann bei Schritt 152 bereitgestellt.
Beachten Sie, dass der anfängliche
Satz von Parametern in nachfolgenden Schritten iterativ geändert werden
wird, um die Parameter zu suchen, die einer minimierten Kostenfunktion
entsprechen. Es können
verschiedene Techniken verwendet werden, um eine, einem lokalen
Minima entsprechende, suboptimale Lösung zu vermeiden. Beispielsweise
lässt sich
der anfängliche
Satz der bei Schritt 152 verwendeten Parameter aus einem
Satz oder einer Matrix von Parametern selektieren, die konzipiert
sind mehrere verschiedene Startpunkte bereitzustellen, um die lokalen
Minima zu vermeiden. Deshalb ist in der 7 zu beachten, dass der Schritt 152 viele
Male für
verschiedene anfängliche
Sätze von
Parametern ausgeführt
werden kann.
-
Das bei 150 definierte Filtermodell
und der bei 152 definierte anfängliche Satz von Parametern werden
dann bei Schritt 154 dazu verwendet einen Filter (wie bei 156)
und einen Umkehrfilter (wie bei 158) zu konstruieren.
-
Als nächstes wird das Sprachsignal
bei 160 am Umkehrfilter angewandt, um ein Restsignal wie bei 164 auszublenden.
Wie illustriert, verwendet das bevorzugte Ausführungsbeispiel ein Hanning-Fenster,
das sich auf die gegenwärtige
Pitch-Epoche zentriert und eingestellt wird, so dass es Zwei-Pitch-Perioden
deckt. Andere Fenster sind ebenfalls möglich. Das Restsignal wird
danach bei 166 verarbeitet, um Datenpunkte zur Verwendung
in einer Bogenlängenkalkulation
auszublenden.
-
Das Restsignal kann zum Ausblenden
der Datenpunkte auf verschiedene Arten verarbeitet werden. Wie bei 168 illustriert,
kann sich die Prozedur auf eine oder mehrere einer selektierten
Klasse von Verarbeitungsroutinen verzweigen. Beispiele solcher Routinen
sind bei 170 illustriert. Als nächstes wird die Kalkulation
für Bogenlänge (oder
Rechtecklänge)
bei 172 ausgeführt.
Der resultierende Wert dient als ein Kostenparameter.
-
Nach dem Kalkulieren der Kostenparameter für den anfänglichen
Satz von Filterparametern, werden die Filterparameter bei Schritt 174 selektiv
eingestellt und die Prozedur wird iterativ, wie bei 176 dargestellt,
wiederholt bis die Minimumkosten erzielt sind.
-
Sobald die Minimumkosten erzielt
sind, wird das ausgeblendete, jenen Minimumkosten entsprechende,
Restsignal bei Schritt 178 als das Quellensignal verwendet.
Die zu den Minimumkosten gehörigen
Filterparameter werden als die Filterparameter (Schritt 180)
in einem Quellen-Filter-Modell benutzt.
-
Für
weitere Details hinsichtlich Quellensignal- und Filterparameterausblendung,
ist auf das U.S.-Patent "Method
and Apparatus to Extract Formant-Based Source-Filter Data for Coding
and Synthesis Employing Cost Function and Inverse Filtering," Veröffentlichungsnummer
US-B-6 195 632, veröffentlicht
27.02.2001 von Steve Pearson und übertragen auf den Rechtsnachfolger
der vorliegenden Erfindung, Bezug zu nehmen.
-
Obwohl die Erfindung in ihrem gegenwärtig bevorzugtem
Ausführungsbeispiel
beschrieben worden ist, wird mit einbegriffen sein, dass die Erfindung gewisser
Modifikation fähig
ist, ohne vom Umfang der Erfindung abzuweichen wie sie in den angehängten Ansprüchen dargelegt
ist.