-
Die
vorliegende Erfindung bezieht sich auf das Gebiet der Synthese von
Sprache oder Musik und im Besonderen ohne Einschränkung auf
das Gebiet der Text/Sprache-Synthese.
-
Die
Funktion eines Text/Sprache (TTS)-Synthesesystems besteht darin,
Sprache von einem generischen Text in einer gegebenen Sprache zu
synthetisieren. Heutzutage werden TTS-Systeme in vielen Anwendungsbereichen
praktisch eingesetzt, beispielsweise für den Zugriff auf Datenbanken über das
Telefonnetz oder als Hilfe für
behinderte Personen. Ein Verfahren zum Synthetisieren von Sprache
besteht darin, Elemente eines aufgezeichneten Satzes von Sprachteileinheiten
wie Halbsilben oder Polyphone zu verketten. Die Mehrzahl erfolgreicher
handelsüblicher
Systeme verwendet die Verkettung von Polyphonen. Die Polyphone umfassen
Gruppen von zwei (Diphone), drei (Triphone) oder mehr Phonen und
können
aus Unsinnwörtern
ermittelt werden, indem die gewünschte
Gruppierung von Phonen in stabilen spektralen Bereichen segmentiert
werden. Bei einer Synthese auf der Basis der Verkettung ist die
Erhaltung des Übergangs
zwischen zwei benachbarten Phonen wesentlich für die Sicherstellung der Qualität der synthetisch
erzeugten Sprache. Durch die Wahl der Polyphone als grundlegende
Teileinheiten wird der Übergang
zwischen zwei benachbarten Phonen in den aufgezeichneten Teileinheiten
beibehalten, und die Verkettung erfolgt zwischen ähnlichen
Phonen.
-
Vor
der Synthese muss jedoch die Dauer und die Tonhöhe der Phonc verändert werden,
damit die prosodischen Einschränkungen
der neuen, derartige Phone enthaltenden Wörter erfüllt werden. Diese Verarbeitung
ist erforderlich um zu vermeiden, dass die synthetisch erzeugte
Sprache monoton klingt. In einem TTS-System wird diese Funktion
durch ein prosodisches Modul ausgeführt. Damit die Dauer und die
Tonhöhe in
den aufgezeichneten Teileinheiten verändert werden kann, nutzen viele
auf Verkettung basierende TTS-Systeme das TD-PSOLA-Synthesemodell
(engl. time-domain pitch synchronous over-lap-add, TD-PSOLA) (E. Moulines und
F. Charpentier, „Pitch
synchronous waveform processing techniques for text-to-speech synthesis using
diphones", erschienen
in Speech Commun., Band 9, S. 453–467, 1990). Wenn das zu synthetisierende Signal
eine längere Dauer
haben muss, wird dies durch Wiederholen der glockenförmigen Tonhöhenverläufe erzielt,
die dem Originalsignal entnommen wurden. Dieser Wiederholungsvorgang
ist in 1 dargestellt. Die Zeitachse 100 gehört zum Zeitbereich
des Originalsignals. Das Originalsignal hat eine Länge T, die
sich über das
Zeitintervall zwischen Null und T auf der Zeitachse 100 erstreckt.
Ferner weist das Originalsignal eine Grundfrequenz f auf, die einer
Periode p entspricht; Glockenverläufe werden vom Originalsignal
erzielt, indem das Originalsignal mit Hilfe der Fenster 102 gefenstert
wird. In dem hier betrachteten Beispiel sind die Fenster durch die
Periode p im Bereich der Zeitachse 100 voneinander getrennt.
Dadurch werden die Positionen i der Glockenverläufe auf der Zeitachse 100 bestimmt.
Die Zeitachse 104 gehört
zum Zeitbereich des zu synthetisierenden Signals. Das zu synthetisierende
Signal muss eine Dauer von yT aufweisen, wobei y jegliche Zahl sein
kann. Als nächstes
wird eine Anzahl von Glockenverlaufspositionen j auf der Zeitachse 104 bestimmt.
Wie auf der Zeitachse 100 sind die Glockenverlaufspositionen
j durch die Periode p voneinander getrennt, die der Grundfrequenz
f des Originalsignals entspricht. Zur Verlängerung der Dauer des Originalsignals
wird jeder der vom Originalsignal erhaltenen Originalglockenverläufe y-mal
wiederholt. Dadurch ergibt sich eine Anzahl von Intervallen 106, 108,
... im Zeitbereich der Zeitachse 104, wobei jedes der Intervalle 106, 108,
... aus Wiederholungen identischer Glockenverläufe besteht. Das Intervall 106 enthält beispielsweise
Wiederholungen des Glockenverlaufs, der von der Glockenverlaufsposition
i = 1 auf der Zeitachse 100 des Originalsignals erhalten wurde,
an den Glockenverlaufspositionen j (i = 1, k = 1) bis j (i = 1,
k = y). Dies bedeutet, dass das Intervall 106 eine Anzahl
von y Wiederholungen des von der Glockenverlaufsposition i = 1 auf
der Zeitachse 100 des Originalsignals erhaltenen Glockenverlaufs
enthält.
In gleicher Weise enthält
das folgende Intervall 108 eine Anzahl von y Wiederholungen
des Glockenverlaufs, der von der Glockenverlaufsposition i = 2 des
Originalsignals erhalten wurde. Infolgedessen besteht das synthetisierte
Signal aus verketteten Folgen von Wiederholungen des Glockenverlaufs.
-
Ein
gemeinsamer Nachteil derartiger PSOLA-Verfahren besteht darin, dass
eine extreme Veränderung der
Dauer hörbare Übergänge zwischen
den Sequenzen in das Signal einfügt.
Dies stellt insbesondere ein Problem dar, wenn der Originalton ein
hybrider Laut, wie beispielsweise stimmhafte Reibelaute, mit sowohl
einer verrauschten als auch einer periodischen Komponente ist. Die
Wiederholung von Glockenverläufen
bewirkt eine Periodizität
in den verrauschten Komponenten, wodurch sich das synthetisierte
Signal un natürlich anhört. In dem
Dokument
US 6 208 960 wird
beispielsweise eine Lösung
für das
Problem unnatürlicher
Periodizität
in stimmlosen Lauten vorgeschlagen.
-
Die
vorliegende Erfindung, wie sie in den anhängenden unabhängigen Ansprüchen definiert
ist, zielt daher darauf ab, ein verbessertes Verfahren für die Synthese
eines Tonsignals und insbesondere für extreme Veränderungen
der Dauer wie bei Gesang zu schaffen.
-
Die
vorliegende Erfindung schafft ein Verfahren für die Synthese eines Tonsignals
basierend auf einem Originalsignal, um die Dauer des Originalsignals
zu verändern.
Im Besonderen ermöglicht
es die vorliegende Erfindung, extreme Veränderungen der Dauer und der
Tonhöhe
des Originalsignals ohne hörbare
Artefakte vorzunehmen. Dies ist besonders nützlich für die Synthese von Gesang,
bei der extreme Veränderungen
der Dauer des Originalsignals in der Größenordnung von 4 bis 100-mal
auftreten können.
-
Im
Wesentlichen basiert die vorliegende Erfindung auf der Beobachtung,
dass bei PSOLA-Verfahren nach dem Stand der Technik in ein synthetisiertes
Signal nach der Veränderung
der Dauer Artefakte eingefügt werden,
da der Übergang
von einer Kette mit sich wiederholenden Glockenverläufen zur
nächsten
hörbar
ist. Dieser Effekt, der auftritt, wenn ein PSOLA-Verfahren nach
dem Stand der Technik für
extreme Veränderungen der
Dauer eingesetzt wird, ist besonders nachteilig für hybride
Laute, die sowohl eine verrauschte als auch eine periodische Komponente
enthalten.
-
Erfindungsgemäß werden
Glockenverläufe
für jede
der erforderlichen Glockenverlaufspositionen des zu synthetisierenden
Signals zufällig
aus dem Originalsignal ausgewählt.
Dadurch kann vermieden werden, dass eine Periodizität in den
verrauschten Komponenten entsteht, und die Natürlichkeit des Originalklangs bleibt
erhalten. Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung ist der Originalton ein stimmhafter Reibelaut mit
sowohl einer verrauschten als auch einer periodischen Komponente.
Die Anwendung der vorliegenden Erfindung auf derartige stimmhafte
Reibelaute ist besonders vorteilhaft.
-
Gemäß einem
weiteren bevorzugten Ausführungsbeispiel
der Erfindung wird ein angehobener Kosinus für die Fensterung von stimmhaften
Reibelauten verwendet. Für
stimmlose Lautintervalle wird ein Sinusfenster eingesetzt, das den
Vorteil bietet, dass die Gesamtsignalhüllkurve im Leistungsbereich
ungefähr
konstant bleibt. Im Gegensatz zu einem periodischen Signal kann
bei der Addition zweier abgetasteter Rauschsignalwerte die Gesamtsumme
kleiner als der Absolutwert jegliches der beiden abgetasteten Signalwerte sein. Dies
liegt daran, dass die Signale (meistens) nicht in gleicher Phase
sind. Das Sinusfenster gleicht diesen Effekt aus und entfernt die
Hüllkurvenmodulation.
-
Gemäß einem
weiteren bevorzugten Ausführungsbeispiel
der Erfindung weist das Originaltonsignal Perioden auf, die spektral
gleich sind und im Grunde den gleichen Informationsgehalt haben.
Derartige Perioden, die stimmhaft sind, werden von einem ersten
Klassifizierer klassifiziert, und die Perioden, die stimmlos sind,
werden mit Hilfe eines zweiten Klassifizierers klassifiziert.
-
Gemäß einem
weiteren bevorzugten Ausführungsbeispiel
der Erfindung werden die Klassifizierungsinformationen des Originalsignals
in einem Computersystem, beispielsweise einem Text/Sprache-System,
gespeichert. Intervalle des Originalsignals, die als stimmhafte
oder stimmlose stationäre,
spektral gleiche Perioden klassifiziert werden, werden gemäß der vorliegenden
Erfindung verarbeitet, wobei ein angehobenes Kosinusfenster für stimmhafte
Intervalle und ein Sinusfenster für stimmlose Intervalle eingesetzt
wird.
-
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargelegt und werden im Folgenden
näher beschrieben.
Es zeigen:
-
1 eine
Darstellung eines PSOLA-Verfahrens nach dem Stand der Technik;
-
2 eine
Darstellung eines Beispiels für
die Synthese eines Tonsignals gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
3 eine
Darstellung eines Ablaufdiagramms eines Ausführungsbeispiels eines Verfahrens
gemäß der vorliegenden
Erfindung;
-
4 ein
Beispiel für
ein Originalsignal und das synthetisierte Signal; und
-
5 ein
Blockschaltbild eines bevorzugten Ausführungsbeispiels eines Computersystems.
-
2 zeigt
ein Beispiel für
die Synthese eines Signals auf der Grundlage eines Originalsignals.
Die Zeitachse 200 gibt den Zeitbereich des Originalsignals
an. Das Originalsignal hat eine Dauer T, die sich über die
Zeit von Null bis T auf der Zeitachse 200 erstreckt. Das
Originalsignal weist eine Grundfrequenz f auf, die einer Periode
p entspricht. Die Periode p bestimmt Positionen i auf der Zeitachse 200 zum
Fenstern des Originalsignals mit Hilfe des Fensters 202.
In dem hier betrachteten Beispiel ist das Originalsignal ein stimmhafter hybrider
Laut, so dass ein Kosinusfenster gemäß der folgenden Formel verwendet
wird.
-
-
In
der obigen Beziehung ist m die Länge
des Fensters und n ein laufender Index.
-
Wenn
das Originalsignal ein stimmloses Tonsignal ist, wird vorzugsweise
das folgende Fenster verwendet:
-
-
Der
Zeitbereich des zu synthetisierenden Signals ist durch die Zeitachse 204 dargestellt.
Das zu synthetisierende Signal muss eine Dauer von yT haben, wobei
y jegliche Zahl sein kann, beispielsweise y = 4 oder y = 6 oder
y = 20 oder y = 50 oder y = 100.
-
Die
Periode p bestimmt auch die Glockenverlaufspositionen j auf der
Zeitachse 204. Wie auf der Zeitachse 200 sind
die Glockenverlaufspositionen durch die Periode p voneinander getrennt.
Für jede
der erforderlichen Glockenverlaufspositionen j erfolgt eine zufällige Auswahl
einer Position eines Glockenverlaufs i im Zeitbereich der Zeitachse 200.
In dem hier betrachteten Beispiel existiert eine Anzahl von 6 Glockenverläufen, die
man durch Fensterung des Originalsignals im Zeitbereich der Zeitachse 200 erhält. Zur
Auswahl einer dieser erhaltenen Glockenverläufe für eine Glockenverlaufsposition
j wird eine Zufallszahl zwischen 1 und 6 erzeugt. Dadurch erfolgt
eine zufällige
Auswahl aus den verfügbaren
Glockenverläufen
an den Glockenverlaufspositionen i = 1 bis i = 6. Dieser Vorgang
wird für
alle erforderlichen Glockenverlaufspositionen j auf der Zeitachse 204 wiederholt.
Beispielsweise wird ein Glockenverlauf für die erforderliche Glockenverlaufsposition
j = 1 ausgewählt,
indem eine Zufallszahl zwischen 1 und 6 erzeugt wird. In dem hier
betrachteten Beispiel ergibt sich die Zahl 6, so dass der
an der Glockenverlaufsposition i = 6 auf der Zeitachse 200 erhaltene
Glockenverlauf für
die erforderliche Glockenverlaufsposition j = 1 auf der Zeitachse 204 ausgewählt wird.
In gleicher Weise wird eine Zufallszahl für die erforderliche Glockenverlaufsposition
j = 2 erzeugt. Die Zufallszahl ist in diesem Beispiel 4, so dass
der Glockenverlauf an der Position i = 4 auf der Zeitachse 200 für die erforderliche Position des
Glockenverlaufs j = 2 ausgewählt
wird. Dieser Vorgang wird für
alle erforderlichen Positionen des Glockenverlaufs j = 1 bis j =
z auf der Zeitachse 204 durchgeführt. Aufgrund der zufälligen Auswahl
von Glockenverläufen
aus dem Bereich des Originalsignals werden die Intervalle 106, 108,
... vermieden (vergleiche 1). Infolgedessen
wird kein derartiges Artefakt in das synthetisierte Signal eingefügt, und
das synthetisierte Signal klingt auch bei extremen Veränderungen
der Dauer natürlich.
-
3 zeigt
ein Ablaufdiagramm, das dieses Verfahren darstellt. In Schritt 300 wird
ein Originalton aufgezeichnet. In Schritt 302 werden hybride
Tonintervalle identifiziert und als stimmhaft oder stimmlos in der
Originaltonaufzeichnung klassifiziert. Dies kann manuell durch einen
Fachmann oder mit Hilfe eines Computerprogramms erfolgen, das das
Originalsignal bzw. sein Frequenzspektrum auf stationäre Perioden
hin analysiert. Die erste Analyse wird vorzugsweise mit Hilfe eines
Programms durchgeführt,
und ein Fachmann prüft die
Ausgabe eines Programms. In Schritt 304 werden mit Hilfe
von Fensterung Glockenverläufe
vom Originaltonsignal ermittelt. Die Fensterung wird anhand von
Fenstern durchgeführt,
die synchron mit der Grundfrequenz des Originaltonsignals positioniert
werden, d. h. die Fenster sind durch die Periode p des Originaltonsignals
in dem Bereich des Originaltonsignals voneinander getrennt. In Schritt 306 werden
die Glockenverlaufspositionen j, für die Glockenverläufe zur
Synthese des Signals erforderlich sind, bestimmt. Die erforderlichen Glockenverlaufspositionen
j sind wieder durch die Periode p voneinander getrennt. Als Alternative
können
die Glockenverlaufspositionen j durch eine andere Periode q voneinander
getrennt sein, die einer höheren
oder niedrigeren erforderlichen Grundfrequenz des zu synthetisierenden
Signals entspricht. Auf diese Weise können die Dauer und die Frequenz
verändert
werden. In Schritt 308 wird eine zufällige Auswahl von Glockenverläufen für jede der
erforderlichen Glockenverlaufspositionen j innerhalb des Tonintervalls
getroffen, der als hybrid klassifiziert wird. Für andere Tonintervalle kann
ein PSOLA-Verfahren nach dem Stand der Technik eingesetzt werden
oder nicht. In Schritt 310 werden die Glockenverläufe an den
Glockenverlaufspositionen j im Bereich des zu synthetisierenden
Signals überlappt
und addiert.
-
4 zeigt
ein Beispiel eines Originaltonsignals 400, das ein Diphon
eines /z/-/z/-Übergangs
ist. In 4 ist außerdem das Frequenzspektrum 402 des
Tonsignals 400 dargestellt.
-
Das
Tonsignal 404 wird gemäß der vorliegenden
Erfindung aus dem Tonsignal 400 erzielt, indem aus dem
Tonsignal 400 für
die erforderlichen Glockenverlaufspo sitionen im Zeitbereich des
synthetisierten Tonsignals 404 erhaltene Glockenverläufe zufällig ausgewählt werden.
In dem hier betrachteten Beispiel ist das synthetisierte Tonsignal 404 y
= 5-mal länger
als das Originaltonsignal 400. Auch das Frequenzspektrum 406 des Tonsignals 404 ist
in 4 dargestellt. Wie aus dem Tonsignal 404 und
seinem Frequenzspektrum 406 ersichtlich ist, werden die
Merkmale des Originaltonsignals 400 in dem synthetisierten
Signal erhalten und keine Artefakte eingefügt. Infolgedessen hört sich
das Tonsignal 404 genauso wie das Tonsignal 400 an,
ist jedoch 5-mal länger.
-
5 zeigt
ein Blockschaltbild eines Computersystems, beispielsweise eines
Text/Sprache-Synthesesystems. Das Computersystem 500 umfasst
ein Modul 502 zum Speichern eines Originaltonsignals. Das
Modul 504 dient dazu, Tonklassifizierungsinformationen
für das
im Modul 502 gespeicherte Originaltonsignal einzugeben
und zu speichern. Stationäre
stimmhafte Perioden werden beispielsweise mit einem ,r' und stationäre stimmlose
Perioden mit einem ,s' in
dem Originaltonsignal gekennzeichnet. Das Modul 506 dient
zum Fenstern des Originaltonsignals aus dem Modul 502,
um Glockenverläufe
zu erzielen. Je nach Tonklassifizierung wird ein angehobenes Kosinus-
oder ein Sinusfenster für
stationäre
stimmhafte Perioden bzw. stationäre
stimmlose Perioden verwendet. Das Modul 508 dient dazu,
die erforderlichen Glockenverlaufspositionen j im Zeitbereich des
zu synthetisierenden Signals zu bestimmen. Zur Bestimmung der erforderlichen
Glockenverlaufspositionen j wird der Eingangsparameter „Länge y" verwendet. Der Eingangsparameter
Länge y
spezifiziert den Multiplikationsfaktor für die Dauer des Originalsignals.
Es ist ferner möglich,
eine dynamisch variierende Tonhöhe als
zusätzlichen
Eingangsparameter vorzusehen, um zusätzlich zu oder anstelle der
Dauer die Grundfrequenz zu verändern.
-
Das
Modul 510 dient dazu, Glockenverläufe aus dem Satz von aus dem
Originaltonsignal erhaltenen Glockenverläufen auszuwählen. Das Modul 510 ist
mit einem Pseudo-Zufallszahlgenerator 512 verbunden. Für jede der
erforderlichen Glockenverlaufspositionen im Bereich des zu synthetisierenden
Signals, wird vom Pseudo-Zufallszahlgenerator 512 eine
Pseudozufallszahl erzeugt. Anhand dieser Zufallszahlen werden Glockenverläufe aus
dem Satz von Glockenverläufen
durch das Modul 510 ausgewählt, um für jede der erforderlichen Glockenverlaufspositionen
im Zeitbereich des zu synthetisierenden Signals einen zufällig ausgewählten Glockenverlauf
zu schaffen. Das Modul 514 dient dazu, eine Überlappungs-
und Additionsoperation an den ausgewählten Glockenverläufen im
Zeitbereich des zu synthetisierenden Signals durchzuführen. Auf
diese Weise wird das synthetisierte Signal mit der erforderlichen
Dauer erzielt.
-
Es
ist anzumerken, dass die vorliegende Erfindung auf stationäre Bereiche
angewendet werden kann. Ein derartiger stationärer Bereich kann beispielsweise
ein Vokal oder ein verrauschter stimmhafter Laut wie /z/ sein. Die
Erfindung ist daher nicht auf „hybride" Laute beschränkt.
-
Ferner
ist anzumerken, dass das synthetisierte Signal nicht die gleiche
Tonhöhe
(Grundfrequenz) wie das Original zu haben braucht. In einigen Anwendungsbereichen
ist es erforderlich, die Tonhöhe
zu verändern, beispielsweise
bei der Synthese von Gesang. Damit diese Änderung der Grundfrequenz in
dem synthetisierten Signal durchgeführt werden kann, werden die
Periodenpositionen in dem synthetisierten Signal weiter auseinander
oder näher
zusammen platziert als im Original. Dadurch ändert sich das Syntheseverfahren
ansonsten jedoch nicht.
-
Es
ist ferner anzumerken, dass die vorliegende Erfindung nicht auf
eine gewisse Wahl eines Fensters beschränkt ist. Anstelle von angehobenen
Kosinus- oder Sinusfenstern können
andere Fenster, beispielsweise Dreieckfenster, verwendet werden. Text
in den Figuren Figur
4
Amplitude | Amplitude |
Time | Zeit |
Frequency | Frequenz |
Figur
5
Length
y | Länge y |
Synthesized
signal | synthetisiertes
Signal |