DE10253868B3 - Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points - Google Patents
Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points Download PDFInfo
- Publication number
- DE10253868B3 DE10253868B3 DE2002153868 DE10253868A DE10253868B3 DE 10253868 B3 DE10253868 B3 DE 10253868B3 DE 2002153868 DE2002153868 DE 2002153868 DE 10253868 A DE10253868 A DE 10253868A DE 10253868 B3 DE10253868 B3 DE 10253868B3
- Authority
- DE
- Germany
- Prior art keywords
- synchronization
- test
- pattern
- patterns
- fragments
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
Abstract
Description
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Synchronisation von Test- und Referenzmustern sowie ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium, welche insbesondere einsetzbar sind zum Auffinden von sprachbasierten Stichworten oder Notizen.The invention relates to a method and an arrangement for the synchronization of test and reference patterns and a corresponding computer program product and a corresponding one computer-readable storage medium, which can be used in particular are for finding language-based keywords or notes.
Verfahren zum Vergleich von Sprachmustern
kommen bereits in Word-spotting Anwendungen, Spracherkennungssystemen
oder beispielsweise in Stichwortsuchverfahren, wie in der Patentanmeldung
Aus
In einem typischen, herkömmlichen
System zum Vergleich von Sprachmustern werden die akustischen Sprachsignale
mittels Mikrofon in analoge, elektrische Signale umgewandelt. Die
analogen Signale werden abgetastet und digitalisiert. Die so gewonnenen
Werte werden in eine Folge von gleichgroßen Zeitsegmenten von typischerweise
10 bis 20 ms aufgeteilt.
In der Literatur sind eine Vielzahl von Abstandsfunktionen vorgeschlagen worden. Ein klassisches Abstandsmaß ist der quadrierte euklidische Abstand: hierbei ist an(i) das n-te Element der N Elemente des Merkmalsvektors a(i); bn(j,k) das n-te Element des Merkmalsvektors b(j,k).A variety of distance functions have been proposed in the literature. A classic distance measure is the squared Euclidean distance: here a n (i) is the nth element of the N elements of the feature vector a (i); b n (j, k) the nth element of the feature vector b (j, k).
In der einfachsten Form der Zeitanpassung
werden alle Abstandswerte d(i,j,k), i = 1 bis I, j = 1 bis J ermittelt.
Anschließend
werden, ausgehend vom Startpunkt i = 1, j = 1, die möglichen
Pfade durchprobiert. Zu jedem Pfad wird die Summe D (1,k) der Abstandswerte
d (i,j,k) der durchlaufenen Zeitsegmentpaare (i,j) gebildet. Der
Pfad mit der kleinsten Summe Dmin(
In Abhängigkeit von der Anwendung wird z. B. nach dem ersten Referenzmuster k aus einer Menge von Referenzmustern gesucht, bei welchem die Summe des optimalen Pfades Dmin(k) kleiner als ein Schwellenwert ist. Bei anderen Anwendungen wird nach dem Referenzmuster k mit dem kleinsten Dmin(k) aller Referenzmuster einer gegebenen Menge gesucht. In wieder anderen Applikationen werden die n besten Treffer, d. h. die n Referenzmuster mit den kleinsten Summen Dmin(k) benötigt.Depending on the application, e.g. B. is looking for the first reference pattern k from a set of reference patterns, in which the sum of the optimal path D min (k) is less than a threshold value. In other applications, the reference pattern k with the smallest D min (k) of all reference patterns of a given set is searched for. In still other applications, the best n hits, i.e. H. which requires n reference samples with the smallest sums D min (k).
Die Berechnung aller Abstandswerte
d(i,j,k) und das Durchprobieren aller möglichen Pfade erfordert einen
großen
Rechenaufwand. Die Anzahl der möglichen
Pfade und damit der Suchraum werden daher in realen Systemen eingeschränkt. Eine
erste Einschränkung
ist, dass in einem Pfad bei jedem Schritt mindestens ein Index,
i oder j, oder auch beide gleichzeitig erhöht werden. Eine Rückwärtsbewegung
ist dadurch ausgeschlossen. Eine weitere mögliche Einschränkung betrifft
die Schrittweite der Indizes i oder j bei jedem einzelnen Schritt
(z. B. auf 1), eine andere Einschränkung begrenzt die Anzahl aufeinanderfolgender
Schritte parallel zu einer Achse. Bei wieder anderen Anwendungen
wird die Suche auf die Diagonale und eine vorgegebene Anzahl von
Zeitsegmenten beiderseits der Diagonale begrenzt. Im Laufe der Zeit
wurde eine Vielzahl von weiteren Einschränkungen vorgeschlagen und verwendet.
Dennoch ist der Rechenaufwand, insbesondere in dem Fall, dass viele
Referenzmuster vorliegen, erheblich.
Ein weiteres Problem ist die Festlegung
der Wortgrenzen. Gängige
Verfahren bestimmen bei einzeln gesprochenen Worten die Wortgrenzen
anhand des Energiegehaltes mehrerer aufeinanderfolgender Segmente.
Anfang und Ende eines Wortes sind wegen des geringen Energiegehaltes
mancher Wortanfänge
Zur Reduzierung des Rechenaufwandes ist es weiterhin von Vorteil, wenn die Anzahl der zu vergleichenden Referenzmuster durch eine Vorauswahl beschränkt werden kann.To reduce the computing effort it is still an advantage if the number of to be compared Reference samples can be limited by a pre-selection.
Die Aufgabe der Erfindung besteht deshalb darin, die erwähnten Nachteile der bekannten Lösung zu beheben und insbesondere ein Verfahren und eine Anordnung zur Synchronisation von Test- und Referenzmustern sowie ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium bereitzustellen, welche den Rechenaufwand bei der Zeitanpassung reduzieren. Ein weiteres Ziel der Erfindung ist es, die Präzision bei der Bestimmung der Wortgrenzen einzeln gesprochener Worte zu erhöhen sowie eine gegenüber dem Stand der Technik verbesserte Lösung für das Auffinden der Wortgrenzen von Stichworten in fließender Sprache zu schaffen.The object of the invention is therefore in the mentioned Disadvantages of the known solution to fix and in particular a method and an arrangement for Synchronization of test and reference patterns as well as a corresponding one Computer program product and a corresponding computer-readable storage medium To provide, which the computing effort in the time adjustment to reduce. Another object of the invention is to be precise determining the word boundaries of individually spoken words; and one opposite the prior art improved solution for finding the word boundaries of Keywords in fluent Creating language.
Diese Aufgabe wird erfindungsgemäß gelöst durch die Merkmale im kennzeichnenden Teil der Ansprüche 1, 35 und 41 bis 43 im Zusammenwirken mit den Merkmalen im Oberbegriff. Zweckmäßige Ausgestaltungen der Erfindung sind in den Unteransprüchen enthalten.According to the invention, this object is achieved by the features in the characterizing part of claims 1, 35 and 41 to 43 in Interaction with the features in the generic term. Appropriate configurations the invention are contained in the subclaims.
Ein besonderer Vorteil des Verfahrens zur Synchronisation von Test- und Referenzmustern, insbesondere zur Synchronisation von Sprachmustern, wobei Test- und Referenzmuster jeweils als Folge A = (a(1), a(2),..., a (I)) bzw. B = (b(1) , b(2) ,..., b(J)) von (Zeitsegmenten zugeordneten) Merkmalsvektoren a(i) (i = 1, 2, ..., I) bzw. b (j) (j = 1, 2,..., J) vorliegen, besteht darin, daß der Rechenaufwand bei der Zeitanpassung reduziert wird, indem die Synchronisation über in den Test- und Referenzmustern vorgegebene und/oder automatisch ermittelte Synchronisationspunkte (SP) erfolgt, wobei
- – ein Teil der Merkmalsvektoren b(j) der Referenzmuster als Referenz-SP ausgezeichnet wird,
- – die Merkmalsvektoren a(i) eines Testmusters nach vorgebbaren Merkmalen durchsucht und diejenigen Merkmalsvektoren als potentielle SP gekennzeichnet werden, welche mindestens eins der vorgegebenen Merkmale aufweisen,
- – wenigstens ein Teil der ermittelten potentiellen SP gemäß vorgebbaren Regeln einem oder mehreren Referenz-SP zugeordnet wird und
- – bei Erfüllung vorgebbarer Kriterien die Synchronisation von Test- und Referenzmuster über einander zugeordnete SP automatisch hergestellt wird.
- Part of the feature vectors b (j) of the reference pattern is marked as a reference SP,
- The feature vectors a (i) of a test pattern are searched for predefinable features and those feature vectors are identified as potential SPs which have at least one of the predefined features,
- - At least part of the potential SP determined is assigned to one or more reference SP according to predefinable rules and
- - If predefined criteria are met, the synchronization of test and reference patterns is automatically established via mutually assigned SP.
Eine Anordnung zur Synchronisation von Test- und Referenzmustern ist vorteilhafterweise so eingerichtet, daß sie mindestens einen Prozessor umfaßt, der (die) derart eingerichtet ist (sind), daß ein Verfahren zur Synchronisation von Test- und Referenzmustern, insbesondere zur Synchronisation von Sprachmustern, wobei Test- und Referenzmuster jeweils als Folge A = (a(1), a(2),..., a(I)) bzw. B = (b(1), b(2),..., b(J)) von (Zeitsegmenten zugeordneten) Merkmalsvektoren a(i) (i = 1, 2,..., I) bzw. b (j) (j = 1, 2,..., J) vorliegen, durchführbar ist, wobei die Synchronisation über in den Test- und Referenzmustern vorgegebene und/oder automatisch ermittelte Synchronisationspunkte (SP) erfolgt, wobei
- – ein Teil der Merkmalsvektoren b(j) der Referenzmuster als Referenz-SP ausgezeichnet wird,
- – die Merkmalsvektoren a(i) eines Testmusters nach vorgebbaren Merkmalen durchsucht und diejenigen Merkmalsvektoren als potentielle SP gekennzeichnet werden, welche mindestens eins der vorgegebenen Merkmale aufweisen,
- – wenigstens ein Teil der ermittelten potentiellen SP gemäß vorgebbaren Regeln einem oder mehreren Referenz-SP zugeordnet wird und
- – bei Erfüllung vorgebbarer Kriterien die Synchronisation von Test- und Referenzmuster über einander zugeordnete SP automatisch hergestellt wird.
- Part of the feature vectors b (j) of the reference pattern is marked as a reference SP,
- The feature vectors a (i) of a test pattern are searched for predefinable features and those feature vectors are identified as potential SPs which have at least one of the predefined features,
- - At least part of the potential SP determined is assigned to one or more reference SP according to predefinable rules and
- - If predefined criteria are met, the synchronization of test and reference patterns is automatically established via mutually assigned SP.
Ein Computerprogrammprodukt zur Synchronisation von Test- und Referenzmustern umfaßt ein computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Synchronisation von Test- und Referenzmustern, insbesondere zur Synchronisation von Sprachmu stern, wobei Test- und Referenzmuster jeweils als Folge A = (a(1), a(2),..., a(I)) bzw. B = (b(1), b(2),..., b(J)) von (Zeitsegmenten zugeordneten) Merkmalsvektoren a (i) (i = 1, 2,..., I) bzw. b (j) (j = 1, 2,..., J) vorliegen, durchzuführen, wobei die Synchronisation über in den Test- und Referenzmustern vorgegebene und/oder automatisch ermittelte Synchronisationspunkte (SP) erfolgt, wobei
- – ein Teil der Merkmalsvektoren b(j) der Referenzmuster als Referenz-SP ausgezeichnet wird,
- – die Merkmalsvektoren a(i) eines Testmusters nach vorgebbaren Merkmalen durchsucht und diejenigen Merkmalsvektoren als potentielle SP gekennzeichnet werden, welche mindestens eins der vorgegebenen Merkmale aufweisen,
- – wenigstens ein Teil der ermittelten potentiellen SP gemäß vorgebbaren Regeln einem oder mehreren Referenz-SP zugeordnet wird und
- – bei Erfüllung vorgebbarer Kriterien die Synchronisation von Test- und Referenzmuster über einander zugeordnete SP automatisch hergestellt wird.
- Part of the feature vectors b (j) of the reference pattern is marked as a reference SP,
- The feature vectors a (i) of a test pattern are searched for predefinable features and those feature vectors are identified as potential SPs which have at least one of the predefined features,
- - At least part of the potential SP determined is assigned to one or more reference SP according to predefinable rules and
- - If predefined criteria are met, the synchronization of test and reference patterns is automatically established via mutually assigned SP.
Um eine Synchronisation von Test- und Referenzmustern durchzuführen, wird vorteilhafterweise ein computerlesbares Speichermedium eingesetzt, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Synchronisation von Test- und Referenzmustern, insbesondere zur Synchronisation von Sprachmustern, wobei Test- und Referenzmuster jeweils als Folge A = (a(1), a(2),..., a(I)) bzw. B = (b(1), b(2),..., b(J)) von (Zeitsegmenten zugeordneten) Merkmalsvektoren a(i) (i = 1, 2,..., I) bzw. b(j) (j = 1, 2,..., J) vorliegen, durchzuführen, wobei die Synchronisation über in den Test- und Referenzmustern vorgegebene und/oder automatisch ermittelte Synchronisationspunkte (SP) erfolgt, wobei
- – ein Teil der Merkmalsvektoren b(j) der Referenzmuster als Referenz-SP ausgezeichnet wird,
- – die Merkmalsvektoren a(i) eines Testmusters nach vorgebbaren Merkmalen durchsucht und diejenigen Merkmalsvektoren als potentielle SP gekennzeichnet werden, welche mindestens eins der vorgegebenen Merkmale aufweisen,
- – wenigstens ein Teil der ermittelten potentiellen SP gemäß vorgebbaren Regeln einem oder mehreren Referenz-SP zugeordnet wird und
- – bei Erfüllung vorgebbarer Kriterien die Synchronisation von Test- und Referenzmuster über einander zugeordnete SP automatisch hergestellt wird.
- Part of the feature vectors b (j) of the reference pattern is marked as a reference SP,
- The feature vectors a (i) of a test pattern are searched for predefinable features and those feature vectors are identified as potential SPs which have at least one of the predefined features,
- - At least part of the potential SP determined is assigned to one or more reference SP according to predefinable rules and
- - If predefined criteria are met, the synchronization of test and reference patterns is automatically established via mutually assigned SP.
In einer bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß die Ermittlung potentieller SP anhand folgender Merkmale erfolgt:
- – Differenz der Energie von aufeinanderfolgenden Zeitsegmenten und/oder
- – Differenz der Energie bestimmter Frequenzbänder von aufeinanderfolgenden Zeitsegmenten und/oder
- – Änderung der Anzahl der Nulldurchgänge des Sprachsignals in aufeinanderfolgenden Zeitsegmenten und/oder
- – anhand von Cepstrum-, LPC- und/oder PARLOR-Koeffizienten und/oder anhand der Ableitungen dieser Koeffizienten.
- - Difference in energy from successive time segments and / or
- - Difference in the energy of certain frequency bands from successive time segments and / or
- - Change the number of zero crossings of the speech signal in successive time segments and / or
- - on the basis of cepstrum, LPC and / or PARLOR coefficients and / or on the derivatives of these coefficients.
Vorteilhafterweise werden zur Ermittlung potentieller SP Frequenzbänder unterschiedlich gewichtet.Advantageously, for the determination potential SP frequency bands weighted differently.
In einer anderen bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß die vorgebbaren Regeln für die Zuordnung potentieller SP zu Referenz-SP für wenigstens einen Teil der ermittelten potentiellen SP eine Analyse zusätzlicher, vorzugsweise in zeitlicher Umgebung der potentiellen SP angeordneter Merkmalsvektoren des Testmusters vorschreiben und eine Zuordnung von potentiellen SP zu Referenz-SP in Abhängigkeit der Ergebnisse dieser Analyse erfolgt.In another preferred embodiment the invention provides that the predefinable rules for the assignment potential SP to reference SP for at least part of the potential SP determined an analysis additional, preferably arranged in the temporal environment of the potential SP Prescribe feature vectors of the test pattern and an assignment from potential SP to reference SP depending on the results of these Analysis is done.
Eine weitere Ausführungsform benutzt eine der bekannten Glättungsfunktionen bei der Berechnung der oben aufgeführten Differenzen bzw. Ableitungen.Another embodiment uses one of the known smoothing functions when calculating the differences or derivatives listed above.
Eine weitere Ausführungsform des erfindungsgemäßen Verfahrens sieht vor, daß die zur Ermittlung potentieller SP analysierten Merkmale miteinander kombiniert und/ oder mit mathematische Funktionen, wie insbesondere der Logarithmus-Funktion, verknüpft werden.Another embodiment of the method according to the invention stipulates that the to determine potential SP analyzed features with each other combined and / or with mathematical functions, such as in particular the logarithm function become.
Es erweist sich als Vorteil, wenn die Synchronisation die Ermittlung eines Grades der Ähnlichkeit (score) von Referenz- und Testmuster umfasst.It turns out to be an advantage if the synchronization the determination of a degree of similarity (score) of reference and test samples.
Darüber hinaus erweist es sich als Vorteil, wenn Stoppkonsonanten und/oder Explosivlaute charakterisierende Merkmalsvektoren als Referenz-Synchronisationspunkte dienen.It also proves to be an advantage if stop consonants and / or explosive sounds are characteristic feature vectors serving as reference synchronization points.
Eine andere bevorzugte Ausführungsform der Erfindung sieht vor, daß nach erfolgter Synchronisation das oder die ermittelten Referenzmuster und/oder das (die) Testmuster ausgegeben, abrufbar bereitgestellt oder an andere Applikationen übergeben werden oder eine dynamische Zeitanpassung (DTW, Dynamic Time Warping) von Test- und Referenzmuster(n) oder eine Analyse des Testmusters durch ein Hidden-Markov-Modell (HMM) durchgeführt wird und anschließend das oder die ermittelten Referenzmuster und/oder das (die) Testmuster ausgegeben, abrufbar bereitgestellt oder an andere Applikationen übergeben werden. Dabei kann die Ausgabe akustisch und/oder visuell erfolgen.Another preferred embodiment the invention provides that after synchronization has taken place, the determined reference pattern or patterns and / or the test pattern (s) are output, made available or passed to other applications or a dynamic time adjustment (DTW, Dynamic Time Warping) of test and reference pattern (s) or an analysis of the test pattern is carried out by a hidden Markov model (HMM) and then the or the determined reference pattern and / or the test pattern (s) output, made available or handed over to other applications become. The output can be acoustic and / or visual.
Des weiteren ist es von Vorteil, wenn die bei der dynamischen Zeitanpassung berücksichtigte Anzahl der möglichen Pfade und damit der Suchraum eingeschränkt werden, indem in einem Pfad bei jedem Schritt mindestens ein Index, i oder j, um einen vorgebbaren Wert erhöht wird und/oder in einem Pfad bei jedem Schritt beide Indizes gleichzeitig um jeweils vorgebbare Werte erhöht werden und/oder Anzahl aufeinanderfolgender Schritte parallel zu einer Achse beschränkt wird und/ oder die Suche nach dem optimalen Pfad auf die Diagonale und eine vorgegebene Anzahl von Zeitsegmenten beiderseits der Diagonale begrenzt wird und/oder die dynamische Zeitanpassung nur für die Intervalle zwischen den SP ausgeführt wird. Um Ungenauigkeiten bei der Bestimmung der zeitlichen Lage von Synchronisationspunkten zu reduzieren, ist es vorteilhaft, wenn bei einer dynamischen Zeitanpassung für Intervalle zwischen SP der Suchraum erweitert wird, indem dem Suchraum Zeitsegmente aus der zeitlichen Umgebung der SP hinzugefügt werden.It is also an advantage if the number of possible times taken into account in the dynamic time adjustment Paths and thus the search space can be restricted by in one Path at least one index, i or j, to one at each step predeterminable value increased and / or both indexes simultaneously in each step in a path increased by predeterminable values and / or number of successive steps in parallel limited to one axis and / or the search for the optimal path on the diagonal and a predetermined number of time segments on either side of the diagonal is limited and / or the dynamic time adjustment only for the intervals executed between the SP becomes. To inaccuracies in determining the timing of synchronization points, it is advantageous if at dynamic time adjustment for intervals between SP the Search space is expanded by adding time segments from the search space temporal environment of the SP can be added.
Für die Durchführung des erfindungsgemäßen Verfahrens erweist es sich als vorteilhaft, wenn eine dynamische Zeitanpassung (DTW) mittels „Dynamischer Programmierung" (DP) oder mit Hilfe des Viterbi-Algorithmus bzw. von Hidden-Markov-Modellen unter Verwendung der SP zur Synchronisation der DP oder der HMM durchgeführt wird.For the implementation of the method according to the invention it proves to be advantageous if a dynamic time adjustment (DTW) using “Dynamic Programming "(DP) or with the help of the Viterbi algorithm or hidden Markov models using the SP to synchronize the DP or the HMM carried out becomes.
Es erweist sich des weiteren als Vorteil, wenn bei dem Verfahren, insbesondere zur Berechnung von Abstandsfunktionen, folgende Parameter ermittelt werden:
- – Cepstrum-Koeffizienten und/oder
- – LPC-Koeffizienten (Linear Predictive Coding) und/oder
- – PARLOR-Koeffizienten und/oder
- – LAR-Koeffizienten und/oder
- – LSP-Koeffizienten und/oder
- – LSF-Koeffizienten und/oder
- – Spektralenergieverteilung und/oder
- – MEL-Spektrum und/oder
- – Nulldurchgangsrate (zero crossing rate) und/oder
- – Mel- oder Bark-Transformationen der vorgenannten Koeffizienten und/oder
- – zeitliche Ableitungen der vorgenenannten Koeffizienten und/oder ihrer Mel- oder Bark-Transformationen und/oder
- – Kombinationen dieser Koeffizienten und/oder Parameter in geglätteter und ungeglätteter Form.
- - Cepstrum coefficients and / or
- - LPC coefficients (Linear Predictive Coding) and / or
- - PARLOR coefficients and / or
- - LAR coefficients and / or
- - LSP coefficients and / or
- - LSF coefficients and / or
- - spectral energy distribution and / or
- - MEL spectrum and / or
- - zero crossing rate and / or
- - Mel or Bark transformations of the aforementioned coefficients and / or
- - Time derivatives of the aforementioned coefficients and / or their Mel or Bark transformations and / or
- - Combinations of these coefficients and / or parameters in smoothed and unsmoothed form.
Für einen automatische Bestimmung von Wortgrenzen eines Sprachmusters ist es von Vorteil, wenn die Pfadsuche bei der dynamischen Zeitanpassung vom ersten SP eines Testmusters beginnend zum Wortanfang (rückwärts) und/ oder vom letzten SP eines Testmusters beginnend zum Wortende (vorwärts) erfolgt. Ein besonders günstiges Vorgehen bei der Festlegung der Wortgrenzen besteht dabei darin, daß bei einer automatischen Bestimmung von Wortgrenzen eines Sprachmusters die Pfadsuche bei den Zeitsegmenten abgebrochen wird, bei denen sich keine Zuordnungen von Zeitsegmenten finden lassen, für die der Abstandswert d(i,j) und ein vorgebbarer Schwellenwert DS die Bedingung d(i,j) < DS erfüllen, oder wenn der Abstandswert d(i,j) in einer vorgebbaren Anzahl aufeinanderfolgender Zeitsegmente den Schwellenwert DS überschreitet, und die Zeitsegmente, an denen die Suche abgebrochen wurde, als Wortgrenze gekennzeichnet werden. Vorteilhafterweise wird der Schwellenwert DS in Abhängigkeit der Anwendung, vorzugsweise unter Berücksichtigung von Hintergrundgeräuschen, vorgegeben. Hierbei wiederum ist es besonders einfach, wenn der Schwellenwert DS durch Ermittlung der Werte für d() in Sprachpausen bestimmt wird. Die Qualität des Verfahrens kann außerdem dadurch verbessert werden, indem bei Vorhandensein mehrerer, das gleiche Wort repräsentierenden Referenz-Sprachmuster die automatische Bestimmung von Wortgrenzen eines Sprachmusters mit mehreren dieser Referenz-Sprachmuster durchgeführt wird.For an automatic determination of word boundaries of a speech pattern, it is advantageous if the path search for dynamic time adjustment takes place from the first SP of a test pattern beginning at the beginning of the word (backwards) and / or from the last SP of a test pattern beginning at the end of the word (forward). A particularly favorable procedure when determining the word boundaries consists in the fact that when the word boundaries of a speech pattern are automatically determined, the path search is terminated in the time segments for which no assignments of time segments can be found for which the distance value d (i, j) and a predeterminable threshold value D S fulfills the condition d (i, j) <D S , or if the distance value d (i, j) exceeds the threshold value D S in a predeterminable number of successive time segments and the time segments at which the search was terminated was marked as a word boundary. The threshold value D S is advantageously specified as a function of the application, preferably taking into account background noise. Here again, it is particularly simple if the threshold value D S is determined by determining the values for d () in speech pauses. The quality of the method can also be improved by the automatic determination of word boundaries of a speech pattern with several of these reference speech patterns in the presence of a plurality of reference speech patterns representing the same word.
Eine weitere Verbesserung erfährt das Verfahren, wenn Referenz-SP mindestens einer Klasse von Synchronisationsfragmenten (SF) zugeordnet werden, wobei ein SF Merkmalsvektoren umfaßt, welche in zeitlicher Umgebung eines Referenz-SP eines vorgegebenen Referenzmusters angeordnet sind. Eine Klassifikation von SP und/oder Synchronisationsfragmenten erfolgt dabei vorteilhafterweise derart, daß SP und/oder Synchronisationsfragmente mit ansteigender Energie einer ersten Klasse und SP und/oder Synchronisationsfragmente mit abfallender Energie einer zweiten Klasse von SP zugeordnet werden.This is further improved Procedure if reference SP of at least one class of synchronization fragments (SF) are assigned, an SF comprising feature vectors which in the temporal environment of a reference SP of a given reference pattern are arranged. A classification of SP and / or synchronization fragments is advantageously carried out such that SP and / or synchronization fragments with increasing energy of a first class and SP and / or synchronization fragments be assigned to a second class of SP with falling energy.
Von Vorteil ist es weiterhin, wenn Referenzmustern eine Liste von Datenstrukturen (Schablonen) zugeordnet wird, welche Informationen zu Referenz-SP des Referenzmusters, insbesondere Informationen über erfolgte Zuordnungen von SP von Testmustern zu Referenz-SP des Referenzmusters und/ oder über den Grad der Ähnlichkeit (score) von Referenz- und Testmuster umfaßt. Je nach Ausgestaltung des Verfahrens kann eine Liste anfangs durchaus leer sein.It is also advantageous if reference patterns provide a list of data structures (templates) is arranged, which includes information on the reference SP of the reference pattern, in particular information on past assignments of SP from test patterns to reference SP of the reference pattern and / or on the degree of similarity (score) of the reference and test patterns. Depending on the design of the procedure, a list may initially be empty.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispieles näher erläutert. Die zugehörigen Zeichnung zeigen:The invention is described below of an embodiment explained in more detail. The associated drawing demonstrate:
Mögliche Ausführungsformen des erfindungsgemäßen Verfahrens werden durch im folgenden beschriebene Verfahren unter Verwendung einer ebenfalls nachfolgend beschriebenen Vorrichtung realisiert.Possible embodiments of the method according to the invention are used by methods described below a device also described below realized.
Um die Synchronisation zwischen Test- und Referenzmuster herstellen zu können, werden in den Sprachmustern Zeitpunkte gesucht, an denen die Zeitsegmente des Testmusters und des zu vergleichenden Referenzmusters synchronisiert werden können. Diese werden im Folgenden Synchronisationspunkte (SP) genannt. Als SP eignen sich große Sprachenergieänderungen, welche in einem kurzen Zeitintervall erfolgen, oder abrupte spektrale Veränderungen, z. B. Energieänderungen bei Stoppkonsonanten bzw. Explosivlauten. Im Deutschen sind dies u. a. die Konsonanten b, p, d, t, g und k.To ensure synchronization between test and to be able to produce reference samples are in the speech samples Searched for times at which the time segments of the test pattern and of the reference pattern to be compared can be synchronized. This are referred to below as synchronization points (SP). As SP are great Speech energy changes which occur in a short time interval, or abrupt spectral changes, z. B. Energy changes with stop consonants or explosive sounds. In German these are u. a. the consonants b, p, d, t, g and k.
Jedes Testmuster wird nach möglichen SP abgesucht. Dazu wird beispielsweise der Absolutwert der Differenz des Energiegehaltes zweier aufeinanderfolgender Zeitsegmente bestimmt. Überschreitet dieser einen bestimmten Schwellenwert, beispielsweise 1/3 des mittleren Energiegehaltes von z. B. zwanzig umgebenden Zeitsegmente, gilt er als möglicher Synchronisationspunkt. Ebenso eignen sich der Energiegehalt von ausgewählten Frequenzbändern, oder andere Verfahren, die abrupte energetische oder spektrale Veränderungen extrahieren können. Ein Test- oder Referenzmuster kann mehrere SP enthalten. Die SP der Referenzmuster werden vorher bestimmt und zusammen mit deren Merksmalvektoren abgespeichert. Der Vergleich mittels „Dynamische Programmierung" kann anschließend auf die Intervalle zwischen den SP beschränkt werden.Each test pattern is made after possible SP searched. For example, the absolute value of the difference of the energy content of two successive time segments. exceeds this a certain threshold, for example 1/3 of the mean Energy content of e.g. B. twenty surrounding time segments applies he as a possible Synchronization point. The energy content of is also suitable chosen Frequency bands, or other methods that extract abrupt energetic or spectral changes can. A test or reference pattern can contain multiple SP. The SP the reference patterns are determined beforehand and together with their Feature vectors stored. The comparison using “Dynamic Programming " subsequently limited to the intervals between the SP.
Anstelle der „Dynamischen Programmierung" können ebenso Hidden-Markov-Modelle zur Zeitanpassung in allen Varianten des im folgenden beschriebenen beispielhaften erfindungsgemäßen Verfahrens eingesetzt werden.Instead of "dynamic programming" can also Hidden Markov models for time adjustment in all variants of the im The following described exemplary method according to the invention be used.
In
Die Pfadsuche zwischen Wortanfang und erstem Synchronisationspunkt kann rückwärts erfolgen. Sie startet am ersten Synchronisationspunkt und sucht sich einen Pfad, mit den von der vorwärts gerichteten Suche bekannten Einschränkungen bezüglich Schrittweite, usw. zurück zum Wortanfang. Da der Wortanfang der Referenzmuster feststeht, kann die Suche abgebrochen werden, wenn der günstigste Pfad vom ersten Synchronisationspunkt zurück zum Wortbeginn b(1,k) des Referenzmusters gefunden ist. Damit ist das Problem der Bestimmung des Wortanfanges des Testmusters gelöst. Ebenso wird die Suche (vorwärts) des optimalen Pfades im letzten Teil des Testmusters (letzter Synchronisationspunkt bis Wortende) abgebrochen, wenn der optimale Weg zum letzten Vektor b(Jk,k) des jeweiligen Referenzmusters gefunden ist. Damit ist das Problem der Bestimmung des Wortendes gelöst.The path search between the beginning of the word and the first synchronization point can be done in reverse. It starts at the first synchronization point and looks for a path with the restrictions regarding step size, etc. known from the forward search, back to the beginning of the word. Since the beginning of the word of the reference pattern is fixed, the search can be stopped when the most favorable path from the first synchronization point back to the beginning of the word b (1, k) of the reference pattern has been found. This solves the problem of determining the beginning of the word in the test pattern. Likewise, the search (forward) of the optimal path in the last part of the test pattern (last synchronization point to the end of the word) is terminated when the optimal path to the last vector b (J k , k) of the respective reference pattern has been found. This solves the problem of determining the end of the word.
Im nächsten Schritt werden die Sprachparameter
der unmittelbaren Umgebung der Synchronisationspunkte zur Vorauswahl
der zu vergleichenden Referenzmuster benutzt. Dazu werden Klassen
von Synchronisationsfragmenten (SF) um die SP verwendet. In einer
bevorzugten An wendung ist ein SF eine kurze Folge von Merkmalsvektoren
mit einer vorgegebenen Anzahl von Vektoren. Siehe hierzu
Bei einem Suchvorgang werden nach
dem Bestimmen der SP
ausgegeben: So wird z. B. bei Schablonen
Die DTW-Suche kann beispielsweise mit den Referenzworten beginnen, welche die höchste Anzahl von Treffern, das beste Verhältnis von Treffern zu Anzahl der Synchronisationspunkte des Referenzmusters, oder die beste mittlere Ähnlichkeit der Synchronisationsfragmente (SF) des Referenzmusters zu den Synchronisationsfragmenten des Testmusters hat. Die mittlere Ähnlichkeit kann z. B. als Summe der Ähnlichkeiten der einzelnen SF zur jeweiligen Klasse geteilt durch Anzahl der Synchronisationspunkte definiert werden. Hat ein Referenzwort mehrere Synchronisationspunkte, so wird der Vergleich zwischen Referenzmuster und Suchmuster mittels DTW dann begonnen, wenn ein Synchronisationspunkt des Testmusters dem letzten Synchronisationspunkt des Referenzmusters zugeordnet wurde. Ergänzend kann der Vergleich gestartet werden, wenn seit der letzten Zuordnung eines Synchronisationspunktes von Testmuster und Referenzmuster mehr Zeitsegmente verstrichen sind, als bei maximaler Dehnung oder Stauchung der Muster mittels DTW an Zeitanpassung möglich ist.The DTW search can, for example start with the reference words that have the highest number of hits, the best relationship from hits to the number of synchronization points of the reference pattern, or the best mean similarity the synchronization fragments (SF) of the reference pattern to the synchronization fragments of the test pattern. The mean similarity can e.g. B. as a sum of similarities of the individual SF for each class divided by the number of Synchronization points can be defined. If a reference word has several Synchronization points, so is the comparison between reference patterns and search pattern started by DTW when a synchronization point of the test pattern the last synchronization point of the reference pattern was assigned. additional the comparison can be started if since the last assignment a synchronization point of test pattern and reference pattern more time segments have passed than at maximum stretch or Upsetting of the samples by means of DTW is possible.
Zur Begrenzung der Rechenlast durch die rechenintensive DTW-Berechnungen können z. B. nur die DTW-Vergleiche mit der größten Ähnlichkeit der SF ausführt werden, oder die DTW-Berechnungen in der Reihenfolge der mittleren Ähnlichkeit der SF vorgenommen werden, und abbrechen, sobald das erste Referenzmuster k gefunden ist, bei welchem Dmin(k) einen vorgegebenen Schwellenwert unterschreitet.To limit the computing load through the computationally intensive DTW calculations, e.g. B. only the DTW comparisons with the greatest similarity of the SF are carried out, or the DTW calculations are carried out in the order of the mean similarity of the SF, and abort as soon as the first reference pattern k has been found, at which D min (k) falls below a predetermined threshold.
In anderen Anwendungen können die Synchronisationspunkte, analog zu ihrer Verwendung zur Synchronisation von zwei Mustern bei der „Dynamischen Programmierung", zur Synchronisation in Hidden-Markov-Modellen eingesetzt werden.In other applications, the Synchronization points, analogous to their use for synchronization of two patterns in the “Dynamic Programming", can be used for synchronization in hidden Markov models.
Die oben beschriebene Synchronisation mit Hilfe der SP, stellt eigentlich den ersten Schritt der Mustererkennung dar. Bei manchen Anwendungen reicht dieser erste Synchronisationsschritt jedoch bereits zur Bestimmung des zum Testmuster passenden Referenzwortes. Ein Vergleich mittels DP oder der Einsatz eines Hidden-Markov-Modells ist bei diesen Anwendungen nicht mehr notwendig. Dies betrifft insbesondere Anwendungen mit einer geringen Anzahl von Referenzworten.The synchronization described above with the help of the SP, actually represents the first step of pattern recognition In some applications, this first synchronization step is sufficient however, already to determine the reference word that matches the test pattern. A comparison using DP or the use of a hidden Markov model is with them Applications no longer necessary. This applies in particular to applications with a small number of reference words.
Das Anlegen von Schablonen
In dem oben erläuterten Ausführungsbeispiel wurde der spezielle Fall dargelegt, dass ein SF genau einer SF-Klasse zugeordnet werden kann, dass für jedes Referenzwort genau ein RP-Objekt existiert, sowie eine mögliche Form der Datenstrukturen. Für andere Anwendungen können daneben jedoch Variationen des Verfahrens von Vorteil sein, z. B. kann eine SF-Klasse mehrere Repräsentanten haben, oder jedes SF-Objekt kann einen eigenen Repräsentanten haben, oder jedes SF-Objekt kann mehreren Klassen mir einer jeweils spezifischen Wahrscheinlichkeit zugeordnet werden (unscharfe Clusterung).In the embodiment explained above the special case was explained that an SF was assigned to exactly one SF class can be that for each reference word has exactly one RP object, as well as a possible form of the data structures. For other applications can however, variations in the method may be advantageous, e.g. B. an SF class can have multiple representatives or each SF object can have its own representative or each SF object can have several classes with a specific one Probability can be assigned (fuzzy clustering).
Detaillierte Beschreibung einer beispielhaften erfindungsgemäßen Anordnung und der Synchronisationsschritte einer beispielhaften Ausführungsform:Detailed description an exemplary arrangement according to the invention and the synchronization steps an exemplary embodiment:
Anschließend werden die Sprachparameter
der Sprachsegmente bestimmt. In der bevorzugten Realisierung werden
Cepstrum-Koeffizienten verwendet. Diese werden gebildet, indem zuerst
eine DFT (Diskrete Fourier-Transfor mation)
Anstelle der Cepstrum-Koeffizienten können auch andere Sprachparameter verwendet werden, wie z. B. die LPC-Koeffizienten (LPC = Linear Predictive Coding), PARCOR-Koeffizienten, Energie-Spektrum oder MEL-skaliertes Spektrum, MEL-Cepstrum-Koeffizienten, Anzahl der Nulldurchgänge, sowie vergleichbare Parameter.Instead of the cepstrum coefficients can other language parameters are used, such as. B. the LPC coefficients (LPC = Linear Predictive Coding), PARCOR coefficients, energy spectrum or MEL-scaled Spectrum, MEL-Cepstrum coefficients, number of zero crossings, as well comparable parameters.
In der bevorzugten Realisierung werden
die zehn ersten Cepstrum-Koeffizienten, deren erste Ableitung (Differenzen
cj(i) – cj(i – 1)
der j-ten Cepstrum-Koeffizienten des i-ten und (i – 1)-ten
Zeigsegmentes), die Gesamtenergie und deren erste Ableitungen (berechnet
in der Einheit zur Bildung der ersten Ableitung
Die Suche nach Synchronisationspunkten
in dem SP-Detektor
Anschließend werden in Einheit
Bei den vorstehend beschriebenen
Ausführungsformen
handelt es sich um Beispiele von speziellen Anordnungen, mit denen
das erfindungsgemäße Verfahren
ausgeführt
werden kann. Sie sind keinesfalls eine abschließende Darstellung. Vielmehr
können
sich in bestimmten Fällen
Anordnungen als praktisch erweisen, welche auf einzelne Bauteile
verzichten, wie etwa einen Bandpassfilter
Berechnung der DTW mit Synchronisationspunktencalculation the DTW with synchronization points
In der einfachsten Version des erfindungsgemäßen Verfahrens erfolgen nach der Berechnung der Sprachparameter der Zeitsegmente und der Bestimmung möglicher Synchronisationspunkte die Vergleiche des Testmusters mit den Referenzmustern mittels „Dynamischer Program mierung". Die Synchronisationspunkte der Referenzmuster liegen vor (Referenz-SP). Sie sind in der Regel zusammen mit den Merkmalsvektoren der Referenzmuster abgespeichert.In the simplest version of the method according to the invention take place after the calculation of the language parameters of the time segments and determining possible ones Synchronization points the comparisons of the test pattern with the reference patterns using "Dynamic Programming ". The synchronization points of the reference patterns are available (reference SP). They are usually together with the feature vectors of the reference pattern stored.
Als Erstes wird die Anzahl der Synchronisationspunkte des Testmusters mit der Anzahl der Referenz-Synchronisationspunkte des jeweiligen Referenzmusters verglichen. Sind diese gleich, so werden die SP in der Reihenfolge ihres Auftretens in den beiden Mustern einander zugeordnet, d. h. der erste Referenz-SP des Referenzmusters wird dem ersten SP des Testmusters, der zweite Referenz-SP des Referenzmusters dem zweiten SP des Testmusters zugeordnet usw. Zur Bestimmung der Ähnlichkeit der beiden Muster wird anschließend mittels der „Dynamischen Programmierung" der Pfad mit der kleinsten Summe der Abstände der einzelnen Merkmalsvektoren bestimmt. Die DTW erfolgt durch einzelne DTW zwischen den Synchronisationspunkten bzw. zwischen dem ersten SP und dem Wortanfang und dem letzten SP und dem Wortende. Die Summe der kleinsten Summen der einzelnen Abschnitte ergibt die Ähnlichkeit von Test- und Referenzwort.First is the number of synchronization points of the test pattern with the number of reference synchronization points of the respective reference pattern compared. If they are the same, then become the SP in the order of their appearance in the two Patterns associated with each other, d. H. the first reference SP of the reference pattern becomes the first SP of the test pattern, the second reference SP of the reference pattern assigned to the second SP of the test pattern, etc. To determine the similarity the two patterns will then using the "Dynamic Programming "the Path with the smallest sum of the distances of the individual feature vectors certainly. The DTW is carried out by individual DTW between the synchronization points or between the first SP and the beginning of the word and the last SP and the end of the word. The sum of the smallest sums of the individual sections gives the similarity of test and reference word.
Prinzipiell kann die Suche zwischen zwei Synchronisationspunkten in Richtung der Zeitachsen, oder rückwärts erfolgen. Insbesondere für den ersten Zeitabschnitt, vom Anfang des Wortes bis zum ersten Synchronisationspunkt ist, wegen der oft nur ungenauen Bestimmung des Wortanfanges, eine Rückwärtssuche von Vorteil (vgl. die obigen Erläuterungen). Die Rückwärtssuche erfolgt genau wie die klassische Zeitanpassung, nur mit umgekehrten Vorzeichen bei den einzelnen Schritten. Sie beginnt an einem Synchronisationspunkt. Bei jedem Schritt wird dann mindestens ein Index (i oder j) erniedrigt. Zur Einschränkung des Suchraumes können die gleichen Ein schränkungen hinsichtlich Schrittweite usw. verwendet werden wie bei der Vorwärtssuche.In principle, the search between two synchronization points in the direction of the time axes, or backwards. Especially for the first period, from the beginning of the word to the first synchronization point is, due to the often inaccurate determination of the beginning of the word, one Reverse search from Advantage (see the explanations above). The reverse search is done exactly like the classic time adjustment, only with the reverse Sign of the individual steps. It starts at a synchronization point. At each step, at least one index (i or j) is then lowered. For limitation of the search space can the same restrictions in terms of step size etc. are used as in the forward search.
In der einfachsten Version wird in dem Fall, dass die Anzahl der Synchronisationspunkte in Testmuster und im Referenzmuster nicht übereinstimmt, die „Dynamische Zeitanpassung" nach hergebrachter Art, ohne Synchronisation durch Synchronisationspunkte, erfolgen. Ebenso wird verfahren, wenn keine Synchronisationspunkte gefunden werden.The simplest version is in the case that the number of synchronization points in test pattern and does not match in the reference pattern, the "dynamic Time adjustment "after traditional way, without synchronization through synchronization points, respectively. The same procedure is followed if there are no synchronization points being found.
Unterscheidung von zwei Arten von SPDistinction of two types of SP
Eine mögliche Erweiterung des Verfahrens
besteht in der Unterscheidung von zwei Arten von Synchronisationspunkten:
Punkte mit steigender Sprachenergie und Punkte mit fallender Sprachenergie
(typisch bei Explosivlauten, resp. bei Stoppkonsonanten). Vor dem
Vergleich zweier Muster durch ein DP-Verfahren erfolgt die Zuordnung
der Synchronisationspunkte der beiden Muster wie oben beschrieben.
Anschließend
wird verglichen, ob alle Paare von Synchronisationspunkten gleicher
Art sind, d. h. Punkte steigender oder fallender Energiewerte darstellen.
Ist mindestens ein Paar ungleich, so wird der Vergleich mittels
DP zwischen den beiden Mustern entweder nicht vorgenommen (d. h.
die beiden Muster werden als ungleich angenommen), oder das DP wird
ausgeführt,
wobei die nicht übereinstimmenden
Synchronisationspunkte nicht zur Synchronisation verwendet werden.
Synchronisationsfragmentesynchronization fragments
Eine bessere Zuordnung der SP von Referenz- und Testmuster ermöglicht eine weitere Modifikation des Verfahrens: zur Untergliederung der Synchronisationspunkte in mehrere Klassen wird jedem Synchronisationspunkt ein Synchronisationsfragment zugeordnet. Synchronisationsfragmente bestehen aus einer Folgen von Vektoren mit Sprachmerkmalen aufeinanderfolgender Zeitsegmente. In der bevorzugten Realisierung besteht die Folge aus vier Vektoren, andere Längen können auch zu guten Ergebnissen führen. Bei Synchronisationspunkten, welche durch einen Abfall der Sprachenergie gekennzeichnet sind, bilden in der bevorzugten Realisierung die Merkmalsvektoren der drei vor dem Synchronisationspunkt liegenden Zeitsegmente zusammen mit dem Merkmalsvektor des Synchronisationspunktes die besagte Folge. Bei Synchronisationspunkten, welche durch einen Anstieg der Sprachenergie gekennzeichnet sind, bildet der Vektor des Zeitsegmentes des Synchronisationspunktes zusammen mit den Merkmalsvektoren der drei folgenden Zeitsegmente diese Folge. Andere Verfahren zur Auswahl der Vektoren sind ebenso möglich. Beispielsweise können unabhängig davon, ob der Synchronisationspunkt an einem Zeitpunkt steigender oder fallender Sprachenergie liegt, die Folge aus den Merkmalsvektoren der zwei vor, dem am und den zwei hinter dem Synchronisationspunkt liegenden Zeitsegmenten bestehen. Nachdem die Synchronisationsfragmente eines Testmusters bestimmt sind, wird deren Klassenzugehörigkeit bestimmt. Dazu wird jedes Synchronisationsfragment des Testmusters mit einem Repräsentanten jeder Klasse verglichen. Der Vergleich erfolgt, indem die Summe der Abstände der Merkmalsvektoren berechnet wird. In der bevorzugten Realisierung wird die gleiche Funktion d(i,j,k) wie bei der Zeitanpassung mittels der „Dynamischen Programmierung" als Abstandsmaß verwendet. Es ist ebenso erfindungsgemäß möglich, andere Abstandsfunktionen zu verwenden, z. B. Funktionen, welche besonders aussagefähig im Bereich von phonetischen Übergängen sind. Ebenso können für Synchronisationsfragmente mit ansteigendem Energiegehalt andere Abstandsfunktionen verwendet werden, als bei Synchronisationsfragmenten mit abfallendem Energiegehalt. Ein Synchronisationsfragment wird der Klasse Ci zugeordnet, bei welcher der Abstand zu dem Synchronisationsfragment des Repräsentanten dieser Klasse am kleinsten ist. Anstelle der Summe der Abstände der Merkmalsvektoren mit einer festen Zuordnung der Vektoren der Fragmente eines Referenzwortes zu den Vektoren der Fragmente des Testmusters kann ein DTW-Vergleich zwischen dem Anfang und Ende der beiden Vektorfolgen verwendet werden. Diese Vorgehensweise ist insbesondere dann notwendig, wenn die Folgen aus einer variablen Anzahl von Vektoren bestehen. So können z. B. Fragmente aus der Folge aller Vektoren zwischen zwei SP, oder der Hälfte der Vektoren zwischen zwei SP zur Klasseneinteilung verwendet werden. Bei dieser Variante des Verfahrens, werden Folgen von Vektoren, welche zeitlich vor dem SP liegen, vom SP ausgehend rückwärts (vgl. oben) mittels „Dynamischen Programmierung" verglichen, wobei der rückwärtige Vergleich beendet wird, wenn der günstigste Pfad zum ersten Vektor der zum Referenzwort gehörenden Folge gefunden ist.A better assignment of the SP of reference and test patterns enables a further modification of the method: in order to subdivide the synchronization points into several classes, a synchronization fragment is assigned to each synchronization point. Synchronization fragments consist of a sequence of vectors with speech features of successive time segments. In the preferred implementation, the sequence consists of four vectors, other lengths can also lead to good results. In the case of synchronization points, which are characterized by a drop in voice energy, in the preferred implementation the feature vectors of the three time segments lying before the synchronization point together with the feature vector of the synchronization point form the said sequence. In the case of synchronization points, which are characterized by an increase in the speech energy, the vector of the time segment of the synchronization point forms this sequence together with the feature vectors of the three following time segments. Other methods of selecting the vectors are also possible. For example, regardless of whether the synchronization point is at a time of rising or falling speech energy, the sequence can consist of the feature vectors of the two before, the on and the two time segments lying behind the synchronization point. After the synchronization fragments of a test pattern are determined, their class affiliation is determined. For this purpose, each synchronization fragment of the test pattern is compared with a representative of each class. The comparison is made by calculating the sum of the distances of the feature vectors. In the preferred implementation, the same function d (i, j, k) is used as the distance measure in the case of time adjustment by means of "dynamic programming". It is also possible according to the invention to use other distance functions, for example functions which are particularly meaningful are in the range of phonetic transitions. Similarly, can be used for synchronization fragments with increasing energy content other distance functions than in synchronization fragments with decreasing energy content. A synchronization fragment of the class C i is assigned, wherein the distance to the synchronization fragment of the representatives of this class is the smallest. Instead of the sum of the distances of the feature vectors with a fixed assignment of the vectors of the fragments of a reference word to the vectors of the fragments of the test pattern, a DTW comparison between the beginning and end of the two vector sequences can be used this is necessary if the sequences consist of a variable number of vectors. So z. B. fragments from the sequence of all vectors between two SP, or half of the vectors between two SP can be used to classify. In this variant of the method, sequences of vectors which are earlier than the SP are compared backwards from the SP (see above) by means of "dynamic programming", the backward comparison being ended when the cheapest path to the first vector leads to the Reference word belonging sequence is found.
Überlappungen an den Synchronisationspunktenoverlaps at the synchronization points
Eine weitere Variante des Verfahrens,
welche in Kombination mit allen oben dargelegten Verfahren zu Bestimmung
der SP-Zuordnung eingesetzt werden kann, erweitert den Suchraum
um den SP. Dadurch werden Probleme, welche durch Ungenauigkeiten
bei der Bestimmung der zeitlichen Lage des SP entstehen, behoben.
Der Suchraum wird dadurch erweitert, dass die beiden Suchräume (vor
und hinter dem SP) um einige Zeitsegmente überlappen. Diese Überlappung
kann entlang einer oder beider Achsen zugleich erfolgen.
Eine Möglichkeit zur Ausführung der
DP bei Überlappungen
ist, den Suchbereich wie in
Es können außer dem beschriebenen Algorithmus zur Suche bei der vorgeschlagenen Überlappung alternativ auch Abwandlungen bekannter Vorgehensweisen angewendet werden.In addition to the algorithm described alternatively to search for the proposed overlap Variations of known approaches can be applied.
Vorauswahl von Referenzwortenpreselection of reference words
Das Verfahren zur Vorauswahl von
Referenzworten mittels Klassen von Synchronisationsfragmenten benutzt
die in
Die Struktur feature vector
Die Struktur sync fragment
Für
jede Klasse von Synchronisationsfragmenten wird ein Objekt der Struktur
fragment class
Für
jedes Referenzmuster ist ein Objekt der Struktur reference pattern
Beim Absuchen des Testmusters nach
Synchronisationsfragmenten wird für jedes Referenzwort, welches
ein Synchronisationsfragment der Klasse eines gefundenen Synchronisationsfragmentes
besitzt, ein Objekt der Struktur template
Anhand des Pseudo-Codes in
Der Funktionsaufruf FirstSyncPoint(TestPattern)
Zu jeder Klasse von Synchronisationsfragmenten
Wenn die Liste mit Schablonen des
Referenzwortes nicht leer war (Abfrage
Wenn (Abfage
Nachdem alle aktiven Schablonen eines
Referenzwortes in der Schleife
In der nachfolgenden for-Schleife
Die Funktion NextSyncPoint(TestPattern)
Bildung der SF-KlassenFormation of SF classes
Die Synchronisationsfragmentklassen können mit den bekannten Verfahren zur Klassenbildung und Klassenzuordnung aus einer Menge von Sprachmustern gebildet werden. In der einfachsten Version werden an vorhandenen Mustern Synchronisationspunkte gesucht und die zugehörigen Synchronisationsfragmente zusammengestellt. Es können dann sowohl die in der Literatur als „dynamic clustering" als auch die „hierarchical clustering" bekannten Verfahren verwendet werden.The synchronization fragment classes can with the known methods for class formation and class assignment can be formed from a set of speech patterns. In the simplest Version, synchronization points are searched for on existing patterns and the associated Sync fragments compiled. Then both in the Literature as “dynamic clustering "as also the "hierarchical known clustering Procedures are used.
In einer abgewandelten Form werden die Klassen aus mehreren Sprachmustern eines Wortes gebildet. Zuerst werden alle potentiellen SF aller Sprachmuster eines Wortes lokalisiert, dann werden die SF der verschiedenen Sprachmuster einander zugeordnet. Die Zuordnung der SF erfolgt aufgrund ihrer Stellung im Wort, und aufgrund des Energieverlaufs am zugehörigen SP. Die einander zugeordneten SF bilden dann eine Klasse. Nicht eindeutig zuordenbare SF werden ignoriert. Diese Zuordnungsweise hat zu Folge, dass jedes Wort seine eigenen Klassen besitzt. Dies kann zu einer vergleichsweise guten Vorauswahl von Referenzworten (beim späteren Suchen) führen. Der höhere Aufwand beim Bestimmen der SF-Klasse (beim späteren Suchen) kann durch eine entsprechende Gestaltung der Suchverfahren reduziert werden, z. B. durch Suchbäume. In einem zweiten Schritt können die vielen (wortspezifischen) Klassen mit den bekannten Verfahren zu wortübergreifenden Klassen zusammengelegt werden.Be in a modified form the classes are made up of several speech patterns of a word. First all potential SF of all language patterns of a word are localized, then the SF of the different speech patterns are assigned to each other. The SF is assigned based on its position in the word, and due to the energy curve at the associated SP. The assigned to each other SF then form a class. SF that cannot be clearly assigned ignored. This means that each word has its own own classes. This can be a comparatively good one Preselect reference words (when searching later). The higher Effort in determining the SF class (when searching later) can be determined by a appropriate design of the search procedures are reduced, e.g. B. by search trees. In a second step you can the many (word-specific) classes with the known methods to cross-word Classes are merged.
Bestimmung des Wortbeginns, Bildung der Grenzen der ReferenzmusterDetermination of the beginning of the word, Formation of the borders of the reference pattern
In einigen Anwendungen, beispielsweise
in dem in der Patentanmeldung
Zur Bestimmung der Wortgrenzen werden zuerst die Synchronisationspunkte in den Sprachmustern bestimmt. Bei Sprachmustern, von denen bekannt ist, dass sie gleiche Worte darstellen, wird dann wie folgt verfahren: die Synchronisationspunkte von jeweils zwei Sprachmustern werden einander zugeordnet. Das kann aufgrund ihrer Reihenfolge, und (zusätzlich) durch die Klassifikation der Synchronisationsfragmente der SP erfolgen. Der Anfang eines Wortes wird dann durch „Rückwärtssuche", ausgehend vom ersten Synchronisationspunkt, das Wortende durch „Vorwärtssuche" ausgehend vom letzten Synchronisationspunkt, bestimmt. Die Suche erfolgt mittels „Dynamischer Programmierung", d. h. die Zeitsegmente der beiden Muster werden einander so zugeordnet, dass dabei ein Pfad mit möglichst kleinen Abstandswerten zwischen den Merkmalsvektoren der jeweils zugeordneten Segmente entsteht. Die Suche wird bei den Zeitsegmenten abgebrochen, an denen sich keine Zuordnungen von Zeitsegmenten mit Abstandswerten d(i,j) < DS finden lassen. Der Schwellenwert DS hängt von der Anwendung (Hintergrundgeräusche, usw.) ab. Er kann z. B. durch Bestimmen der Werte von d() in Sprachpausen bestimmt werden. Alternativ kann die Suche abgebrochen werden, wenn d(i,j) in einer bestimmten Anzahl ns von m aufeinanderfolgenden Segmenten den Schwellenwert überschreitet. Die Zeitsegmente, an denen die Suche abgebrochen wird, bilden die Wortgrenzen im entsprechenden Sprachmuster. Dieses Verfahren kann, sofern mehrere Sprachmuster eines Wortes vorhanden sind, mit anderen Paarungen von Sprachmustern wiederholt werden. Dabei sollten Ausreißer nicht berücksichtigt werden. Ausreißer sind Vergleiche, bei denen die Wortgrenzen wesentlich von den durch andere Paarungen ermittelten abweichen. Zusätzlich können die bekannten Verfahren, z. B. Bestimmung von Wortanfang und -ende mittels Kriterien bezüglich Gesamtenergie bzw. Energiegehalt in einzelnen Frequenzbändern, eingesetzt werden.To determine the word boundaries, the synchronization points in the speech patterns are first determined. In the case of speech patterns which are known to represent the same words, the procedure is then as follows: the synchronization points of two speech patterns are assigned to one another. This can be done on the basis of their sequence and (additionally) by classifying the synchronization fragments of the SP. The beginning of a word is then determined by "backward search" starting from the first synchronization point, the end of the word by "forward search" starting from the last synchronization point. The search is carried out by means of "dynamic programming", ie the time segments of the two patterns are assigned to one another in such a way that a path with the smallest possible distance values between the feature vectors of the respectively assigned segments is created. The search is terminated for those time segments to which there are no assignments of time segments with distance values d (i, j) <D S. The threshold value D S depends on the application (background noise, etc.) and can be determined, for example, by determining the values of d () during speech pauses Alternatively, the search can be terminated if d (i, j) exceeds the threshold value in a certain number n s of m successive segments. The time segments at which the search is terminated form the word boundaries in the corresponding speech pattern. if there are several speech patterns of a word, be repeated with other pairings of speech patterns r are not taken into account. Outliers are comparisons in which the word boundaries differ significantly from those determined by other pairings. In addition, the known methods, e.g. B. Determining the beginning and end of words using criteria relating to total energy or energy content in individual frequency bands.
Die Erfindung ist nicht beschränkt auf die hier dargestellten Ausführungsbeispiele. Vielmehr ist es möglich, durch Kombination und Modifikation der genannten Mittel und Merkmale weitere Ausführungsvarianten zu realisieren, ohne den Rahmen der Erfindung zu verlassen. Insbesondere können anstelle der „Ähnlichkeiten", bzw. der Distanzfunktionen, auch analog „Wahrscheinlichkeiten", wie z. B. die „Wahrscheinlichkeit für die Übereinstimmung von zwei Segmenten", verwendet werden. Ferner werden in der vorliegenden Beschreibung Zeitsegmente von 10–20 ms beispielhaft verwendet. Es ist ebenso erfindungsgemäß möglich, andere Längen der Zeitsegemente zu verwenden. Insbesondere kann auf der Basis einzelner Abtastwerte (die Länge eines Zeitsegmentes entspricht dann einem Abtestwert) gearbeitet werden, wobei die Berechnung der Sprachmerkmale dann gleitend unter Verwendung der umliegenden Abtastwerte erfolgt. Ebenso können die einzelnen Zeitsegmente unterschiedliche Längen haben. So kann z. B. jedes Zeitsegment je ein Phon darstellen.The invention is not limited to the embodiments shown here. Rather, it is possible by combining and modifying the means and features mentioned further versions to realize without leaving the scope of the invention. In particular can instead of the "similarities" or the distance functions, also analogous to "probabilities", such as the "probability for the match of two segments ", be used. Furthermore, in the present description Time segments from 10-20 ms used as an example. It is also possible according to the invention, other lengths of To use time segments. In particular, based on individual Samples (the length of one Time segment then corresponds to a test value), the calculation of the speech characteristics then sliding using of the surrounding samples. Likewise, the individual time segments different lengths to have. So z. B. each time segment represent a phone.
- 101, 201101 201
- Signalform des Wortes „Jupiter"waveform of the word "Jupiter"
- 102, 202102 202
- Skala der Zeitsegmentescale of the time segments
- 103, 203103 203
- Spektrogramm des Wortes „Jupiter"spectrogram of the word "Jupiter"
- 104, 204104 204
- Zeitskalatimescale
- 105, 205105 205
- Energiegehalt am Wortanfangenergy content at the beginning of the word
- 106, 206106 206
- Energiegehalt am Wortendeenergy content at the end of the word
- 110, 111, 112 110 111, 112
- Synchronisationspunktesynchronization points
- 210, 211, 212, 213210 211, 212, 213
- Synchronisationspunktesynchronization points
- 301301
- optimaler Pfadoptimal path
- 302, 303302 303
- Diagramme der Gesamtenergie der Sprachmusterdiagrams the total energy of speech patterns
- 310310
- Überlappung von Zeitsegmentenoverlap of time segments
- 401401
- Mittel zur Dateneingabe, Mikrofonmedium for data entry, microphone
- 402402
- Verstärkeramplifier
- 403403
- BandpassfilterBandpass filter
- 404404
- Analog-Digital-Wandler, A/D-WandlerAnalog to digital converter, A / D converter
- 405405
- Digitalen Signal Prozessor (DSP)digital Signal processor (DSP)
- 406406
- Prozessor, CPUProcessor, CPU
- 407407
- RAMR.A.M.
- 408408
- ROMROME
- 409409
- Mittel zur Datenausgabemedium for data output
- 421421
- Einheit zur Einteilung der Abtastwerte inunit to divide the samples into
- Zeitsegmente, FramerTime segments, Framer
- 422422
- HochpassfilterHigh Pass Filter
- 423423
- Einheit zur Multiplikation der Segmentwerteunit to multiply the segment values
- mit einer FensterfunktionWith a window function
- 424424
- Einheit zur Durchführung einer diskretenunit to carry out a discreet
- Fourier-Transformation (DFT)Fourier transform (DFT)
- 425425
- Einheit zur Logarithmierung der DFT-unit for logarithmization of the DFT
- ErgebnisseResults
- 426426
- Einheit zur Durchführung einer inversen DFTunit to carry out an inverse DFT
- 427427
- Einheit zur Energieberechnungunit for energy calculation
- 428428
- Einheit zur Bildung der ersten Ableitungunit to form the first derivative
- 429429
- Einheit zur Ermittlung vonunit to determine
- Synchronisationspunktensynchronization points
- 430430
- Einheit zur Ermittlung vonunit to determine
- Synchronisationsfragmentensynchronization fragments
- 431431
- Einheit zur Durchführung einer dynamischenunit to carry out a dynamic
- Zeitanpassung (DTW)time adjustment (DTW)
- 432432
- Speichermittel, vorzugsweise zur SpeicherungStorage means, preferably for storage
- von Referenzmusternof reference patterns
- 701701
- feature vector-Strukturfeature vector structure
- 702702
- sync fragment-Struktursync fragment structure
- 704704
- fragment class-Strukturfragment class structure
- 705705
- reference pattern-Strukturreference pattern-structure
- 706706
- template-Strukturtemplate structure
- 810 ... 894810 ... 894
- Zeilen-Nummern des Pseudo-CodesLine numbers of the pseudo code
- 901901
- Synchronisationspunkt mit abfallender Energiesynchronization point with falling energy
- 902, 903902 903
- Synchronisationspunkte mit ansteigendersynchronization points with increasing
- Energieenergy
- 906906
- erweiterte template-StrukturAdvanced template structure
- 911, 912, 913911, 912, 913
- Synchronisationsfragmente synchronization fragments
- 921, 922, 923921, 922, 923
- Synchronisationsfragment-Klassen Synchronization fragment classes
- 930930
- Synchronisationsfragment-RepräsentantSynchronization fragment Representative
- 931931
- Synchronisationsfragment-ObjektSynchronization fragment object
- 941, 942941, 942
- Reference-Pattern-Objekt, RP-Objekt Reference pattern object RP object
- 951951
- Schablonetemplate
Claims (43)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002153868 DE10253868B3 (en) | 2002-11-15 | 2002-11-15 | Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002153868 DE10253868B3 (en) | 2002-11-15 | 2002-11-15 | Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10253868B3 true DE10253868B3 (en) | 2004-07-29 |
Family
ID=32602423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002153868 Expired - Fee Related DE10253868B3 (en) | 2002-11-15 | 2002-11-15 | Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10253868B3 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2816551A1 (en) * | 2013-03-18 | 2014-12-24 | Karlheinz Mayer | Text projection device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19510095A1 (en) * | 1995-03-20 | 1996-09-26 | Zuehlke Werner Prof Dr Ing Hab | Arrhythmic segmentator of voiced sound in speech signals |
DE69423588T2 (en) * | 1993-12-27 | 2000-11-16 | Nec Corp | Speech recognition device |
WO2001031835A1 (en) * | 1999-10-29 | 2001-05-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Speech synchronization |
DE10054583A1 (en) * | 2000-11-03 | 2002-05-23 | Digital Design Gmbh | Storing, reproducing or transmitting speech information e.g. for retrieval using keywords in mobile telephone, by acoustically outputting sentence with smallest deviation from stored speech pattern |
-
2002
- 2002-11-15 DE DE2002153868 patent/DE10253868B3/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69423588T2 (en) * | 1993-12-27 | 2000-11-16 | Nec Corp | Speech recognition device |
DE19510095A1 (en) * | 1995-03-20 | 1996-09-26 | Zuehlke Werner Prof Dr Ing Hab | Arrhythmic segmentator of voiced sound in speech signals |
WO2001031835A1 (en) * | 1999-10-29 | 2001-05-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Speech synchronization |
DE10054583A1 (en) * | 2000-11-03 | 2002-05-23 | Digital Design Gmbh | Storing, reproducing or transmitting speech information e.g. for retrieval using keywords in mobile telephone, by acoustically outputting sentence with smallest deviation from stored speech pattern |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2816551A1 (en) * | 2013-03-18 | 2014-12-24 | Karlheinz Mayer | Text projection device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3236834C2 (en) | Method and device for speech analysis | |
DE3236832C2 (en) | Method and device for speech analysis | |
DE60124559T2 (en) | DEVICE AND METHOD FOR LANGUAGE RECOGNITION | |
EP1466317B1 (en) | Operating method for an automated language recognizer intended for the speaker-independent language recognition of words in different languages and automated language recognizer | |
DE2953262C2 (en) | ||
DE60120323T2 (en) | System and method for pattern recognition in very high-dimensional space | |
DE3337353C2 (en) | Speech analyzer based on a hidden Markov model | |
EP0925461B1 (en) | Process for the multilingual use of a hidden markov sound model in a speech recognition system | |
DE2825110A1 (en) | METHOD OF DETECTING CONTINUOUS VOICE SIGNALS | |
DE60004420T2 (en) | Recognition of areas of overlapping elements for a concatenative speech synthesis system | |
DE2326517A1 (en) | METHOD AND CIRCUIT ARRANGEMENT FOR DETECTING SPOKEN WORDS | |
DE69930961T2 (en) | DEVICE AND METHOD FOR LANGUAGE SEGMENTATION | |
DE2825186A1 (en) | METHOD FOR REDUCING INCORRECT DISPLAY IN VOICE RECOGNITION METHODS FOR CONTINUOUS VOICE SIGNALS | |
EP1168305A2 (en) | Method of parameter extraction from multi-inputs for speech recognition | |
DE2825082A1 (en) | METHOD OF VOICE RECOGNITION | |
DE3236885A1 (en) | METHOD AND DEVICE FOR VOICE ANALYSIS | |
EP0285222B1 (en) | Method for detecting associatively pronounced words | |
DE19920501A1 (en) | Speech reproduction method for voice-controlled system with text-based speech synthesis has entered speech input compared with synthetic speech version of stored character chain for updating latter | |
DE10022586A1 (en) | Generating speech database for target vocabulary involves concatenating training text segments with target vocabulary words according to phonetic description | |
EP0703569A1 (en) | System for finding out words from a speech signal | |
EP1435087B1 (en) | Method for producing reference segments describing voice modules and method for modelling voice units of a spoken test model | |
DE60021666T2 (en) | Incremental training of a speech recognizer for a new language | |
DE10253868B3 (en) | Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points | |
DE4111781A1 (en) | COMPUTER SYSTEM FOR VOICE RECOGNITION | |
EP1078354B1 (en) | Method and device for determining spectral voice characteristics in a spoken expression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |