DE3640355A1 - Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens - Google Patents
Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrensInfo
- Publication number
- DE3640355A1 DE3640355A1 DE19863640355 DE3640355A DE3640355A1 DE 3640355 A1 DE3640355 A1 DE 3640355A1 DE 19863640355 DE19863640355 DE 19863640355 DE 3640355 A DE3640355 A DE 3640355A DE 3640355 A1 DE3640355 A1 DE 3640355A1
- Authority
- DE
- Germany
- Prior art keywords
- value
- values
- speech parameter
- memory
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Description
Die Erfindung betrifft ein Verfahren zur Bestimmung des
zeitlichen Verlaufs eines Sprachparameters eines Sprachsignals,
wobei zu diskreten Zeitpunkten für jeden Wert
eines vorgegebenen Wertebereichs des Sprachparameters ein
Einzelwert vorhanden ist und der zeitliche Verlauf die
Folge der benachbarten, einschließlich diagonal benachbarten
Sprachsignalparameterwerte darstellt, deren Einzelwert
zumindest nahe den Extremwerten der Einzelwerte für
die einzelnen Zeitpunkte liegen, wobei die Summe der
Einzelwerte dieser Folge einen Summen-Extremwert gegenüber
anderen Folgen bildet.
Ein Sprachparameter kann beispielsweise die Grundfrequenz
oder eine Formante eines zu untersuchenden Sprachsignals
sein. Andere Sprachparameter sind beispielsweise
LPC-Koeffizienten (Linearprädiktion-Koeffizient).
Die Einzelwerte beispielsweise der Sprachgrundfrequenz
können mit Hilfe AMDF (Average Magnitude Difference
Function) bestimmt werden. Dafür wird das Sprachsignal
beispielsweise mit einer Abtastperiode von 10 kHz abgetastet,
und eine bestimmte Anzahl aufeinanderfolgender
Abtastwerte, die also insgesamt einen Sprachsignalabschnitt
darstellen, werden gegenüber dem Sprachsignal
schrittweise um eine Anzahl Abtastpunkte verschoben, und
die Differenz der Abtastwerte des unverschobenen und des
verschobenen Signals werden für die einzelnen Verschiebungsschritte aufsummiert. Die Verschiebung, die den
kleinsten Summenwert ergibt, bezeichnet im allgemeinen die
Periode der Sprachgrundfrequenz. Diese Werte sind jedoch
nicht immer ganz eindeutig, es können bei Perioden von
Oberwellen bzw. Formanten kleine Summenwerte auftreten,
und es gibt noch weitere Einflüsse, die die korrekte
Ermittlung der Sprachgrundfrequenz verfälschen. Die AMDF
ergibt jedoch für jeden der aufeinanderfolgenden Sprachabschnitte,
die gegen das Sprachsignal verschoben werden,
bei verschiedenen Verschiebungen jeweils einen Wert, der
eine gewisse Wahrscheinlichkeit bzw. genauer Unwahrscheinlichkeit
dafür angibt, daß die betreffende Verschiebung
die Grundperiode des Sprachsignals angibt.
Für viele Untersuchungen, beispielsweise für die Spracherkennung
oder auch die Sprecherkennung, ist es erforderlich,
einen zusammenhängenden Verlauf eines oder
mehrerer Sprachparameter wie die Sprachgrundfrequenz über
die Zeit zu erhalten, um diesen Verlauf mit Musterverläufen
vergleichen zu können. Die ermittelten AMDF-Werte
müssen also von Ausreißern befreit und im übrigen geglättet
werden. Eine Glättung durch ein beispielsweise
lineares Filter ergibt jedoch häufig zu große Abweichungen
bzw. Verfälschungen von einem optimalen bzw. wahrscheinlichsten
Verlauf. Ein solcher Verlauf ist am besten durch
diejenige Folge der Sprachparameterwerte, deren Einzelwert
zumindest nahe an dem Minimum bei dem betreffenden Zeitpunkt
liegen, charakterisiert, wenn die Summe dieser
Einzelwerte insgesamt ein Minimum gegenüber anderen Folgen
bilden.
Aufgabe der Erfindung ist es daher, ein Verfahren der
eingangs genannten Art anzugeben, das diesen wahrscheinlichsten
Verlauf eines Sprachsparameters möglichst gut
annähert.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß
bezogen auf das Minimum als Extremwert der Einzelwerte und
als Summen-Extremwert zu jedem Zeitpunkt i in einem ersten
Durchlauf nacheinander für alle in der einen Richtung
aufeinanderfolgenden Sprachparameterwerte k ein erster
Richtungswert D′(k,i) als die Summe aus dem betreffenden
Einzelwert und dem Minimum der folgenden Werte
D (k,i-1)
D (l,i-1)+a(d(k,i)+A)
D′ (l,i)+b(d(k,i)+A)
D (l,i-1)+a(d(k,i)+A)
D′ (l,i)+b(d(k,i)+A)
sowie ein Hinweiswert h′ (k,i) auf den das Minimum
liefernden Einzelwert gebildet und abgespeichert wird,
wobei
D (k,i-1) bzw. D (l,i-1) einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwerte l erzeugten und gespeicherten Summenwert,
D (l,i) der beim unmittelbar vorhergehenden Sprachparameterwert gebildete Richtungswert und
a, b, A vorgegebene feste Größen sind, daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k ein zweiter Richtungswert D′′ (k,i) mit einem Hinweiswert h′′ (k,i) in entsprechender Weise wie der erste Richtungswert gebildet wird,
daß für jeden Sprachparameterwert k das Minimum der beiden Richtungswerte D′,D′′ und der zu diesem Richtungswert gehörende Hinweiswert h′, h′′ als jeweils neuer Summenwert D bzw. als Gesamthinweiswert H gespeichert wird, und daß spätestens am Ende des Sprachsignals aus dem Gesamthinweiswert H (k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert ermittelt und der zugehörige Gesamthinweiswert ausgelesen wird usw., wobei die dabei entstehende Folge der Sprachparameterwerte ausgegeben bzw. gespeichert wird.
D (k,i-1) bzw. D (l,i-1) einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwerte l erzeugten und gespeicherten Summenwert,
D (l,i) der beim unmittelbar vorhergehenden Sprachparameterwert gebildete Richtungswert und
a, b, A vorgegebene feste Größen sind, daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k ein zweiter Richtungswert D′′ (k,i) mit einem Hinweiswert h′′ (k,i) in entsprechender Weise wie der erste Richtungswert gebildet wird,
daß für jeden Sprachparameterwert k das Minimum der beiden Richtungswerte D′,D′′ und der zu diesem Richtungswert gehörende Hinweiswert h′, h′′ als jeweils neuer Summenwert D bzw. als Gesamthinweiswert H gespeichert wird, und daß spätestens am Ende des Sprachsignals aus dem Gesamthinweiswert H (k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert ermittelt und der zugehörige Gesamthinweiswert ausgelesen wird usw., wobei die dabei entstehende Folge der Sprachparameterwerte ausgegeben bzw. gespeichert wird.
Durch das erfindungsgemäße Verfahren werden also mit
Mitteln der sogenannten dynamischen Programmierung Folgen
von Sprachparameterwerten ermittelt, die am Ende des
Sprachsignals verschiedene Werte der Summen der Einzelwerte
ergeben, und die Folge, die am Ende des Sprachsignals
das Minimum des Summenwerts ergibt, wird als
wahrscheinlichste Folge angesehen. Durch die Speicherung
der Gesamthinweiswerte für jeden Sprachparameter zu jedem
Zeitpunkt kann diese Folge dann zurückverfolgt werden.
Bei der Bildung der Summenwerte für die einzelnen Folgen
von Sprachparameterwerten werden bestimmte vorgegebene
feste Größen verwendet, von denen die Größe a und b überwiegend
die Glätte des Verlaufs beeinflussen, indem ein
Verlauf in diagonaler Richtung und in senkrechter Richtung
erschwert wird, und dafür haben diese beiden Größen a und
b zweckmäßig Werte zwischen 0,5 und 2,0. Die Größe A und
entspricht etwa dem Wert, den die AMDF in stimmlosen
Sprachabschnitten und Pausenabschnitten aufweist, und
erzwingt einen im wesentlichen waagerechten Verlauf des
Sprachparameters in diesen Abschnitten.
Die mindestens zwei Durchläufe für die getrennte Ermittlung
der beiden Richtungswerte, d. h. einmal in Aufwärtsrichtung
und einmal in Abwärtsrichtung oder umgekehrt,
sind erforderlich, da für jeden Richtungswert für einen
möglichen Verlauf in senkrechter Richtung auch der in der
betreffenden Richtung unmittelbar vorhergehende Richtungswert
berücksichtigt werden muß und somit vorher ermittelt
sein muß.
Die bei dem erfindungsgemäßen Verfahren gebildeten verschiedenen
Werte müssen gespeichert werden, da sie
anschließend noch weiter verwendet werden. Eine genaue
Überprüfung des Ablaufs des erfindungsgemäßen Verfahrens
ergibt jedoch, daß verschiedene Werte nur während eines
relativ kurzen Zeitabschnittes benötigt werden. Eine
Ausgestaltung der Erfindung ist daher dadurch gekennzeichnet,
daß die Richtungswerte D′,D′′ und die Hinweiswerte
h′,h′′ und die neuen Summenwerte für jeweils nur
einen Zeitpunkt gespeichert und danach wieder überschrieben
werden. Für alle Sprachparameter aller Zeitpunkte
müssen also nur die Gesamthinweiswerte gespeichert
werden, da nur diese für das Zurückverfolgen der am Schluß
als optimal ermittelten Folge erforderlich sind, während
die anderen Werte jeweils nur für einen Zeitpunkt gespeichert
werden, da sie danach nicht mehr benötigt
werden. Insbesondere ist bei der Ermittlung der Summenwert
aller Sprachparameter nur für den vorhergehenden Zeitpunkt
erforderlich, während die ermittelten Richtungswerte
nur für den momentanen Zeitpunkt benötigt werden. Dadurch
kann sehr viel Speicherplatz eingespart werden.
Die Bestimmung des jeweils neuen Summenwerts aus dem
Minimum der beiden Richtungswerte kann in einem weiteren
Durchlauf erfolgen, nachdem beide Richtungswerte für jeden
Sprachparameter eines Zeitpunktes ermittelt worden sind.
In vielen Fällen ist es jedoch auch möglich, den jeweils
neuen Summenwert unmittelbar nach der Ermittlung des
zweiten Richtungswert für jeweils einen Sprachparameter zu
ermitteln und damit den alten Summenwert zu überschreiben,
da dieser dann nicht mehr benötigt wird. Eine weitere
Ausgestaltung der Erfindung ist daher dadurch gekennzeichnet,
daß die Richtungswerte D′,D′′ und die Hinweiswerte
h′,h′′ nur für die in der einen Richtung aufeinanderfolgenden
Sprachparameterwerte k gespeichert werden und
daß nach der Bildung jedes Richtungswerts D′′,D′ für die in
der anderen Richtung aufeinanderfolgenden Sprachparameterwerte
k unmittelbar der neue Summenwert D und der Gesamthinweiswert
H gebildet gespeichert werden. Auf diese Weise
kann der erforderliche Speicherbedarf noch weiter verringert
werden.
Eine Anordnung zur Durchführung des erfindungsgemäßen
Verfahrens ist gekennzeichnet durch
- - einen ersten Speicher für die Einzelwerte d(k,i) aller Sprachparameterwerte k mindestens jeweils eines Zeitpunktes i,
- - einen zweiten Speicher für jeweils einen Summenwert D (k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
- - einen dritten Speicher für jeweils einen ersten Richtungswert D′ (k,i) und einen Hinweiswert h′ (k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
- - einen vierten Speicher für einen zweiten Richtungswert D′′ (k,i) und einen zugehörigen Hinweiswert h′′ (k,i) mindestens eines Sprachparameterwertes k für denselben Zeitpunkt i wie die Werte im dritten Speicher,
- - einen fünften Speicher für die Gesamthinweiswerte H (k,i) für alle Sprachparameterwerte k und alle Zeitpunkte i,
- - eine Verarbeitungsanordnung mit Eingängen, die mit einem Datenausgang des ersten, des zweiten und des dritten bzw. vierten Speichers gekoppelt sind, und mit einem Ausgang zum Abgeben jeweils eines Richtungswertes D′ (k,i), D′′ (k,i) und eines zugehörigen Hinweiswertes h′ (k,i), h′′ (k,i), der mit dem Dateneingang des dritten Speichers (30) gekoppelt ist,
- - einen Vergleicher mit zwei Eingängen, von denen der eine vom Datenausgang des dritten Speichers jeweils einen ersten Richtungswert D′ (k,i) und der andere Eingang den zugehörigen zweiten Richtungswert D′ (k,i) empfängt, und mit einem Ausgang, der einen Umschalter steuert, der den kleineren der beiden Richtungswerte dem Dateneingang des zweiten Speichers zuführt, und
- - eine Steueranordnung mit einem Adressengenerator, der zyklisch die Adressen aller Sprachparameterwerte in der einen Richtung der Adressenfolge und danach in der anderen Richtung der Adressenfolge für mindestens den ersten bis dritten und den fünften Speicher erzeugt und der außerdem die Adressenauswahl für den Zeitpunkt mindestens für den fünften Speicher erzeugt, und mit einer Ablaufsteuerung, die das Einschreiben und Auslesen mindestens des zweiten, dritten und fünften Speichers steuert. Auf diese Weise läßt sich das erfindungsgemäße Verfahren mit relativ geringem Aufwand realisieren.
Ausführungsbeispiele der Erfindung werden nachstehend
anhand der Zeichnung erläutert. Es zeigt
Fig. 1 ein Beispiel für einen möglichen Verlauf eines
Sprachparameters über die aufeinanderfolgenden
Zeitpunkte eines Sprachsignals,
Fig. 2 ein Diagramm zur Erläuterung, wie die einzelnen
Richtungswerte bestimmt werden,
Fig. 3 ein Schema für den Ablauf des erfindungsgemäßen
Verfahrens,
Fig. 4 eine Schaltungsanordnung zur Durchführung des
erfindungsgemäßen Verfahrens,
Fig. 5 eine mögliche Ausführung der Verarbeitungsanordnung
darin.
In Fig. 1 ist in einer zweidimensionalen Darstellung der
Verlauf eines Sprachparameters über die Zeit schematisch
dargestellt. Als Beispiel werde angenommen, daß es sich
bei dem Sprachparameter um die Stimmgrundfrequenz
handelt. Die über die Ordinate aufgetragenen Sprachparameterwerte
k, die von 1 bis K laufen, stellen also
verschiedene diskrete Frequenzwerte dar, während über die
Abszisse die Zeit in Form von diskreten Zeitpunkten i
aufgetragen ist, die von 1 bis I am Ende des Sprachsignals
reichen. Es ist klar, daß die Anzahl der Werte in beiden
Koordinatenrichtungen in der Praxis tatsächlich wesentlich
größer ist.
Zu jedem Zeitpunkt i gibt es für jeden Sprachparameterwert
k, d. h. für jeden durch einen kleinen Kreis angegebenen
Kreuzungspunkt der beiden Koordinaten, einen Einzelwert
d (k,i). Dieser kann beispielsweise dadurch gewonnen werden,
daß das Sprachsignal mit einer hohen Frequenz, beispielsweise
10 kHz abgetastet wird. Jeweils eine Anzahl,
beispielsweise 100 bis 200, Abtastwerte ergeben ein
Sprachsegment, das also eine Dauer von 10 bis 20 msec
hat. Die Abtastwerte des Sprachsignals werden dann
mit s (i,j) bezeichnet, wobei der Index i die
Sprachsegmente und der Index j die Abtastwerte in einem
Sprachsegment angibt. Durch Anwendung der AMDF (Average
Magnitude Difference Function) ergeben sich dann die
Einzelwerte:
d. h. das Sprachsegment wird um eine Anzahl k Abtastwerte
gegenüber dem Sprachsignal verschoben und die Differenzen
zwischen korrespondierenden Abtastwerten innerhalb des
Sprachsignals werden betragsmäßig aufsummiert. Jede
Verschiebung k entspricht damit einer bestimmten Frequenz.
Auf diese Weise entsteht für jeden Wert von k innerhalb
eines vorgegebenen Wertebereichs, der den praktisch
vorkommenden Sprachgrundfrequenzen entspricht, ein
Einzelwert d (k,i). Diese Einzelwerte können als eine Art
von Wahrscheinlichkeit bzw. Unwahrscheinlichkeit aufgefaßt
werden, daß die durch den Sprachparameterwert k angegebene
Frequenz tatsächlich die Grundfrequenz des Sprachsignals
in diesem Sprachsegment ist, so daß der Einzelwert für den
Sprachparameterwert k entsprechend der tatsächlichen
Grundfrequenz ein Minimum ist.
In Fig. 1 sind bestimmte, jeweils einem Einzelwert entsprechende
Kreuzungspunkte der beiden Koordinaten k und i
durch eine Linie miteinander verbunden, um ein Beispiel
für einen möglichen zeitlichen Verlauf der Stimmgrundfrequenz
zu zeigen. Die Linie verbindet eine derartige
Folge von Einzelwerten, so daß die Summe dieser so verbundenen
Einzelwerte ein Minimum gegenüber jeder anderen
Verbindung ergibt, wobei diese Verbindung nur waagerecht,
diagonal oder senkrecht verlaufen kann. Ein senkrechter
Verlauf der Sprachgrundfrequenz kann in der Praxis zwar
nicht auftreten, jedoch handelt es sich hier um zeitdiskrete
Werte, so daß eine schnelle Änderung der Sprachgrundfrequenz
zwischen zwei aufeinanderfolgenden Zeitpunkten
i in dem diskreten Modell der Fig. 1 durch einen
senkrechten Verlauf angenähert werden muß. Die Einschränkung,
daß nur ein waagerechter, diagonaler oder senkrechter
Verlauf zugelassen wird, d. h. daß die Linie nur
unmittelbar benachbarte Einzelwerte miteinander verbindet,
ergibt eine glattere Kurve, jedoch kann es dabei vorkommen,
daß die Linie nicht genau die Minima der Einzelwerte
jedes Zeitpunktes i miteinander verbindet, sondern
es wird eine Verbindung gebildet, die die Abweichungen von
den minimalen Einzelwerten, d. h. die Fehler minimiert.
Dabei werden Ausreißer von Einzelwerten an einzelnen Zeitpunkten,
die durch die komplexe Form des Sprachsignals und
durch andere Einflüsse möglich sind, eliminiert.
Die Ermittlung desjenigen Verlaufs, der am Ende die
kleinste Gesamtsumme der Einzelwerte ergibt, wird anhand
der Fig. 2 näher erläutert. Da ein senkrechter Verlauf
sowohl von oben nach unten als auch von unten nach oben
möglich ist, wie aus Fig. 1 hervorgeht, wird der jeweilige
Summenwert der Einzelwerte für beide Richtungen getrennt
bestimmt, und danach wird mit dem kleineren der sich dabei
ergebenden Summenwerte, die im folgenden mit Richtungswerte
bezeichnet werden, weitergegangen.
Um dies leichter erläutern zu können, ist in Fig. 2 ein
momentan bearbeiteter Punkt k,i, d. h. der Sprachparameterwert
k zum Zeitpunkt i, doppelt dargestellt. Die waagerechte
Verbindung zum gleichen Sprachparameterwert k des
vorhergehenden Zeitpunktes i-1 verläuft dadurch lediglich
aus zeichnerischen Gründen etwas schräg.
Zunächst werde der Richtungswert D⁺(k,i) für die aufsteigende
Richtung bestimmt, wofür von jedem der drei
benachbarten Punkte der dafür gebildete Summenwert bzw.
Richtungswert verwendet und um den Einzelwert d (k,i) an
der betreffenden Stelle erhöht wird. Da ein waagerechter
Verlauf wahrscheinlicher ist als ein schräger Verlauf oder
insbesondere ein senkrechter Verlauf, werden die
Werte D (k-1,i-1) des diagonal benachbarten Punktes und
D⁺(k-1) des senkrecht darunterliegenden Punktes nicht
direkt verwendet, sondern um einen bestimmten Wert erhöht,
wie später im einzelnen erläutert wird. Der Wert D⁺(k-1,i)
des senkrecht darunterliegenden Punktes muß vorher ermittelt
worden sein, und für diesen muß wiederum der Wert
des darunterliegenden Punktes ermittelt sein, usw. bis zum
untersten Punkt, so daß die Richtungswerte D⁺(k,i) ausgehend
von k=1 ermittelt werden müssen. Entsprechendes
gilt jedoch auch für den Richtungswert D -(k,i) für die
Richtung nach unten, für den der Summenwert D (k+1,i-1) des
diagonal darüberliegenden Punktes und der Richtungswert
D -(k+1,i) des senkrecht darüberliegenden Punktes
benötigt wird, wobei letzterer vorher ermittelt sein muß,
so daß in dieser Richtung beim Wert k =K begonnen werden
muß. Daraus ergibt sich, daß es zweckmäßig ist, zuerst
alle Richtungswerte der einen Richtung, beispielsweise
die Richtungsweise D⁺ zu bestimmen und zwischenzuspeichern,
und dann erst die Richtungswerte für die andere
Richtung, also in diesem Falle die Richtungswerte D -, und
dann erst das Minimum der beiden Richtungswerte als neuen
Summenwert D zu bestimmen. Eine Möglichkeit, daß nur alle
Richtungswerte, z. B. D⁺, der einen Richtung ermittelt und
zwischengespeichert werden müssen, wird später erläutert.
In der anhand der Fig. 2 erläuterten Weise werden also
jeweils für einen Zeitpunkt i die Richtungswerte D⁺ und
die Richtungswerte D - beider Richtungen für alle Sprachparameterwerte
bestimmt und daraus jeweils das Minimum als
neuer Summenwert D ermittelt und gespeichert. Beim letzten
Zeitpunkt I gibt dann der Sprachparameterwert k, bei dem
dieser Summenwert D von allen anderen Summenwerten zu
diesem Zeitpunkt am kleinsten ist, das Ende der Folge an.
Damit von diesem Ende ausgehend der Verlauf der Folge
zurückverfolgt werden kann, muß bei jedem Richtungswert
und dann beim Summenwert gespeichert werden, von welchem
vorhergehenden Punkt ausgehend dieser Richtungswert bzw.
Summenwert erreicht worden ist. Dadurch kann beim minimalen
Summenwert D beim letzten Zeitpunkt I festgestellt
werden, von welchem Punkt dieser erreicht worden ist,
d. h. welches der vorhergehende Punkt ist, und aus dem für
diesen Punkt gespeicherten Wert kann der diesem vorhergehende
Punkt ermittelt werden, usw., so daß sich schließlich
die gesamte Folge der Sprachparameterwerte ergibt,
die den minimalen Summenwert D beim letzten Zeitpunkt I
ergeben hat. Die Werte, die auf die Richtung hinweisen,
in der der Punkt liegt, aus dem jeweils der folgende Punkt
erreicht worden ist, werden mit Hinweiswert bzw. Gesamthinweiswert
bezeichnet und müssen selbstverständlich für
jeden Sprachparameterwert k zu jedem Zeitpunkt i gespeichert
werden. Da es jedoch nur fünf Richtungen gibt,
sind dafür lediglich drei Bit erforderlich. Alle anderen
Werte müssen lediglich höchstens für alle Sprachparameterwerte
k eines Zeitpunktes i bzw. i-1 gespeichert werden.
Übrigens ist in jedem der beiden Richtungswerte D⁺ und D -
die waagerechte Richtung enthalten, so daß, wenn diese
Richtung den kleinsten Richtungswert ergibt, beide
Richtungswerte gleich sind. Für den einen Richtungswert
könnte also die waagerechte Richtung weggelassen werden.
In Fig. 3 ist der gesamte Ablauf der einzelnen Verarbeitungsschritte
zur Ermittlung des zeitlichen Verlaufs
der Sprachparameterwerte schematisch angegeben. Der
Block 101 bezeichnet übliche Einstellungen von Anfangszuständen
wie Rückstellen von Zählern und Löschen von
Speicherbereichen, die nicht gesondert angegeben sind.
Lediglich das Füllen der Speicherplätze für die Summenwerte
D (k,1) für den ersten Zeitpunkt i=1 mit den entsprechenden
Einzelwerten d (k,1) ist angegeben.
Danach wird im Block 102 ein Zähler, der den momentanen
Zeitpunkt i angibt, auf den nächsten Zeitpunkt i+1 geschaltet.
Danach werden im Block 103 die aufsteigenden
Richtungswerte D⁺(k) in folgender Weise bestimmt:
Diese Gleichung bedeutet gemäß Fig. 2, daß der Einzelwert
d (k,i) addiert wird zu dem Minimum der Summenwerte der
drei benachbarten Punkte, wobei für die waagerechte
Richtung der Summenwert D (k,i-1) direkt verwendet wird,
während bei den anderen Werten noch ein Term addiert wird,
der von dem Einzelwert des gerade betrachteten Punktes und
von festen Größen a bzw. b und A abhängt. Die Größe A entspricht
den Einzelwerten in stimmlosen Sprachsignalsegmenten
und in Pausensegmenten und führt dazu, daß in
diesen Bereichen der Verlauf praktisch stets waagerecht
ist. Mit den Größen a und b wird die Glätte des Verlaufs
beeinflußt, d. h. je größer a und b ist, desto stärker
werden die Diagonale und die senkrechte Richtung benachteiligt.
Es sind daher empirisch gewonnene Größen, die im
allgemeinen bei Sprachsignalen zwischen 0,5 und 2,0
liegen. Im Block 103 wird außerdem noch der Hinweiswert
h⁺(k,i) ermittelt, der angibt, von welchem vorhergehenden
Punkt der momentane Punkt erreicht worden ist,
d. h. welcher der drei Terme, von denen beim Richtungswert
D⁺(k,i) das Minimum bestimmt wird, dieses Minimum
ergeben hat. Außerdem wird ein Zähler für den Sprachparameterwert
k um 1 auf k+1 erhöht.
Der Block 103 wird also nacheinander für alle Sprachparameterwerte
k eines bestimmten Zeitpunktes i durchgeführt.
Wenn für alle Werte k der Richtungswert und der Hinweiswert
bestimmt und zwischengespeichert ist, d. h. k=K, wird
gemäß Block 104 der andere Richtungswert D -(k,i) für die
andere Richtung in folgender Weise bestimmt:
Hierfür gilt das gleiche wie für die Berechnungen des
Blocks 103, es werden lediglich die in der anderen
Richtung vorangehenden Punkte berücksichtigt, d. h. k-1 ist
ersetzt durch k+1. In entsprechender Weise wird auch der
Hinweiswert h -(k,1) bestimmt. Da dies die Richtungswerte
für die abwärts zeigende Richtung sind, wobei die Berechnung
mit dem höchsten Sprachparameterwert K beginnt, wird
hier jeweils nach der Bestimmung des Richtungswerts und
des zugehörigen Hinweiswerts der Zähler für die Sprachparameter
k um 1 auf k-1 verringert.
Wenn alle Richtungswerte und Hinweiswerte auch der anderen
Richtung ermittelt sind, d. h. auch für den ersten Sprachparameterwert
k=1, wird gemäß Block 105 von den zwei
Richtungswerten D⁺(k,i) und D -(k,i) aller Sprachparameter
k jeweils das Minimum ermittelt und als Summenwert
D (k,i) gespeichert, und außerdem wird jeweils der
zugehörige Hinweiswert h⁺(k,i) bzw. h -(k,i) als Gesamthinweiswert
H (k,i) gespeichert. Wenn dies für alle Sprachparameterwerte
k erfolgt ist, d. h. k=K, wird auf den
Block 102 zurückgegangen, wo der Zähler für den Zeitpunkt
i auf den nächsten Wert i+1 eingestellt wird, und
der beschriebene Vorgang wird wiederholt.
Die in den Blocks 104 und 105 getrennt angegebenen
Vorgänge können auch gemeinsam durchgeführt werden, d. h.
nach jeder Ermittlung eines Richtungswertes D -(k,i) für
einen Sprachparameterwert k kann unmittelbar danach festgestellt
werden, ob dieser oder der im vorhergehenden
Durchlauf ermittelte Richtungswert D⁺(k,i) kleiner ist,
und der kleinere von beiden wird als neuer Summenwert
D (k,i) gespeichert. Dabei muß allerdings der bisherige
Summenwert D (k,i-1) zwischengespeichert werden, da
er für den folgenden Richtungswert D -(k-1,i) noch benötigt
werden. Außerdem sind dann für jeden Sprachparameterwert k
eine größere Anzahl Schritte durchzuführen.
Wenn für alle Zeitpunkte i die Summenwerte D (k,i) und
insbesondere die Hinweiswerte H (k,i) bestimmt worden sind,
d. h. es ist der letzte Zeitpunkt i=I erreicht, werden die
Vorgänge gemäß Block 106 ausgelöst. Danach wird zunächst
der Summenwert D (m,I) bestimmt, der das Minimum aller
Summenwerte D (k,I) beim letzten Zeitpunkt I darstellt.
Danach wird der zu diesem minimalen Summenwert D (m,I)
gehörende Gesamthinweiswert H (m,I) ausgelesen und daraus
der dem Punkt m,I vorherhergehende Punkt k₁,i₁ bestimmt.
Der an dieser Stelle gespeicherte Hinweiswert H (k₁,i₁)
wird dann ausgelesen und der diesem wiederum vorhergehende
Punkt ermittelt, usw., bis der Anfang des auf diese Weise
bestimmten Verlaufs des Sprachparameters erreicht ist. Die
bei diesem Zurückverfolgen entstehende Folge von Punkten
in Form von deren Koordinaten, d. h. dem Zeitpunkt i und
dem Sprachparameter k, stellt die gesuchte Folge dar.
In Fig. 4 ist das Blockschaltbild einer Anordnung dargestellt,
die die in Fig. 3 angegebenen Bearbeitungsschritte
ausführt. Der Block 10 bezeichnet vorzugsweise einen
Speicher, der alle Einzelwerte d (k,i) enthält und der von
den Sprachparameterwerten k und den Werten entsprechend
den Zeitpunkten i adressiert wird. Der Block 10 muß
zumindest die Einzelwerte für alle Sprachparameter k eines
Zeitpunktes i enthalten, da diese jeweils zweimal, nämlich
für beide Richtungswerte D⁺ und D - benötigt werden. Der
Block 10 kann auch die Anordnung zur Erzeugung der Einzelwerte
einschließen, die jedoch nicht Bestandteil der
Erfindung ist und daher nicht näher ausgeführt ist.
Der Block 20 stellt einen Speicher dar, der die Summenwerte
D (k,i-1) des jeweils vorhergehenden Zeitpunktes i-1
zu Beginn eines neuen Zeitpunktes i enthält und der am
Ende dieses neuen Zeitpunktes die neuen Summenwerte D (k,i)
enthält. Das Erzeugen und Einschreiben dieser Summenwerte
wird später erläutert. Der Speicher 20 wird von den
Sprachparameterwerten k adressiert, und über einen
Eingang, der ein Signal d erhält, wird er auf das Einschreiben
der über die Verbindung 35 zugeführten Werte
umgeschaltet. Der Datenausgang 21 des Speichers 20 ist mit
der Reihenschaltung von zwei Registern 22 und 24 verbunden,
von denen das Register 22 den Wert vom Ausgang 21
übernimmt und seinen früheren Inhalt gleichzeitig in das
andere Register 24 überträgt. Damit enthält das
Register 22 jeweils den Summenwert D (k,i-1) und das Register
24 den vorhergehenden Summenwert D (k-1,i-1) bzw.
D (k+1, i-1), je nachdem welche Richtungswerte gerade
berechnet werden. Ein weiteres Register 26 ist vorgesehen,
das den auf der Verbindung 13 vorhandenen, gerade ermittelten
Richtungswert D⁺(k-1,i) bzw. D -(k+1,i) aufnimmt
und während der Ermittlung des jeweils folgenden Richtungswerts
am Ausgang 27 bereitstellt.
Die Ausgänge 11 des Speichers 10 sowie 23, 25 und 27 der
Register 22, 24 und 26 führen auf eine Verarbeitungsanordnung
12, die die in den Blöcken 103 und 104 in Fig. 3
angegebenen Berechnungen durchführt und am Ausgang 13 wie
erwähnt den jeweils neuen Richtungswert D⁺(k,i) bzw.
D -(k,i) und am Ausgang 19 den zugehörigen Hinweiswert
h -(k,i) bzw. h⁺(k,i) erzeugt. Diese Werte werden
einem Speicher 30 zugeführt, der ebenfalls von den Sprachparameterwerten
k adressiert wird und der in einem ersten
Durchlauf zu Beginn jedes neuen Zeitpunktes, bei dem
beispielsweise die einen Richtungswerte D⁺(k,i) und die
zugehörigen Hinweiswerte h⁺(k,i) für alle Sprachparameterwerte
k erzeugt werden, durch ein Signal c an einem
zusätzlichen Eingang auf Schreiben geschaltet ist und
somit alle Richtungswerte und Hinweiswerte in diesem
Durchlauf aufnimmt.
Wenn alle Richtungswerte und Hinweiswerte der einen Richtung
erzeugt sind, werden die Speicher 10 und 20 in der
umgekehrten Reihenfolge der Sprachparameter k adressiert,
d. h. also ausgehend vom maximalen Wert k=K bis zum minimalen
Wert k=1, wenn vorher die Adressierung vom minimalen
Wert beginnend bis zum maximalen Wert gelaufen war. Die
bei diesem zweiten Durchlauf von der Verarbeitungsanordnung
12 auf der Verbindung 13 erzeugten Richtungswerte
D -(k,i) und auf der Verbindung 19 erzeugten Hinweiswerte
h -(k,i) werden einem weiteren Speicher 40 zugeführt,
der ebenfalls durch die Sprachparameterwerte k adressiert
wird und durch ein Signal k an einem weiteren Eingang auf
Schreiben eingestellt ist.
Nach dem Erzeugen beider Richtungswerte und Hinweiswerte
für alle Sprachparameterwerte k eines Zeitpunktes und dem
Einschreiben dieser Werte in die Speicher 30 bzw. 40
werden nochmals nacheinander alle Sprachparameterwerte k
erzeugt und für jeden Wert k die Inhalte dieser
Speicher 30 und 40 ausgelesen. Über die Leitungen 29 und
39 werden die beiden Richtungswerte D⁺(k,i) und D -(k,i)
einem Vergleicher 14 zugeführt, der abhängig davon,
welcher der beiden Richtungswerte kleiner ist, an seinem
Ausgang 15 ein entsprechendes Signal abgibt. Wenn der
Richtungswert auf der Verbindung 29 kleiner ist als der
Richtungswert auf der Verbindung 39, erzeugt der Vergleicher
14 auf der Leitung 15 ein Signal, das die beiden
Umschalter 32 und 34 in die linke Stellung umschaltet, so
daß also der kleinere der beiden Richtungswerte über den
Umschalter 34 und die Leitung 35 als neuer Summenwert dem
Speicher 20 zugeführt und dort eingeschrieben wird, und
gleichzeitig wird der auf der Verbindung 31 abgegebene
zugehörige Hinweiswert als Gesamthinweiswert über den
Schalter 32 einem Speicher 50 zugeführt und dort
gespeichert. Die Speicheradresse für den Speicher 50 wird
über den Umschalter 36 zugeführt, der zunächst durch ein
Signal e in der unteren Stellung gehalten wird, so daß die
Adresse aus dem Sprachparameterwert k und dem Wert i für
den jeweiligen Zeitpunkt gebildet wird.
Wenn der Richtungswert auf der Verbindung 39 kleiner ist
als der Richtungswert auf der Verbindung 29, erzeugt der
Vergleicher 14 am Ausgang 15 ein Signal, das die beiden
Umschalter 32 und 34 in die entgegengesetzte Lage umschaltet,
so daß dann wieder der kleinere Richtungswert
über die Verbindung 35 dem Speicher 20 und der zugehörige,
auf der Verbindung 41 abgegebene Gesamthinweiswert über
den Umschalter 32 dem Speicher 50 zugeführt wird. Im
Speicher 20 werden durch die auf der Verbindung 35 zugeführten
Minimum-Richtungswerte, die den neuen Summenwert
D (k,i) darstellen, die entsprechenden früher gespeicherten
Summenwerte desselben Sprachparameterwerts k
überschrieben, so daß der Speicher 20 nur eine Kapazität
von K Worten haben muß. Entsprechendes gilt auch für die
Speicher 30 und 40. Lediglich der Speicher 50 muß für
jeden Sprachparameterwert k jedes Zeitpunktes i einen
Speicherplatz für einen Gesamthinweiswert aufweisen, der
wegen der Tatsache, daß nur fünf verschiedene Richtungen
möglich sind, nur drei Bit groß sein muß.
Wenn auf diese Weise das letzte Sprachsegment verarbeitet
und damit der Zeitpunkt I erreicht ist, wird eine Anordnung
aus einem Vergleicher 38 und einem Register 48 eingeschaltet,
wodurch der minimale Summenwert D (m,I) bei
diesem letzten Zeitpunkt I und der zugehörige Sprachparameter
k=m dieses Minimums festgestellt wird. Dazu wird
beispielsweise der Inhalt des Registers 48 auf seinem
Maximalwert festgehalten und erst mit dem letzten Zeitpunkt
I freigegeben, was der Übersichtlichkeit halber
nicht näher dargestellt ist.
Der erste Summenwert D (k,I), der zum Zeitpunkt I am
Ausgang des Umschalters 34 auf der Verbindung 35 erscheint,
wird dem einem Eingang des Vergleichers 38 sowie
dem Dateneingang des Registers 48 zugeführt, dessen Ausgang
49 mit dem anderen Eingang des Vergleichers 38 verbunden
ist. Da der auf der Verbindung 35 auftretende
Summenwert kleiner sein wird als der Maximalwert, auf den
das Register 38 vorher festgehalten wurde und der noch auf
der Verbindung 49 vorhanden ist, erzeugt der Vergleicher 38
auf seiner Ausgangsleitung 37 ein Signal, das
den momentanen Summenwert auf der Verbindung 35 in das
Register 48 einschreibt, und außerdem wird in ein weiteres
Register 42 der momentane Sprachparameterwert k und der
Wert i des momentanen Zeitpunktes eingeschrieben. Wenn der
nächste, am Ausgang des Schalters 34 auftretende Summenwert
kleiner ist als der vorhergehende Wert, erzeugt der
Vergleicher 38 wieder ein Signal auf der Ausgangsleitung
37, so daß dieser kleinere Summenwert in das
Register 48 und die entsprechenden Werte k und I in das
Register 42 eingeschrieben werden. Dies geschieht so
lange, bis der am Ausgang des Schalters 34 erscheinende
Summenwert nicht mehr kleiner ist als der vorhergehende
Summenwert, so daß das Register 48 stets den kleinsten
Summenwert und das Register 42 die zugehörigen Werte k und
i enthält. Dies wird fortgesetzt bis zum letzten Summenwert
zum Zeitpunkt I, so daß dann der Speicher 50 alle
Gesamthinweiswerte H (k,i) und das Register 48 den
kleinsten aller Summenwerte zum Zeitpunkt I und das
Register 42 die entsprechenden Werte k und I enthält.
Damit ist das Ende der gesuchten Folge identifiziert.
Nun wird durch das Signal e der Umschalter 36 umgeschaltet,
so daß der Speicher 50 von dem Ausgang 45 eines
Adreßrechners 44 adressiert wird. Dieser erhält vom
Register 42 über die Verbindung 43 die darin enthaltenen
Werte m und I entsprechend dem minimalen Summenwert, und
der an dieser Adresse im Speicher 50 enthaltene Gesamthinweiswert
H (m,I) wird ausgelesen und über die Verbindung 51
dem Adressenrechner 44 zugeführt. Dieser modifiziert mit
diesem Hinweiswert die über die Verbindung 43 zugeführten
Werte, so daß am Ausgang 45 die Werte k₁ und i₁ des vorhergehenden
Punktes erscheinen. Diese werden in das
Register 42 eingeschrieben und adressieren gleichzeitig
den Speicher 50, so daß der zugehörige Hinweiswert
H (k₁,i₁) ausgelesen und über die Verbindung 51 dem
Adressenrechner 44 zugeführt wird. Dieser erzeugt damit
wieder die Werte des nächsten vorhergehenden Punktes auf
der Verbindung 45, die wieder im Register 42 abgespeichert
werden und gleichzeitig den Speicher 50 adressieren usw.,
so daß am Ausgang 46 schließlich die gesuchte Folge der
Werte k und i in umgekehrter Reihenfolge erscheint. Diese
können zwischengespeichert oder auch direkt verarbeitet
werden, was nicht näher dargestellt ist, da es nicht mehr
zur Erfindung gehört.
Es ist auch möglich, den Speicher 40 einzusparen, wobei
dann die Verbindung 13 direkt mit der Verbindung 39 und
die Verbindung 19 direkt mit der Verbindung 41 gekoppelt
wird, entsprechend der Erläuterung bei Fig. 3, wenn die
Blöcke 104 und 105 zusammengefaßt werden. Dann wird also,
wenn die Richtungswerte für eine Richtung, beispielsweise
die Richtungswerte D⁺(k,i) und die zugehörigen Hinweiswerte
h⁺(k,i) für alle Sprachparameterwerte k erzeugt und
im Speicher 30 gespeichert sind, jeder von der Verarbeitungsanordnung
12 auf der Verbindung 13 erzeugte Richtungswert
D -(k,i) direkt dem Vergleicher 14 zugeführt, der
dann gleichzeitig vom Speicher 30 über die Verbindung 29
den anderen Richtungswert D⁺(k,i) erhält, und der kleinere
dieser beiden Richtungswerte wird dann unmittelbar über
den Umschalter 34 und die Verbindung 35 dem Speicher 20
zugeführt und darin eingeschrieben. Gleichzeitig wird der
zugehörige Hinweiswert über den Schalter 32 als Gesamthinweiswert
H (k,i) in den Speicher 50 eingeschrieben.
Dabei sind dann für jeden Zeitpunkt i nur zwei Durchläufe
aller Sprachparameterwerte k erforderlich.
Eine Steueranordnung, die die dafür erforderlichen Werte k
und i sowie die Steuersignale c, d und e erzeugt, ist im
gestrichelten Block 16 dargestellt. Darin ist ein Taktgenerator
52 vorhanden, der einen Zähler 54 ansteuert, von
dem jede mögliche Stellung einen anderen Wert des Sprachparameters
k darstellt. Dieser Zähler 54 möge von 1 zu
zählen beginnen, und wenn er den letzten Sprachparameterwert
k=K erreicht hat, gibt er auf der Leitung 55 ein
Signal ab, daß eine bistabile Kippstufe 56 umschaltet, so
daß das Signal c verschwindet, das das Einschreiben in den
Speicher 30 gesteuert hat, und das Signal d beginnt, mit
dem die Summenwerte D (k,i) in den Speicher 20 und die
Gesamthinweiswerte H (k,i) in den Speicher 50 eingeschrieben
werden. Gleichzeitig wird die Zählrichtung des
Zählers 54 umgekehrt, der nun wieder rückwärts zählt, so
daß die Werte k an seinem Ausgang von K bis 1 laufen. Dies
ist der zweite Durchlauf, bei dem die anderen Richtungswerte
und die neuen Summenwerte und die Gesamthinweiswerte
erzeugt und gespeichert werden.
Wenn der Zähler 54 wieder bei seiner Anfangsstellung angelangt
ist, wird wieder auf der Leitung 55 ein Signal erzeugt,
so daß die bistabile Kippstufe 56 wieder umschaltet
und das Signal d verschwindet und das Signal c wieder
beginnt, und gleichzeitig wird ein Zähler 58 um eine
Stellung weitergeschaltet, dessen Ausgänge die Werte i
liefern.
Wenn auf diese Weise der Zähler 58 schließlich alle
Stellungen durchlaufen hat und den letzten Zeitpunkt I
erreicht hat, erzeugt er anschließend, beispielsweise an
einem Übertragungsausgang, das Signal e, das den Umschalter
36 umschaltet, wie vorstehend beschrieben wurde, so
daß das Zurückverfolgen der ermittelten Folge beginnen
kann.
Die für die Speicher 20, 30 usw. sowie für die
Register 22, 24 usw. und die Verabeitungsanordnung 12
gegebenenfalls erforderliche Taktsteuerung, die in Fig. 4
der Übersichtlichkeit halber nicht dargestellt ist, kann
ebenfalls von dem Taktgenerator 52 abgeleitet werden.
In Fig. 5 ist eine mögliche Ausführungsform der Verarbeitungsanordnung
12 in Fig. 4 dargestellt. Der über die
Verbindung 11 zugeführte Einzelwert d (k,i) wird dem einen
Eingang eines Addierers 60 zugeführt, dessen anderer
Eingang den konstanten Werte A empfängt, der beispielsweise
durch feste Verdrahtung vorgegeben ist. Die darin gebildete,
auf der Verbindung 61 erscheinende Summe wird einem
Multiplizierer 62 zugeführt, wo diese Summe mit dem festen
Wert a multipliziert wird. Da der genaue Wert der Größe a
nicht sehr kritisch ist, kann sie aus einer geringen
Anzahl von einzelnen Summanden gebildet werden, die
jeweils eine ganze negative Potenz von 2 sind, so daß der
Multiplizierer 62 aus einer kleinen Anzahl kaskadierter
Addierer aufgebaut sein kann.
Das auf der Verbindung 63 entstehende Produkt wird einem
Addierer 64 zugeführt, wo es zu dem Wert auf der Verbindung
25 des Registers 24 addiert wird, und dies ist der
Summenwert D (k-1, i-1), wenn die Sprachparameterwerte k
ansteigend aufeinander folgen.
Der im Addierer 64 gebildete, auf der Verbindung 65 gelieferte
Wert wird dem einen Eingang eines Vergleichers 66
zugeführt, wo er mit dem über die Verbindung 23 vom
Register 22 zugeführten Wert verglichen wird, d. h. mit dem
Summenwert D (k,i-1). Der Vergleicher 66 steuert abhängig
vom Vergleichsergebnis einen Umschalter 68, der den
kleineren, dem Vergleicher 66 zugeführten Wert über die
Verbindung 69 dem einen Eingang eines weiteren Vergleichers
zuführt.
Der andere Eingang des Vergleichers 76 ist mit der Ausgangsverbindung
75 eines weiteren Addierers 74 verbunden,
der den auf der Verbindung 27 vom Register 26 gelieferten
Wert zu der im Multiplizierer 72 mit der Größe b multiplizierten
Summe auf der Verbindung 61 addiert. Der
Vergleicher 76 steuert wieder einen Umschalter 78 derart,
daß der kleinere der dem Vergleicher 76 zugeführten Werte
weitergeleitet und dem einen Eingang eines weiteren
Addierers 70 zugeführt wird, der am anderen Eingang den
über die Verbindung 11 zugeführten Einzelwert d (k,i)
erhält. Die am Ausgang 13 des Addierers 70 entstehende
Summe ist der Richtungswert D⁺(k,i). In entsprechender
Weise entstehen am Ausgang 13 die Richtungswerte D -(k,i)
für die entgegengesetzte Richtung, wenn die Sprachparameter
k von großen nach kleinen Werten laufen.
Parallel zum Umschalter 68 wird vom Ausgangssignal des
Vergleichers 66 ein Umschalter 82 betätigt, der einer
Leitung 83 entweder den logischen Wert "0" oder "1" zuführt,
wobei letzterer Wert bedeutet, daß der vorhergehende
Punkt zumindest schräg darunter liegt, d. h. in dem
Adressenrechner 44 in Fig. 1 muß für die Adressierung des
nächsten Wertes beim Sprachparameter k eine Einheit abgezogen
werden.
Die Leitung 83 bildet den einen Anschluß eines weiteren
Umschalters 84, der vom Ausgangssignal des Vergleichers 76
parallel zum Umschalter 78 gesteuert wird und dessen
anderer Eingang fest den logischen Wert "1" erhält.
Parallel dazu wird ein weiterer Umschalter 86 gesteuert,
der der Ausgangsleitung 87 in der linken Stellung fest den
logischen Wert "1" und in der rechten Stellung den
logischen Wert "0" zuführt, wobei der letztere Wert
angibt, daß der vorhergehende Punkt zum selben Zeitpunkt
gehört, d. h. senkrecht darunter liegt, so daß der
Adressenrechner 44 in Fig. 1 in diesem Falle den gleichen
Adressenteil i für die Adressierung des Speichers 50
liefert wie bei der jeweils vorhergehenden Adresse. Die
beiden Ausgangsleitungen 85 und 87 der Umschalter 84 und
86 bilden zusammen die Verbindung 19, die in Fig. 4 auf
die Speicher 30 und 40 bzw. den Umschalter 32 führt.
Dieser Umschalter kann beispielsweise über ein drittes
Bit, dessen Wert umgeschaltet wird, angeben, ob der
vorhergehende Punkt oberhalb oder unterhalb des gerade
betrachteten Punktes liegt und ob im Adressenrechner 44
dann zu dem momentanen Wert k eine Einheit addiert oder
davon eine Einheit subtrahiert werden muß.
Die in den Fig. 4 und 5 dargestellte Anordnung ist nur
beispielhaft zu betrachten, insbesondere können einige
oder auch alle Teile durch einen entsprechend programmierten
Mikroprozessor realisiert werden.
Claims (4)
1. Verfahren zur Bestimmung des zeitlichen Verlaufs
eines Sprachparameters eines Sprachsignals, wobei zu
diskreten Zeitpunkten für jeden Wert eines vorgegebenen
Wertebereichs des Sprachparameters ein Einzelwert vorhanden
ist und der zeitliche Verlauf die Folge der benachbarten,
einschließlich diagonal benachbarten Sprachsignalparameter
darstellt, deren Einzelwert zumindest nahe
den Extremwerten der Einzelwerte für die einzelnen Zeitpunkte
liegen, wobei die Summe der Einzelwerte dieser
Folge einen Summen-Extremwert gegenüber anderen Folgen
bildet, dadurch gekennzeichnet, daß, bezogen auf das Minimum als
Extremwert der Einzelwerte und als Summen-Extremwert zu
jedem Zeitpunkt (i) in einem ersten Durchlauf nacheinander
für alle in der einen Richtung aufeinanderfolgenden
Sprachparameterwerte (k) ein erster Richtungswert D′ (k,i)
als die Summe aus dem betreffenden Einzelwert d (k,i) und
dem Minimum der folgenden Werte
D (k,i-1)
D (l,i-1)+a(d(k,i )+A)
D′ (l,i )+b(d(k,i )+A)sowie ein Hinweiswert h′ (k,i) auf den das Minimum liefernden Einzelwert gebildet und abgespeichert wird, wobei D (k,i-1) bzw. D (l,i-1) einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwert l erzeugten und gespeicherten Summenwert,
D (l,i) der beim unmittelbar vorhergehenden Sprachparameterwert l gebildete Richtungswert und a, b, A vorgegebene feste Größen sind, daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k ein zweiter Richtungswert D′′ (k,i) mit einem Hinweiswert h′′ (k,i) in entsprechender Weise wie im ersten Durchlauf gebildet wird, daß für jeden Sprachparameterwert k das Minimum der beiden Richtungswerte D′,D′′ und der zu diesem Richtungswert gehörende Hinweiswert h′,H′′ als jeweils neuer Summenwert D bzw. als Gesamthinweiswert H gespeichert wird, und daß spätestens am Ende des Sprachsignals aus dem Gesamthinweiswert H (k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert ermittelt und der zugehörige Gesamthinweiswert ausgelesen wird, usw., wobei die dabei entstehende Folge der Sprachparameterwerte ausgegeben bzw. gespeichert wird.
D (l,i-1)+a(d(k,i )+A)
D′ (l,i )+b(d(k,i )+A)sowie ein Hinweiswert h′ (k,i) auf den das Minimum liefernden Einzelwert gebildet und abgespeichert wird, wobei D (k,i-1) bzw. D (l,i-1) einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwert l erzeugten und gespeicherten Summenwert,
D (l,i) der beim unmittelbar vorhergehenden Sprachparameterwert l gebildete Richtungswert und a, b, A vorgegebene feste Größen sind, daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k ein zweiter Richtungswert D′′ (k,i) mit einem Hinweiswert h′′ (k,i) in entsprechender Weise wie im ersten Durchlauf gebildet wird, daß für jeden Sprachparameterwert k das Minimum der beiden Richtungswerte D′,D′′ und der zu diesem Richtungswert gehörende Hinweiswert h′,H′′ als jeweils neuer Summenwert D bzw. als Gesamthinweiswert H gespeichert wird, und daß spätestens am Ende des Sprachsignals aus dem Gesamthinweiswert H (k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert ermittelt und der zugehörige Gesamthinweiswert ausgelesen wird, usw., wobei die dabei entstehende Folge der Sprachparameterwerte ausgegeben bzw. gespeichert wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß die Richtungswerte D′,D′′ die
Hinweiswerte h′,H′′ und die neuen Summenwerte D für jeweils
nur einen Zeitpunkt i gespeichert und danach wieder überschrieben
werden.
3. Verfahren nach Anspruch 2,
dadurch gekennzeichnet, daß die Richtungswerte D′, D′′ und
die Hinweiswerte h′,h′′ nur für die in der einen Richtung
aufeinanderfolgenden Sprachparameterwerte k gespeichert
werden und daß nach der Bildung jedes Richtungswerts D′′,D′
für die in der anderen Richtung aufeinanderfolgenden
Sprachparameterwerte k unmittelbar der neue Summenwert D
und der Gesamthinweiswert H gebildet und gespeichert wird.
4. Anordnung zur Durchführung des Verfahrens nach einem
der Ansprüche 1 bis 3, gekennzeichnet durch
- - einen ersten Speicher (10) für die Einzelwerte d (k,i) aller Sprachparameterwerte k mindestens jeweils eines Zeitpunktes i,
- - einen zweiten Speicher (20) für jeweils einen Summenwert D (k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
- - einen dritten Speicher (30) für jeweils einen ersten Richtungswert D′ (k,i) und einen Hinweiswert h′ (k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
- - einen vierten Speicher (26; 40) für einen zweiten Richtungswert D′′ (k,i) und einen zugehörigen Hinweiswert h′′ (k,i) mindestens eines Sprachparameterwertes k für den denselben Zeitpunkt i wie die Werte im dritten Speicher (30),
- - einen fünften Speicher (50) für die Gesamthinweiswerte H(k,i) für alle Sprachparameterwerte k und alle Zeitpunkte i,
- - eine Verarbeitungsanordnung (12) mit Eingängen, die mit einem Datenausgang des ersten, des zweiten und des dritten bzw. vierten Speichers (10, 20, 30, 26, 40) gekoppelt sind, und mit einem Ausgang zum Abgeben jeweils eines Richtungswertes D′ (k,i), D′′ (ki,i) und eines zugehörigen Hinweiswertes h′ (ki,i), h′′ (k,i), der mit dem Dateneingang des dritten Speichers (30) gekoppelt ist,
- - einen Vergleicher (14) mit zwei Eingängen, von denen der eine vom Datenausgang des dritten Speichers (30) jeweils einen ersten Richtungswert D′ (ki,i) und der andere Eingang den zugehörigen zweiten Richtungswert D′ (k,i) empfängt, und mit einem Ausgang, der einen Umschalter (32) steuert, der den kleineren der beiden Richtungswerte dem Dateneingang des zweiten Speichers (20) zuführt, und
- - eine Steueranordnung (16) mit einem Adressengenerator (54, 58) der zyklisch die Adressen aller Sprachparameterwerte k in der einen Richtung der Adressenfolge und danach in der anderen Richtung der Adressenfolge für mindestens den ersten bis dritten und den fünften Speicher (10, 20, 30, 50) erzeugt und der außerdem die Adressenauswahl für den Zeitpunkt i mindestens für den fünften Speicher (50) erzeugt, und mit einer Ablaufsteuerung (56), die das Einschreiben und Auslesen mindestens des zweiten, dritten und fünften Speichers (20, 30, 50) steuert.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863640355 DE3640355A1 (de) | 1986-11-26 | 1986-11-26 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens |
EP87202298A EP0272723B1 (de) | 1986-11-26 | 1987-11-24 | Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters und Anordnung zur Durchführung des Verfahrens |
US07/125,101 US4813075A (en) | 1986-11-26 | 1987-11-24 | Method for determining the variation with time of a speech parameter and arrangement for carryin out the method |
DE8787202298T DE3782324D1 (de) | 1986-11-26 | 1987-11-24 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens. |
JP62296255A JP2747292B2 (ja) | 1986-11-26 | 1987-11-26 | 音声信号の音声パラメータの時間的変化決定方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19863640355 DE3640355A1 (de) | 1986-11-26 | 1986-11-26 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3640355A1 true DE3640355A1 (de) | 1988-06-09 |
Family
ID=6314791
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863640355 Withdrawn DE3640355A1 (de) | 1986-11-26 | 1986-11-26 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens |
DE8787202298T Expired - Lifetime DE3782324D1 (de) | 1986-11-26 | 1987-11-24 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8787202298T Expired - Lifetime DE3782324D1 (de) | 1986-11-26 | 1987-11-24 | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4813075A (de) |
EP (1) | EP0272723B1 (de) |
JP (1) | JP2747292B2 (de) |
DE (2) | DE3640355A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8701798A (nl) * | 1987-07-30 | 1989-02-16 | Philips Nv | Werkwijze en inrichting voor het bepalen van het verloop van een spraakparameter, bijvoorbeeld de toonhoogte, in een spraaksignaal. |
US5226108A (en) * | 1990-09-20 | 1993-07-06 | Digital Voice Systems, Inc. | Processing a speech signal with estimated pitch |
EP0703569B1 (de) * | 1994-09-20 | 2000-03-01 | Philips Patentverwaltung GmbH | System zum Ermitteln von Wörtern aus einem Sprachsignal |
AU3734195A (en) * | 1994-09-29 | 1996-04-19 | Apple Computer, Inc. | A system and method for determining the tone of a syllable of mandarin chinese speech |
AU696092B2 (en) * | 1995-01-12 | 1998-09-03 | Digital Voice Systems, Inc. | Estimation of excitation parameters |
US5754974A (en) * | 1995-02-22 | 1998-05-19 | Digital Voice Systems, Inc | Spectral magnitude representation for multi-band excitation speech coders |
US5701390A (en) * | 1995-02-22 | 1997-12-23 | Digital Voice Systems, Inc. | Synthesis of MBE-based coded speech using regenerated phase information |
US6505152B1 (en) | 1999-09-03 | 2003-01-07 | Microsoft Corporation | Method and apparatus for using formant models in speech systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5885499A (ja) * | 1981-11-18 | 1983-05-21 | 株式会社デンソー | 連続音声認識装置 |
JPS58100195A (ja) * | 1981-12-10 | 1983-06-14 | 日本電気株式会社 | 連続音声認識装置 |
JPH0731504B2 (ja) * | 1985-05-28 | 1995-04-10 | 日本電気株式会社 | ピツチ抽出装置 |
US4751737A (en) * | 1985-11-06 | 1988-06-14 | Motorola Inc. | Template generation method in a speech recognition system |
JPH0731504A (ja) * | 1993-07-19 | 1995-02-03 | Naito Seisakusho:Kk | 盲人用杖 |
-
1986
- 1986-11-26 DE DE19863640355 patent/DE3640355A1/de not_active Withdrawn
-
1987
- 1987-11-24 US US07/125,101 patent/US4813075A/en not_active Expired - Fee Related
- 1987-11-24 EP EP87202298A patent/EP0272723B1/de not_active Expired - Lifetime
- 1987-11-24 DE DE8787202298T patent/DE3782324D1/de not_active Expired - Lifetime
- 1987-11-26 JP JP62296255A patent/JP2747292B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2747292B2 (ja) | 1998-05-06 |
EP0272723B1 (de) | 1992-10-21 |
EP0272723A1 (de) | 1988-06-29 |
US4813075A (en) | 1989-03-14 |
JPS63144400A (ja) | 1988-06-16 |
DE3782324D1 (de) | 1992-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2451982C2 (de) | ||
DE2758830A1 (de) | Rechenvorrichtung | |
DE1928202A1 (de) | UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme | |
EP0285221A2 (de) | Verfahren zum Erkennen kontinuierlich gesprochener Wörter | |
DE2133638C3 (de) | Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten | |
EP0272723B1 (de) | Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters und Anordnung zur Durchführung des Verfahrens | |
DE3507584C2 (de) | ||
EP0285211B1 (de) | Verfahren zum Erkennen kontinuierlich gesprochener Wörter | |
DE2064383B2 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE2246863A1 (de) | Verfahren und anordnung zur protokollierung des programmablaufs in datenverarbeitungsanlagen | |
DE1805992B2 (de) | Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen | |
DE2920041C2 (de) | Verfahren zum Verifizieren von Signalen, und Anordnung zum Durchführen des Verfahrens | |
DE2720666A1 (de) | Verfahren und anordnung zur geraeuschanalyse | |
DE3215868C2 (de) | ||
EP0677835B1 (de) | Verfahren zum Ermitteln einer Folge von Wörtern | |
DE3633461A1 (de) | Taktsignalgebervorrichtung | |
DE3037276C2 (de) | Tonsynthesizer | |
DE2939077A1 (de) | Verfahren und anordnung zum bestimmen charakteristischer werte aus einem geraeuschsignal | |
EP0417854B1 (de) | Verfahren zur Erkennung von N unterschiedlichen Wortketten in einem Sprachsignal | |
DE3417816A1 (de) | Programmierbares schaltnetz | |
DE2419522A1 (de) | Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers | |
DE3112444C2 (de) | ||
DE2939330C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |