DE3871648T2 - Verfahren und einrichtung zur bestimmung des verlaufs eines sprachparameters, zum beispiel die grundfrequenz in einem sprachsignal. - Google Patents

Verfahren und einrichtung zur bestimmung des verlaufs eines sprachparameters, zum beispiel die grundfrequenz in einem sprachsignal.

Info

Publication number
DE3871648T2
DE3871648T2 DE8888201554T DE3871648T DE3871648T2 DE 3871648 T2 DE3871648 T2 DE 3871648T2 DE 8888201554 T DE8888201554 T DE 8888201554T DE 3871648 T DE3871648 T DE 3871648T DE 3871648 T2 DE3871648 T2 DE 3871648T2
Authority
DE
Germany
Prior art keywords
time
value
parameter
speech
values
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.)
Expired - Fee Related
Application number
DE8888201554T
Other languages
English (en)
Other versions
DE3871648D1 (de
Inventor
Hemert Jan Petrus Van
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3871648D1 publication Critical patent/DE3871648D1/de
Application granted granted Critical
Publication of DE3871648T2 publication Critical patent/DE3871648T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die Erfindung betrifft ein Verfahren zum Bestimmen eines Sprachparameters, beispielsweise der Grundfrequenz in einem Sprachsignal in zeitlicher Abhängigkeit, und auf eine Anordnung zur Durchführung dieses Verfahrens.
  • Im weiteren wird die Erfindung mit weiteren Einzelheiten anhand eines Verfahrens und einer Einrichtung zum Bestimmen des Verlaufs der Grundfrequenz in zeitlicher Abhängigkeit erläutert. Es sei jedoch darauf hingewiesen, daß die Erfindung größere Anwendungsmöglichkeiten hat und ebenfalls zum Bestimmen eines oder mehrerer Formanten des Sprachsignals in zeitlicher Abhängigkeit verwendbar ist.
  • Für eine Anzahl von Anwendungen, wie z.B. zum Analysieren und Neusynthetisieren von Sprache und Untersuchung von Intonationsumrissen muß der Verlauf der Grundfrequenz in zeitlicher Abhängigkeit in ununterbrochener Sprache gemessen werden. Dies erscheint als ein ziemlich komplexes Problem und es gibt nicht viel Grundfrequenzmeter, die keine Meßfehler machen. Andererseits wird die Sprachqualität nach der Analyse/Neusynthese weitgehend durch die Richtigkeit des gemessenen Grundfrequenzumrisses bestimmt. Es ist daher wichtig, über Grundfrequenzmeter zu verfügen, die nur wenig Meßfehler machen. Zu diesem Zweck wurde in der Vorzeit von Duifhuis, Willems und Sluyter ein Verfahren entwickelt, mit dem die Grundfrequenz im Frequenzgebiet berechnet wurde. Dieses unter dem Namen von Harmonischensieb ist u.a. aus der Patentanmeldung GB-A-2 037 129 bekannt. In diesem Verfahren (i) werden in einem ersten Schritt Zeitsegmente des Sprachsignals aus dem Sprachsignal an m Zeitpunkten, die einer dem anderen in regelmäßigen Zeitabständen folgen, und aus jedem Zeitsegment i(1 ≤ i ≤ m) ein Paßmaß p(i,j) abgeleitet, das dem Zeitsegment zugeordnet ist und für eine Reihe von n möglichen Werten für den Sprachparameter, in diesem Fall die Grundfrequenz, anzeigt, wie gut ein gewählter Wert fj für den Sprachparameter (1 ≤ j ≤ n) zum Sprachsignal des betreffenden Zeitsegments paßt. Der Verlauf des Sprachparameters im Sprachsignal in zeitlicher Abhängigkeit kann dabei auf verschiedene Weisen aus dem Paßmaß bestimmt werden.
  • Im Hinblick auf die mit dem bekannten Verfahren erhaltenen Ergebnisse zeigt es sich, daß das Verfahren zum Bestimmen der Grundfrequenz nichtsdestoweniger noch einiger Verbesserung bedarf.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Anordnung zum Durchführen des Verfahrens zu schaffen, mit dem bessere Ergebnisse erhalten werden. Zur Lösung dieser Aufgabe ist das Verfahren weiter noch dadurch gekennzeichnet, daß
  • (ii) in einem zweiten Schritt zum Zeitpunkt i= 1 und bei jedem der n möglichen Werte fj für den Sprachparameter ein mit dem Sprachparameter verknüpfter Wert ms(1,j) gleich p(1,j) in einen Speicher eingeschrieben wird,
  • (iii) in einem dritten Schritt
  • - zu einem bestimmten Zeitpunkt i(> 1) und bei einem bestimmten möglichen Wert fj für den Sprachparameter eine Anzahl von Summenwerten sh(i,j) entsprechend der Formel
  • sh(i,j) = p(i,j) + ms(i-1,h)+k(fj(i),fh*(i)),
  • abgeleitet wird, worin h den Bereich von x bis y einschließlich darstellt, und wobei für x und y gilt, daß
  • 1 ≤ x ≤ j, j ≤ y ≤ n und x ≠ y,
  • - von allen y-x+1 Summenwerten sh(i,j) der optimale Summenwert in den vorgenannten Speicher als der Wert ms(i,j) eingeschrieben wird, und zusätzlich ein Koppelvektor v(i,j), der auf den Wert fh(i-1) des Sprachparameters zum Zeitpunkt i-1 verweist, und dieser Wert für den betreffenden Index h entsprechend obiger Formel den optimalen Summenwert ergibt, in einen Speicher eingeschrieben wird,
  • (iv) daß der dritte Schritt für alle anderen Indizes j zum Zeitpunkt i wiederholt wird,
  • (v) daß der dritte Schritt für alle Indizes zu einem auffolgenden Zeitpunkt i+1 wiederholt wird,
  • (vi) und daß k(fj(i),fh(i)) ein Kostenparameter ist, der ein Maß für die Abweichung des Sprachparameters fj(i) zum Zeitpunkt i in bezug auf einen berechneten Wert fh(i) für den Sprachparameter zum Zeitpunkt i ist, wobei dieser berechnete Wert wenigstens aus dem Sprachparameterwert fh(i-1) zum Zeitpunkt i-1 abgeleitet und entsprechend nachstehender Formel bestimmt wird
  • worin a&sub0; eine Konstante kleiner als Null ist, und wenn r ≥ 2 ist, so ist f&sub1;(i-z) der Wert für den Sprachparameter zum Zeitpunkt i-z, und dieser Wert liegt auf einem Unterweg, der über die Koppelvektoren v(i,j) zum Sprachparameter fh(i-1) zum Zeitpunkt i-1 führt.
  • Der Erfindung liegt die Erkenntnis zugrunde, daß im bekannten Verfahren die Zeitsegmente unabhängig voneinander behandelt werden. Für jedes Zeitsegment wird der Wert für die Grundfrequenz genommen, für die das Paßmaß in Abhängigkeit von der Minimalisierung oder Maximalisierung des benutzten Algorithmus minimal (oder dagegen maximal) ist. Da jedes Zeitsegment im bekannten Verfahren getrennt behandelt wird, kann der Verlauf der Grundfrequenz in zeitlicher Abhängigkeit diskontinuierlich sein. Unterbrechungen im Verlauf der Grundfrequenz sind, physikalisch betrachtet, nicht sehr wahrscheinlich und sind daher als unrichtige Messungen zu betrachten.
  • Die Grundfrequenz in auffolgenden Zeitsegmenten ist stark korreliert und eine Anzahl von Grundfrequenzfehlem hätte vermieden werden können, wenn diese Korrelationen berücksichtigt wären.
  • Erfindungsgemäß wird zu diesem Zweck ein Gesamtkontinuitätskriterium eingeführt. Dieses Kriterium wird faktisch durch vorgenannte Formel sh(i,j) wiedergegeben. Faktisch stellt diese Formel ein Optimierungsproblem für nachstehendes Kriterium dar
  • Dies bezieht sich auf das Suchen des Umrisses fj(i), für den die Summe über die ganze Sprachaüßerung ein Minimum ist. Jeder summierte Wert besteht aus zwei Anteilen. Ein Anteil ist das Paßmaß p(i,j) und der andere Anteil ist ein Kostenparameter, der ein Übergangsmaß vom Punkt (i-1,h) nach (i,j) ist.
  • Dieses Optimierungsproblem läßt sich mit Hilfe dynamischer Programmierung lösen. Ausgehend von diesem Kriterium kann die Formel für sh(i,j) unter Verwendung des Prinzips von Unteroptimalität aufgestellt werden, siehe R. Bellman (1957), Dynamic Programming, University Press, Princeton.
  • Dieses Prinzip beinhaltet, daß, wenn ein Punkt (i,j) auf dem Gesamtoptimumweg liegt, der Unterweg vom Startpunkt zum Punkt (i,j) einen Teil des Gesamtoptimumweges bildet.
  • Mit Hilfe des Vorgangs im dritten Schritt werden der Wert ms(i,j) und der Vorläufer (i-1,h) bestimmt und für jeden Punkt (i,j) gespeichert. Wie oben beschrieben, ist daher im Minimalisierungsalgorithmus der optimale Summierungswert ms(i,j) der kleinste Summierungswert der y-x+1 Summierungswerte. Wenn ein Maximalisierungsalgorithmus benutzt wurde, muß es klar sein, daß der Optimierungswert genau der größste der y-x+1 Summierungswerte sh(i,j) ist.
  • Der Wert von j, für den der Wert ms(m,j) der niedrigste ist, bestimmt den Endpunkt des optimalen Weges. Der optimale Weg kann dabei mit Hilfe der Koppelvektoren rückwärts aufgespürt werden und der Grundfrequenzverlauf läßt sich über die Länge des Sprachsignals bestimmen.
  • Es sei erwähnt, daß die deutsche Patentanmeldung Nr. 3 640 355 ebenfalls der Anmelderin, aber nicht vorveröffentlicht, ebenfalls ein Optimierungskriterium zur Bestimmung des Grundfrequenzverlaufs in einem Sprachsignal beschreibt.
  • Die Berechnung des Summierungswerts wird jedoch hier auf eine andere Weise durchgeführt.
  • Im erfindungsgemäßen Verfahren wird u.a. ein berechneter Wert für die Grundfrequenz abgeleitet. Die Formel zum Berechnen eines vorausgesagten Wertes enthält wenigstens zwei Glieder, d.h. das Glied a&sub0;, das negativ ist und angibt, daß der Grundfrequenzverlauf zeitlich gesehen zunächst abfallend (Deklination) ist, und das Glied a&sub1; fh(i-1), worin a&sub1; vorzugsweise gleich 1 ist. Das bedeutet, daß außer für das Glied a&sub0;, das die Deklination angibt, der berechnete Wert fh*(i) für die Grundfrequenz im Zeitsegment i gleich der Grundfrequenz fh(i-1) im vorangehenden Zeitsegment i-1 ist.
  • In dem in der deutschen Patentanmeldung beschriebenen Verfahren wird kein berechneter Wert für die Grundfrequenz abgeleitet. Weder wird die natürliche Deklination der Grundfrequenz in Abhängigkeit von der Zeit berücksichtigt. Vorzugsweise werden die Paßmaße p(i,j) im ersten Schritt durch Verwendung des bereits beschriebenen Harmonischensiebs abgeleitet. Eine derartige Vorbearbeitung der Information vor dem dynamischen Programmierschritt bedeutet einen großen Vorteil, weil es im Sprachsignal eine bessere Bestimmung des Verlaufs des Sprachparameters in Abhängigkeit von der Zeit ermöglicht.
  • Die Anordnung zum Durchführen des Verfahrens ist dadurch gekennzeichnet, daß die Anordnung mit folgenden Elementen ausgerüstet ist:
  • - einer ersten Einheit zum Ableiten von Zeitsegmenten aus dem Sprachsignal zu einem dem anderen in regelmäßigen Zeitabständen folgenden n Zeitpunkten und zum Ableiten des mit einem Zeitsegment verknüpften Päßmaßes p(i,j) aus jedem Zeitsegment,
  • - einer zweiten Einheit zum Ableiten der Werte ms(i,j),
  • - einer dritten Einheit zum Bestimmen der Summenwerte sh(ij) und zum Bestimmen des optimalen Summenwerts ms(i,j) für alle y-x+1 Summenwerte, die mit einem besonderen Index (i,j) verknüpft sind, worin i ≠ 1 ist,
  • - einem ersten Speicher zum Einschreiben des Wertes ms(i,j) darin,
  • - einem zweiten Speicher zum Speichern der Koppelvektoren v(i,j),
  • - einer vierten Einheit zum Bestimmen des berechneten Wertes fh*(i) für den Sprachparameter, und
  • - einer fünften Einheit zum Bestimmen des Kostenparameters k(fj(i), fh*(i)) Verstärkung.
  • Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung näher erläutert. Es zeigen
  • Fig. 1 den Betrieb eines Harmonischensiebs,
  • Fig. 2 das Paßmaß p(i,j),
  • Fig. 3 einen Umriß der Grundfrequenz in zeitlicher Abhängigkeit,
  • Fig. 4 eine Anordnung zur Durchführung des Verfahrens, und
  • Fig. 5 den Mindestinhalt (oder die Mindestabmessung) des ersten Speichers.
  • Zunächst wird der erste Schritt des Verfahrens beschrieben. In diesem Schritt wird das Paßmaß p(i,j) abgeleitet. Eine Möglichkeit zum Bestimmen des Paßmaßes ist die Verwendung des vorgenannten Harmonischensiebs. In diesem Zusammenhang werden Zeitsegmente des Sprachsignals aus dem Sprachsignal zu m Zeitpunkten abgeleitet, die einer dem anderen in regelmäßigen Zeitabständen folgen und beispielsweise in jedem Fall 10 ms auseinanderliegen. Diese Zeitsegmente können beispielsweise eine Länge von 40 ms haben.
  • Das Amplitudenfrequenzspektrum wird für jedes Zeitsegment berechnet und darin auftretende Spitzen werden detektiert. Das Harmonischensieb dient dabei zum Untersuchen, ob diese Spitzen eine harmonische Struktur bilden, d.h. ob die Spitzen auf Mehrfachen einer Grundharmonischen fj liegen. Zu diesem Zweck wird das Harmonischensieb für eine Anzahl von Werten von fj geprobt. Das Sieb hat Öffnungen an Mehrfachen des erprobten Wertes. Ein Päßmaß p(i,j) wird auf der Basis der Anzahl von Spitzen berechnet, die das Sieb passieren:
  • p(i,j) = W(i) {M(i,j) + I(j)} / J(i,j),
  • worin j der Index der erprobten Grundfrequenz ist, wobei j von 1 bis zu n läuft, i die Anzahl der Zeitsegmente ist, M die Anzahl der höchsten Harmonischen ist, die das Sieb passieren, I die Anzahl von Spitzen im Spektrum und J die Anzahl von Spitzen sind, die das Sieb passieren. W(i) ist ein Gewichtungsfaktor, der gleich Null in den stimmlosen und ruhigen Perioden in der Sprache und ungleich Null in den stimmhaften Abschnitten der Sprache ist. Vorzugsweise steigt W(i) bei einer ansteigende Amplitude der stimmhaften Abschnitten an.
  • Es sei bemerkt, daß p(i,j) hoch ist, wenn wenig Spitzen das Sieb passieren, und niedrig ist, wenn das Sieb viele Spitzen passieren. Dieses Kriterium wird als ein Mäß benutzt, wie gut (p ist niedrig) oder schlecht (p ist hoch) die erprobte Grundfrequenz (Index j) zum Zeitsegment (Index i) paßt.
  • In Fig. 1 ist der Betrieb des Harmonischensiebs dargestellt. In Fig. 1a sind drei Positionen des Harmonischensiebs gezeigt. Eine erste Position, für die die Grundharmonische des Siebfilters etwa 80 Hz beträgt, eine zweite Position, für die die Grundharmonische 200 Hz, und eine dritte Position, für die die Grundharmonische etwa 350 Hz beträgt. Das Zeitsegment enthält Harmonischen bei 200 Hz, 400 Hz, 600 Hz, usw. siehe Fig. 1a. Wenn das Harmonischensieb in der zweiten Position steht, läßt dieses Sieb all diese Frequenzspitzen durch. Dabei ist p(i,j) für diese Position des Siebes am niedrigsten. In Fig. 1b ist p(i,j) abhängig von der Frequenz fj entsprechend der Position der Grundharmonischen des Siebes aufgetragen. Entlang der vertikalen Achse in Fig. 1b ist nicht p(i,j) selbst aufgetragen, sondern pmin/p(i,j), worin pmin den kleinsten Wert von p(i,j) in der Verknüpfung mit dem Zeitsegment i ist. Da p(i,j) für das Filter in der zweiten Position (f&sub1; = 200 Hz) am kleinsten ist, hat dies die Konsequenz, daß pmin/p(i,j) gleich 1 ist für fj = 200 Hz, siehe Fig. 1b.
  • Die den anderen Zeitsegmenten i zugeordneten Paßmaße p(i,j) werden in einer entsprechenden Weise berechnet. In Fig. 2 sind die mit allen Zeitsegmenten i verknüpften Paßmaße p(i,j) dargestellt. In Fig. 2 ist pmin/p(i,j) in Abhängigkeit von i und fj aufgetragen. In diesem Fall ist pmin das kleinste Paßmäß p(i,j) aller Zeitsegmente.
  • Es sei bemerkt, daß in Fig. 1b nicht nur die höchste Spitze in einem Zeitsegment Information über die Grundfrequenz liefert, sondern daß auch die anderen Spitzen gute Kandidaten für die Grundfrequenz im betreffenden Zeitsegment sein können. Diese Information über alternative Kandidaten wird nicht gestrichen, sondern festgehalten. Information aus umgebenden Zeitsegmenten wird zum Wählen eines Kandidaten aus allen Kandidaten für die Grundfrequenz verwendet, die am besten in den durchgehenden Umriß paßt. Zu diesem Zweck werden die Paßmaße aller Zeitpunkte i und alle Siebpositionen j bestimmt.
  • Auch ist es möglich, die Paßmaße p(i,j) auf eine andere Weise als durch Verwendung eines Harmonischensiebs zu bestimmen. Beispielsweise könnte eine Autokorrelationsfünktion für jedes Zeitsegment i bestimmt werden. In dieser Autokorrelationsfunktion befinden sich dann Spitzen bei t&sub1; und Mehrfachen dieses Zeitpunkts, wobei T&sub1; gleich 1 und geteilt durch die Grundharmonische im Zeitsegment ist. Aus diesen Spitzen kann ein Paßmaß beispielsweise direkt oder mittels eines zeitlichen Harmonischensiebs abgeleitet werden. Das Paßmaß ist dabei eine Funktion des Indexes i entsprechend dem Index j, der dem Index Tj(=1/fj) entspricht, der wiederum abzuleiten ist.
  • Ein Wert ms(i,j) wird jetzt für alle Punkte i,j in einer von den Indizes i und j gebildeten Ebene abgeleitet, wobei i und j von 1 bis zu m bzw. n laufen (siehe Fig. 3).
  • Für die Punkte (1,j) bedeutet dies, daß ms(1,j) gleich p(1,j) genommen wird, wobei j von 1 bis zu n läuft. Die n Werte von ms(1,j) werden in einen Speicher eingeschrieben. Nach diesem (zweiten) Schritt wird eine Anzahl von Summierwerten sh(i,j) mit nachstehender Formel berechnet
  • sh(i,j) = p(i,j) + ms(i-1,h) + k(fj(i), fh*(i)) (1)
  • in einem folgenden Schritt für einen folgenden Zeitpunkt (Index) i und einen besonderen Wert fj (oder einen besonderen Index j). Aus Fig. 3 ist ersichtlich, daß für einen beliebigen Punkt P&sub0;, der nicht zu nahe beim oberen und unteren Rand der Matrix liegt, werden in diesem Fall fünf Summierungswerte berechnet. Jeder Summierungswert sh(i,j) ist faktisch mit einem besonderen Übergang vom Punkt (i-1,h) nach dem Punkt (i,j) verknüpft, wobei j-2 ≤ h ≤ j+2 ist.
  • Wenn ein Punkt (i,j) näher beim oberen oder unteren Rand der Matrix in Fig. 3 liegt, kann dies bedeuten, daß weniger als die (in diesem Beispiel) fünf Summierwerte berechenbar sind. Für die Position P&sub1; in Fig. 3 können nur vier Summierwerte und für die Position P&sub2; nur drei Summierwerte berechnet werden.
  • Von den fünf Summierwerten kann dabei der kleinste Wert genommen und in den vorgenannten Speicher als der Wert ms(i,j) eingeschrieben werden. Daneben wird ein Koppelvektor v(i,j) in einen (zweiten) Speicher eingeschrieben. Dieser Koppelvektor gibt den Übergang vom Punkt (i-1,h) zum Punkt (i,j) an, für den der zugeordnete Summierwert sh(i,j) der kleinste war. Im (zweiten) Speicher kann v(i,j) beispielsweise an einer Position (i,j) in Form von v(i,j)=h gespeichert werden, was bedeutet, daß der Punkt (i,j) mit dem Punkt (i-1,h) vereint wird.
  • Diese Berechnungen werden für alle anderen Indizes j für einen und demselben Index i wiederholt.
  • Die Berechnungen werden dabei für alle Indizes je für einen folgenden Index i+1 wiederholt. Dies geht so weiter, bis die Berechnungen für alle Positionen (i,j) ausgeführt sind. Der erste Speicher, in dem die Werte ms(i,j) gespeichert sind, braucht nicht so groß zu sein, daß alle Werte ms(i,j) auch hierin gespeichert bleiben. Der Speicher muß immer die mit den vorgehenden Positionen (i,j) verknüpften Werte ms(i,j) speichern können, so däß es möglich ist, einen Wert ms(i,j) für eine folgende Position zu berechnen. Das bedeutet im Beispiel nach Fig. 3, in dem ein Punkt P&sub0; aus fünf Positionen zu einem vorangehenden Zeitpunkt abgeleitet werden kann, daß wenigstens die Werte ms(i,1) bis zu ms(i,j-1) und die Werte ms(i-1,j-2) bis zu ms(i-1,n) dabei gespeichert werden müssen (siehe Fig. 5). Wenn der Wert ms(i,j) berechnet ist, ist der Wert ms(i-1,j-2) nicht mehr erforderlich und kann daher gestrichen werden.
  • Wenn alle Werte ms(i,j) berechnet sind, sind nur die Werte ms(m,1) bis zu ms(m,n) noch für den folgenden Vorgang wichtig. Der zweite Speicher für die Koppelvektoren v(i,j) ist so groß, daß alle bestimmten Koppelvektoren darin gespeichert werden können. Das bedeutet, daß der zweite Speicher (m-1)n Speicherstellen haben soll, weil keine Koppelvektoren v(1,j) bestimmt werden.
  • Der Verlauf der Grundfrequenz während der m Zeitsegmente läßt sich jetzt wie folgt bestimmen. Die kleinste der Anzahlen ms(m,j) wird bestimmt. Der Index j1, für den ms(m,j1) den kleinsten Wert hat, ist die Grundfrequenz fj1 zum Zeitpunkt m. Der Vorläufer (m-1,j2) wird dabei bestimmt unter Verwendung des Koppelvektors v(m,j1). Aus Fig. 3 ist ersichtlich, daß dieser Vorläufer der Punkt (m-1,j1) ist. Darauf bestimmt der Koppelvektor v(m-1,j1) den Vorläufer (m-2,j1), der dem Punkt (m-1,j1) vorangeht. Der Koppelvektor v(m-2,j1) führt zum Vorläufer (m-3,j2). Man hat dabei die Möglichkeit, den Umriß weiter mit Hilfe des Koppelvektors v(i,j) rückwärts aufzuspüren. Der Vorläufer des Punktes (i,j) ist schließlich (i-1,v(i,j)).
  • Wenn auf diese Weise fortgeschritten wird, ist der optimale Weg vom Endpunkt (m,j1) rückwärts aufgespürt. In Fig. 3 wird der optimale Weg mit der Bezugsziffer 1 bezeichnet. Der optimale Weg reproduziert daher den Verlauf der Grundfrequenz über das gesamte Sprachsignal.
  • Das Glied k(fj(i),fh*(i)) ist ein Kostenparameter, der nachstehend näher erläutert wird. Für jeden Punkt (i,j) wird ein berechneter Wert fh* (i) für die Grundfrequenz im Zeitsegment i unter Verwendung nachstehender Formel bestimmt:
  • a&sub0; ist eine Konstante, die kleiner als Null ist. Diese Konstante berücksichtigt, daß der Grundfrequenzverlauf zeitlich gesehen vorherrschend fallend ist (Deklination). Weiter ist a&sub1; ≠ 0. Vorzugsweise ist a&sub1; = 1. Wenn alle Koeffizienten az gleich Null sind, ist der berechnete Wert fh* (i) für die Grundfrequenz nur durch die Grundfrequenz fh zum Zeitpunkt i-1 bestimmt: oder
  • Wenn eine Anzahl von Koeffizienten az ungleich Null ist, ist f&sub1;(i-z) der Wert für die Grundfrequenz zum Zeitpunkt i-z, der auf einem Unterweg liegt, der über die Koppelvektoren v(i,j) der Grundfrequenz f&sub1;(i-z) zum Zeitpunkt i-z nach der Grundfrequenz fh(i-1) zum Zeitpunkt i-1 führt.
  • Ein Beispiel (siehe Fig. 3 in diesem Zusammenhang):
  • Angenommen sei, daß der berechnete Wert fh*(i) für den Punkt P&sub3; bestimmt werden muß, wobei vom Umriß ausgegangen wird, der nach dem Punkt P&sub4; mit den Koordinaten (i-1,h) führt. f&sub1;(i-2) ist dabei die Grundfrequenz, die mit dem Punkt P&sub5; verknüpft ist, der der Vorläufer der Punktes P&sub4; ist. f&sub1;(i-3) ist dabei die Grundfrequenz, die mit dem Punkt P&sub6; verknüpft ist, der der Vorläufer von P&sub5; ist. Der berechnete Wert ist jetzt beispielsweise der Funkt P&sub3;. Der Kostenpaaameter k(fj(i), fh*(i)) kann beispielsweise mit Hilfe nachstehender Formel bestimmt werden:
  • Das bedeutet, daß der Wert des Kostenfaktors größer ist, wenn der Wert fj(i) vom berechneten Wert fh*(i) abweicht.
  • Es sei hier bemerkt, daß die vorgenannten ersten, zweiten und dritten Schritte im Verfahren nicht notwendigerweise einer nach dem anderen durchgeführt werden müssen. Es ist sehr wohl möglich, daß Aufgaben des Verfahrens zeitlich gesehen aus dem ersten Schritt parallel zu Aufgaben des Verfahrens aus dem dritten Schritt durchgeführt werden.
  • Sobald die Paßmaße p(i,j) beispielsweise im ersten Schritt für ein besonderes Zeitsegment i bestimmt sind, können die Summierwerte sh(i,j) parallel mit der Bestimmung der Paßmaße p(i+1,j) bestimmt werden.
  • In Fig. 4 ist schematisch eine Anordnung zur Durchführung des Verfahrens dargestellt. Die Anordnung enthält eine Eingangsklemme 2 zum Empfangen eines elektrischen Sprachsignals, die mit einem Eingang 3 einer ersten Einheit 4 gekoppelt ist, in der die Paßmaße p(i,j) bestimmt werden. Die Paßmaße p(1,j) gelangen über den Leiter 5 nach einem Eingang 6 eines ersten Speichers 7 und sind hier als die Werte ms(1,j) gespeichert. Alle Paßmaße p(i,j) werden zusätzlich über den Leiter 8 nach einem Eingang 9 einer dritten Einheit 10 geführt, die zum Bestimmen der Summierwerte sh(i,j) und zum Bestimmen der Werte ms(i,j) ausgerüstet ist, für die i ≥ 2 ist. Diese Werte gelangen über den Leiter 11 nach einem zweiten Eingang 12 des ersten Speichers 7. Zusätzlich liefert der Speicher 7 über einen Leiter 11' die Werte ms(i-1,j) an die Einheit 10 zur Bestimmung der Werte sh(i,j) entsprechend der Formel (1).
  • Die dritte Einheit 10 ist weiter zum Bestimmen der Koppelvektoren v(i,j) ausgelegt, für die i ≥ 2 ist. Die zu den Koppelvektoren gehörende Information gelangt über den Leiter 13 an einen Eingang 14 eines zweiten Speichers 16, in dem diese Information gespeichert ist.
  • Ein Ausgang 16 des zweiten Speichers 15 ist mit einem Eingang 17 einer vierten Einheit 18 gekoppelt. Diese vierte Einheit ist zum Bestimmen des berechneten Wertes fh *(i) entsprechend der Formel (2) ausgerüstet. Wenn der berechnete Wert fh* (i) entsprechend der vereinfachten Formel (3) bestimmt wird, ist diese Verbindung des zweiten Speichers mit der vierten Einheit 18 überflüssig, da zum Bestimmen von fh*(i) keine Koppelvektoren erforderlich sind. Der berechnete Wert fh*(i) gelangt über den Leiter 19 an den Eingang 20 der fünften Einheit 21. Die fünfte Einheit 21 berechnet den Wert des Kostenparameters k(fj(i),fh*(i)) entsprechend der Formel (4). Dieser Wert gelangt über den Leiter 22 an einen zweiten Eingang 23 der dritten Einheit 10 und wird in der genannten dritten Einheit 10 zum Berechnen der Summierwerte sh(i,j) verwendet.
  • Ein Ausgang 24 des ersten Speichers 7 ist mit einem Eingang 25 eines den Mindestwert bestimmenden Geräts 26 gekoppelt. Nachdem alle Werte ms(i,j) bestimmt wurden, sind die Werte ms(m,j) noch immer im Speicher 7 gespeichert. Die Werte ms(m,j) gelangen an das den Mindestwert bestimmende Gerät 26. Letztgenanntes bestimmt den kleinsten Wert der n Werte ms(m,j). Der mit diesem niedrigsten Wert verknüpfte Index j1 gelangt an den Ausgang 27 und an den Adreßeingang 29 des zweiten Speichers 15 über eine Schaltereinheit 28. Der Index i=m erscheint an einem zweiten Adreßeingang 30. Das bedeutet, daß der zweite Speicher 15 den Koppelvektor v(m,j1) an den Ausgang 16 ausgibt. Also gelangt der Koppelvektor an eine sechste Einheit 31, die den Index j=j1 für den Zeitpunkt m-1 aus dem Koppelvektor v(m,j1) ableitete. Mit der Schaltereinheit 28 in der anderen Stellung erscheint der Index jetzt am Adreßeingang 29 und der Index i=m-1 erscheint über den Adreßeingang 30. Der zweite Speicher 15 gibt jetzt den Koppelvektor v(m-1,j1) an den Ausgang 16 ab. Die sechste Einheit 31 liefert dabei den Index j=j1 an den Adreßeingang 29. Der Index i=m-2 wird dabei an den Adreßeingang 30 gelegt. Der Speicher 15 liefert den Koppelvektor v(m-2,j1) an die sechste Einheit 31. Der zweite Speicher 15 liefert dabei den Koppelvektor v(m-3,j2) unter dem Einfluß der Indizes i=m-3, j=j2. Dies geht so weiter, bis der Index i=1 erreicht wird. Eine Reihe von Indizes j, die in umgekehrter zeitlicher Folge ein Maß für den Verlauf des Sprachparameters (Grundfrequenz) in Abhängigkeit von der Zeit ist, gelangt an den Ausgang 32.
  • In Fig. 4 sind nur die erforderlichsten Elemente und Verbindungen dargestellt. Für die Entität zum zufriedenstellenden Arbeiten soll eine Steuereinheit (nicht dargestellt), die verschiedene Steuersignale und Adreßsignale an die verschiedenen Einheiten aussendet, selbstverständlich vorhanden sein. In Fig. 4 sind bei weitem nicht alle dieser Steuersignale und Adressiersignale angegeben. Dem versierten Fachmann wird es deutlich sein, daß, wo Steuer- und Adressiersignale erforderlich sind, diese ebenfalls durch die Steuereinheit erzeugt und der betreffenden Einheit zugeführt werden. Also ist es beispielsweise klar, daß die dritte Einheit zehn Adressiersignale in Form der Indizes i,j und h zum Bestimmen der Summierwerte sh(i,j) entsprechend der Formel (1) erfordert.
  • Es sei bemerkt, daß sich die Erfindung nicht ausschließlich auf das vorgeführte Ausführungsbeispiel beschränkt. Die Erfindung ist gleichermaßen für solche Verfahren oder Anordnungen anwendbar, die vom Verfahren oder der Anordnung abweichen, die in nicht mit der Erfindung zusammenhängenden Punkten beschrieben ist.
  • Also ist es beispielsweise möglich, das Paßmaß im ersten Schritt des Verfahrens auf andere als auf die beschriebene Weise zu bestimmen. In diesem Zusammenhang läßt sich die Verwendung eines AMDF-Verfahrens (average magnitude difference function) erwähnen. Weiter ist oben eine Minimalisierungsvorgang beschrieben. Andererseits ist es auch möglich, ein Maximallsierungsverfahren zu verwenden.

Claims (8)

1. Verfahren zum Bestimmen der in einem Sprachsignal zeitlich abhängigen Schwankung in einem Sprachparameter, dadurch gekennzeichnet, daß
(i) in einem ersten Schritt
- Zeitsegmente des Sprachsignals zu m Zeitpunkten aus dem Sprachsignal abgeleitet werden, die einer dem anderen in regelmäßigen Abständen folgen,
- und aus jedem Zeitsegment i (1 ≤ i ≤ m) ein Paßmaß p(i,j) abgeleitet wird, das mit dem Zeitsegment verknüpft ist und für eine Reihe van n möglichen Werten für den Sprachparameter anzeigt, wie gut ein gewählter Wert fj für den Sprachparameter (1 ≤ j ≤ n) zum Sprachsignal des betreffenden Zeitsegments i paßt,
(ii) in einem zweiten Schritt
zum Zeitpunkt i=1 und bei jedem der n möglichen Werte fj für den Sprachpaaameter ein mit dem Sprachparameter verknüpfter Wert ms(1,j) gleich p(1,j) in einen Speicher eingeschrieben wird,
(iii) in einem dritten Schritt
- zu einem bestimmten Zeitpunkt i(> 1) und bei einem bestimmten möglichen Wert fj für den Sprachparameter eine Anzahl von Summenwerten sh(i,j) entsprechend der Formel
sh(i,j) = p(i,j) + ms(i-1,h) + k(fj(i),fh*(i))
abgeleitet wird, worin h den Bereich von x bis y einschl. darstellt, und wobei für x und y gilt
1 ≤ x ≤ j,j ≤ y ≤ n und x ≠ y,
- von allen y-x+1 Summenwerten sh(i,j) der optimale Summenwert in den vorgenannten Speicher als der Wert ms(i,j) eingeschrieben wird, und zusätzlich ein Koppelvektor v(i,j), der auf den Wert fh(i-1) des Sprachparameters zum Zeitpunkt i-1 verweist, und dieser Wert für den betreffenden Index h entsprechend obiger Formel den optimalen
Summenwert ergibt, in einen Speicher eingeschrieben wird,
(iv) daß der dritte Schritt für alle anderen Indizes j zum Zeitpunkt i wiederholt wird,
(v) daß der dritte Schritt für alle Indizes zu einem auffolgenden Zeitpunkt i+1 wiederholt wird,
(vi) und daß k(fj(i),fh*(i)) ein Kostenparameter ist, der ein Maß für die Abweichung des Sprachparameters fj(i) zum Zeitpunkt i in bezug auf einen vorausgesagten Wert fh*(i) für den Sprachparameter zum Zeitpunkt i ist, wobei dieser vorausgesagte Wert wenigstens aus dem Sprachparameterwert fh(i-1) zum Zeitpunkt i-1 abgeleitet und entsprechend nachstehender Formel bestimmt wird
worin a&sub0; eine Konstante kleiner als Null ist, und wenn r ≥ 2 ist, so ist f&sub1;(i-z) der Wert für den Sprachparameter zum Zeitpunkt 1-z, und dieser Wert liegt auf einem Unterweg, der über die Koppelvektoren v(i,j) zum Sprachparameter fh(i-1) zum Zeitpunkt i-1 führt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß fh* (i) entsprechend nachstehender Formel bestimmt wird:
fh* (i) = a&sub0; + a&sub1;.fh(i-1).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Kostenparameter k(fj(i), fh*(i)) entsprechend nachstehender Formel bestimmt wird:
k(fj(i), fh*(i)) = b(fj(i) - fh*(i))².
4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß im ersten Schritt die Paßmasse p(i,j) durch Verwendung eines Harmonischenfilters abgeleitet werden.
5. Verfahren nach einem oder mehreren der vorangehenden Ansprüche, dadurch gekennzeichnet, daß der Sprachparameter die Grundfrequenz ist.
6. Verfahren nach einem oder mehreren der vorangehenden Ansprüche, dadurch gekennzeichnet, daß in einem vierten Schritt
- der optimale Wert ms(m,j1) aus den n Werten ms(m,j) bestimmt wird,
- der Koppelvektor v(m,j1) in Verknüpfung mit dem optimalen Wert ms(m,j1) danach aus dem Speicher ausgelesen wird,
- der Koppelvektor v(i-1,v(i,j)) ausgelesen wird, der mit dem Zeitsegment i-1 verknüpft ist und den Wert v(i,j)=h des Sprachparameters besitzt, auf den der mit dem Zeitsegment i verknüpfte Koppelvektor v(i,j) verweist, wobei i abwärts von m-1 nach 1 einschl. läuft,
- wobei die Reihe auf diese Weise gewonnener auffolgender Werte für den Sprachparameter ausgelesen oder wahlweise gespeichert wird.
7. Anordnung zum Durchführen des Verfahrens nach einem oder mehreren der vorangehenden Ansprüche mit einer Eingangsklemme zum Empfangen eines Sprachsignals,
dadurch gekennzeichnet, daß die Anordnung weiter folgende Elemente umfaßt:
- eine erste Einheit zum Ableiten von Zeitsegmenten aus dem Sprachsignal zu einem dem anderen in regelmäßigen Zeitabständen folgenden n Zeitpunkten und zum Ableiten der mit einem Zeitsegment verknüpften Paßmasse p(i,j) aus jedem Zeitsegment,
- eine zweite Einheit zum Ableiten der Werte ms(i,j),
- eine dritte Einheit zum Bestimmen der Summenwerte sh(i,j) und zum Bestimmen des optimalen Summenwerts ms(i,j) für alle y-x+1 Summenwerte, die mit einem besonderen Index (i,j) verknüpft sind, worin i≠1 ist,
- einen ersten Speicher zum Einschreiben des Wertes ms(i,j) darin,
- einen zweiten Speicher zum Speichern der Koppelvektoren v(i,j),
- eine vierte Einheit zum Bestimmen des vorausgesagten Wertes fh*(i) den Sprachparameter, und
- eine fünfte Einheit zum Bestimmen des Kostenparameters k(fj(i), fh*(i)).
8. Anordnung nach Anspruch 7 zum Durchführen des Verfahrens nach Anspruch 4, dadurch gekennzeichnet, daß die erste Einheit ein Harmonischensieb enthält.
DE8888201554T 1987-07-30 1988-07-18 Verfahren und einrichtung zur bestimmung des verlaufs eines sprachparameters, zum beispiel die grundfrequenz in einem sprachsignal. Expired - Fee Related DE3871648T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8701798A NL8701798A (nl) 1987-07-30 1987-07-30 Werkwijze en inrichting voor het bepalen van het verloop van een spraakparameter, bijvoorbeeld de toonhoogte, in een spraaksignaal.

Publications (2)

Publication Number Publication Date
DE3871648D1 DE3871648D1 (de) 1992-07-09
DE3871648T2 true DE3871648T2 (de) 1993-01-21

Family

ID=19850395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8888201554T Expired - Fee Related DE3871648T2 (de) 1987-07-30 1988-07-18 Verfahren und einrichtung zur bestimmung des verlaufs eines sprachparameters, zum beispiel die grundfrequenz in einem sprachsignal.

Country Status (5)

Country Link
US (1) US4989247A (de)
EP (1) EP0303312B1 (de)
JP (1) JPS6445000A (de)
DE (1) DE3871648T2 (de)
NL (1) NL8701798A (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226108A (en) * 1990-09-20 1993-07-06 Digital Voice Systems, Inc. Processing a speech signal with estimated pitch
US5704000A (en) * 1994-11-10 1997-12-30 Hughes Electronics Robust pitch estimation method and device for telephone speech
AU696092B2 (en) * 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
US5754974A (en) * 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US5960387A (en) * 1997-06-12 1999-09-28 Motorola, Inc. Method and apparatus for compressing and decompressing a voice message in a voice messaging system
US5999897A (en) * 1997-11-14 1999-12-07 Comsat Corporation Method and apparatus for pitch estimation using perception based analysis by synthesis
US6840334B2 (en) 2002-10-23 2005-01-11 Lonnie L. Marquardt Grader attachment for a skid steer
EP2211335A1 (de) * 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Erhalt eines Parameters, der eine Variation einer Signaleigenschaft eines Signals beschreibt

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004096A (en) * 1975-02-18 1977-01-18 The United States Of America As Represented By The Secretary Of The Army Process for extracting pitch information
NL177950C (nl) * 1978-12-14 1986-07-16 Philips Nv Spraakanalysesysteem voor het bepalen van de toonhoogte in menselijke spraak.
JPS58140798A (ja) * 1982-02-15 1983-08-20 株式会社日立製作所 音声ピツチ抽出方法
US4731846A (en) * 1983-04-13 1988-03-15 Texas Instruments Incorporated Voice messaging system with pitch tracking based on adaptively filtered LPC residual signal
NL8400552A (nl) * 1984-02-22 1985-09-16 Philips Nv Systeem voor het analyseren van menselijke spraak.
DE3640355A1 (de) * 1986-11-26 1988-06-09 Philips Patentverwaltung Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens
US4809334A (en) * 1987-07-09 1989-02-28 Communications Satellite Corporation Method for detection and correction of errors in speech pitch period estimates

Also Published As

Publication number Publication date
DE3871648D1 (de) 1992-07-09
JPS6445000A (en) 1989-02-17
EP0303312A1 (de) 1989-02-15
EP0303312B1 (de) 1992-06-03
NL8701798A (nl) 1989-02-16
US4989247A (en) 1991-01-29

Similar Documents

Publication Publication Date Title
DE3936329C2 (de)
DE3306730C2 (de)
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE4397106B4 (de) Schnelles auf einer Baumstruktur basierendes Verfahren zur Vektorquantisierung
DE69615832T2 (de) Sprachsynthese mit wellenformen
DE69818275T2 (de) Qualitätsmessung der schweissung
DE2233872C2 (de) Verfahren zur Bestimmung der Grundwellenperiode eines Sprachsignals
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE69431445T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE3852678T2 (de) Mustererkennung.
DE2347738A1 (de) Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben
DE3871648T2 (de) Verfahren und einrichtung zur bestimmung des verlaufs eines sprachparameters, zum beispiel die grundfrequenz in einem sprachsignal.
DE69516522T2 (de) Verfahren zur Synthetisierung eines Sprachsignalblocks in einem CELP-Kodierer
DE2104265A1 (de) Verfahren und Vorrichtung zur Kenn zeichnung der Schwankung einer abhangigen Variablen gegenüber einer unabhängigen Variablen
DE19804198B4 (de) Elektronisches Nivelliergerät
DE102014003429A1 (de) Kristallphasenidentifikationsverfahren, Kristallphasenidentifikationsvorrichtung und Kristallphasenidentifikationsprogramm
DE3043516C2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE69411407T2 (de) Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl
DE69020736T2 (de) Wellenanalyse.
EP1048025B1 (de) Verfahren zur instrumentellen sprachqualitätsbestimmung
DE3347456A1 (de) Verfahren zur sofortigen verarbeitung des winkelfluktuationsrauschens sowie verfolgungs-monopuls-radarempfaenger, in dem dieses verfahren zur anwendung kommt
EP0844591A1 (de) Verfahren zur Bestimmung von Massstabsfaktoren für fraktale Bildkodierung
EP0272723B1 (de) Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters und Anordnung zur Durchführung des Verfahrens
DE2939077C2 (de) Verfahren und Anordnung zum Bestimmen charakteristischer Werte aus einem zeitbegrenzten Geräuschsignal
DE2431458C2 (de) Verfahren und Anordnung zur automatischen Sprechererkennung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL

8339 Ceased/non-payment of the annual fee