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 verfahrens

Info

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
Application number
DE19863640355
Other languages
English (en)
Inventor
Hermann Ney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Patentverwaltung GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Patentverwaltung GmbH filed Critical Philips Patentverwaltung GmbH
Priority to DE19863640355 priority Critical patent/DE3640355A1/de
Priority to EP87202298A priority patent/EP0272723B1/de
Priority to US07/125,101 priority patent/US4813075A/en
Priority to DE8787202298T priority patent/DE3782324D1/de
Priority to JP62296255A priority patent/JP2747292B2/ja
Publication of DE3640355A1 publication Critical patent/DE3640355A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch 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)
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.
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.
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.
DE19863640355 1986-11-26 1986-11-26 Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens Withdrawn DE3640355A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 盲人用杖

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