[0001] Ein Voice Activity Detector (VAD) ist eine Vorrichtung, die es erlaubt, zwischen
Sprache inklusive Hintergrundgeräuschen ("Sprache") und dem Hintergrundgeräusch alleine
("Nicht-Sprache") zu unterscheiden. Der Eingang eines VAD kann beispielsweise ein
durch ein Mikrofon aufgenommenes Sprachsignal eines Kommunikationsendgerätes sein.
Während der Nutzer spricht, setzt sich das Signal aus seiner Stimme und dem Hintergrundlärm
(beispielsweise Straßenlärm) zusammen. In den Sprechpausen dagegen besteht das Signal
alleine aus dem Hintergrundlärm. Der Ausgang eines Voice Activity Detectors fügt dem
Eingangssignal nun jeweils die Information hinzu, ob es Sprache enthält, oder nicht.
[0002] Die Anwendungen eines VAD sind vielfältig. So kann ein VAD zur Datenreduktion verwendet
werden, um nur das Sprachsignal zu speichern bzw. zu übertragen. In der Spracherkennung
erlaubt ein VAD eine schnellere und bessere Erkennung, da die Erkennung sich auf die
reinen Sprachpassagen des Audiosignals konzentrieren kann.
[0003] VADs werden entweder auf Basis von Heuristiken eingestellt oder aber im Lauf einer
Trainingsphase trainiert. Als Eingangssignal dient jeweils das in geeigneter Weise
vorverarbeitete Audiosignal. In einer Eigenschaftenextraktion erhält man dabei je
nach Anzahl der verwendeten Eigenschaften unterschiedlich große Eigenschaftenvektoren.
[0004] Die einfachste, aber immer noch weit verbreitete Heuristik ist, ein Signal anhand
einer bestimmten, festgelegten Energieschwelle zu beurteilen. Überschreitet die Signalenergie
die Schwelle, so wird "Sprache" angenommen, ansonsten "Nicht-Sprache".
[0005] Ein anderes Beispiel ist die Bestimmung der Nulldurchgangsrate der Autokorrelationsfunktion
des Sprachsignals und ein entsprechender Schwellwert zur Unterscheidung, ob ein Sprachsignal
vorliegt oder nicht.
[0006] Daneben gibt es komplexere Verfahren, um anhand einer mehr oder weniger großen Anzahl
von Schwellen auf Basis verschiedenster Eigenschaften die gewünschte Unterscheidung
zu treffen.
[0007] Zu VADs, die im Laufe einer Trainingsphase trainiert werden, gehören beispielsweise
statistische VADs oder auch neuronale Netze. Diese werden dazu mit Daten trainiert,
bei denen bekannt ist, wann Sprache und wann ein Geräusch auftritt. Es handelt sich
also um Daten, die vorab zum Beispiel händisch gelabelt sind. Beispiele für Verfahren,
mit denen auf diese Weise entscheiden werden kann, ob ein Sprachsignal vorliegt oder
nicht, sind beispielsweise in Stadermann J.: "Sprach/Pause-Detektion in der automatischen
Spracherkennung", Universität Duisburg, Diplomarbeit, 1999, Seiten 28-36, angegeben.
[0008] Weitere VADs, insbesondere für drahtlose Kommunikation, werden in El-Maleh, K. und
Kabal, P.: "Comparison of voice activity detection algorithms for wireless personal
communication systems", Proc. IEEE Canadian Conference on Electrical and Computer
Engineering, St. John's, Neufundland, Mai 1997, Seiten 470-473, offenbart.
[0009] Davon ausgehend liegt der Erfindung die Aufgabe zugrunde, eine genauere Unterscheidung
zwischen Sprache und Nicht-Sprache zu ermöglichen. Dabei soll auch auf eine automatische
Anpassbarkeit an unterschiedliche Geräuschsituationen, Sprecher
oder Sprachen Wert gelegt werden.
[0010] Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebenen Erfindungen
gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.
[0011] Die Erfindung geht von dem Gedanken aus, dass ein VAD im Prinzip als Klassifikator
mit N = 2 Klassen (Sprache/Nicht-Sprache) betrachtet werden kann. Es hat sich aber
herausgestellt, dass eine wesentlich bessere Klassifikation vorgenommen werden kann,
wenn ein Signal nicht sofort der Sprache- oder der Nicht-Sprache-Klasse zugeordnet
wird, sondern wenn das Signal abhängig von seinen Eigenschaften zunächst in eine Klasse
einer Vielzahl von mehr als drei Klassen eingeteilt wird. Hierdurch kann den zahlreichen
unterschiedlichen Eigenschaften von Sprache und Geräuschen besser Rechnung getragen
werden.
[0012] Gemäß dieser zahlreichen unterschiedlichen Eigenschaften ist die Vielzahl vorzugsweise
größer oder gleich 10, insbesondere größer oder gleich 64. In Abhängigkeit von der
Klasse, in die das Signal eingeteilt ist, wird dann entschieden, ob das Signal ein
Sprachsignal ist oder nicht.
[0013] Während es in der weiteren Sprachverarbeitung bekannt ist, Sprachsignale, die als
solche erkannt sind, also nach der Voice Activity Detection, in mehr als zwei Klassen
einzuteilen, können als ein besonderes Charakteristikum der Erfindung auch zwei oder
mehr Klassen vorgesehen sein, bei denen entschieden wird, dass das Signal nicht Sprache
ist, wenn es in sie eingeteilt ist.
[0014] Hierfür können die Klassen in Clustern geclustert sein, so dass ähnliche Klassen
benachbart oder in Gruppen zusammengefasst sind. Dazu werden die Klassen in einem
unüberwacht zu trainierenden, sich selbst organisierenden Clusterverfahren in einer
Trainingsphase, insbesondere anhand von Testsignalen, automatisch gebildet.
[0015] Hierbei wird bevorzugt ein neuronales Netz eingesetzt, insbesondere ein Kohonen-Netz
mit der Netzarchitektur einer selbstorganisierenden Karte.
[0016] Dieses so trainierte und strukturierte Netz wird dann bevorzugt auch gleich in der
Detektionsphase eingesetzt, in der entschieden wird, ob ein Signal ein Sprachsignal
ist oder nicht.
[0017] Besonders vorteilhaft kann die beschriebene Vorrichtung in der biometrischen Spracherkennung
während des Enrollments eingesetzt werden, um die Stimme der sich enrollenden Person
als Referenz zu erfassen und nicht mehr oder weniger große Teile des Hintergrundlärms.
Ansonsten wird eventuell eine Person, die während der Verifikation eine ähnliche Geräuschumgebung
hat, vom System authentifiziert.
[0018] Ein Verfahren zur Detektion, ob ein Sprachsignal vorliegt oder nicht, lässt sich
analog zur beschriebenen Vorrichtung aufbauen. Dies gilt auch für seine bevorzugten
Ausgestaltungen.
[0019] Ein Programmprodukt für eine Datenverarbeitungsanlage, das Codeabschnitte enthält,
mit denen eines der geschilderten Verfahren auf der Datenverarbeitungsanlage ausgeführt
werden kann, lässt sich durch geeignete Implementierung des Verfahrens in einer Programmiersprache
und Übersetzung in von der Datenverarbeitungsanlage ausführbaren Code ausführen. Die
Codeabschnitte werden dazu gespeichert. Dabei wird unter einem Programmprodukt das
Programm als handelbares Produkt verstanden. Es kann in beliebiger Form vorliegen,
so zum Beispiel auf Papier, einem computerlesbaren Datenträger oder über ein Netz
verteilt.
[0020] Weitere wesentliche Vorteile und Merkmale der Erfindung ergeben sich aus der Beschreibung
eines Ausführungsbeispiels anhand der Figuren. Dabei zeigt:
- Figur 1
- die Trainingsphase einer Vorrichtung mit Mitteln zur Detektion, ob ein Sprachsignal
vorliegt oder nicht;
- Figur 2
- die Assoziationsphase der Vorrichtung nach Figur 1;
- Figur 3
- ein Beispiel für eine Detektion, ob ein Sprachsignal vorliegt oder nicht.
[0021] Im Stand der Technik bekannte VADs haben das Problem, dass aus dem Signal extrahierte
Eigenschaften in lediglich zwei Klassen unterteilt werden, obwohl sich ihre Ausprägung
innerhalb ein und derselben Klasse stark unterscheidet. Beispielsweise sind bei einem
Sprachsignal in der Regel Eigenschaften, welche stimmlose Laute repräsentieren, stark
verschieden von jenen, die stimmhafte Laute wiederspiegeln. Trotzdem werden beide
ein und derselben Klasse ("Sprache") zugeordnet.
[0022] Es wird daher vorgeschlagen, zur Unterscheidung, ob ein Sprachsignal vorliegt oder
nicht, ein Lernverfahren mit zwei Phasen zu verwenden.
[0023] In der ersten Phase des Verfahrens wird ein unüberwacht zu trainierendes, sich selbst
organisierendes Clusterverfahren mit N > 2 Klassen eingesetzt. N wird dabei beliebig,
aber sinnvoll vorgegeben. Zum Training werden also lediglich aus einem Audiosignal
extrahierte Eigenschaftsvektoren verwendet, ohne dass gleichzeitig eine Klassenzugehörigkeit
vorgegeben wird. Ganz allgemein gibt es demnach also eine größere Anzahl m an Klassen
des Klassifikators, die "Sprache" repräsentieren, und eine größere Anzahl n von Klassen,
die "Nicht-Sprache" repräsentieren (m + n = N > 2). Somit wird es beispielsweise möglich,
stimmhafte und stimmlose Laute verschiedenen Klassen zuzuordnen.
[0024] Diese erste Phase soll anhand von Figur 1 verdeutlicht werden. Dort erkennt man eine
Audiodatenbank 1 mit Audiosignalen. Diese werden einer Vorverarbeitung 2 zugeführt.
Diese Vorverarbeitung ist vorzugsweise dieselbe, wie sie für eine spätere Spracherkennung
verwendet wird. Dadurch lässt sich eine zweite Vorverarbeitung einsparen.
[0025] Die Vorverarbeitung 2 extrahiert aus den Audiosignalen der Audiodatenbank 1 Eigenschaftsvektoren
3, in denen Eigenschaften der Audiosignale angegeben werden. Diese Eigenschaftsvektoren
3 werden den Eingangsneuronen eines neuronalen Netzes 4 zugeführt.
[0026] Das neuronale Netz 4 ist ein Kohonen-Netz mit der Netzarchitektur einer selbstorganisierenden
Karte (SOM: Self-Organizing Map). Es hat die Eigenschaft, dass eine lokale Nachbarschaftsbeziehung
zwischen den einzelnen Neuronen existiert, so dass die die einzelnen Klassen repräsentierenden
Referenzvektoren nach erfolgtem Training räumlich geordnet vorliegen.
[0027] Das neuronale Netz wird auf Basis einer Datenbank trainiert, welche beispielsweise
Sprache und Geräusch in gleicher Häufigkeit aufweist.
[0028] Das Training eines solchen Netzes stellt ein selbstorganisierendes Clusterverfahren
mit unüberwachtem Lernen dar.
[0029] Als Ergebnis des Klassifikatortrainings ergibt sich eine Klassenrepräsentation 5.
[0030] Nach erfolgreichem Klassifikatortraining erfolgt in einer zweiten Phase, der Assoziationsphase,
die Zuordnung jeder einzelnen Klasse des Klassifikators 4 in Form des neuronalen Netzes
zu einer der beiden Klassen Sprache bzw. Nicht-Sprache. Dazu wird jetzt der Klassifikator
4 selbst im Klassifikationsmodus betrieben, das heißt, er gibt zu jedem Eigenschaftsvektor
3 die zugehörige Klasse 6 aus. Dies ist in Figur 2 dargestellt. Die Assoziationseinheit
7 wird dagegen im Trainingsmodus betrieben, das heißt, sie erlernt auf Basis der gelabelten
Audiosignale 8 die Zuordnung jeder der Klassifikatorklassen zu "Sprache" oder zu "Nicht-Sprache".
Dabei wird festgestellt, welchen Klassen jeweils wie viele Testsignale zugeordnet
worden sind, die "Sprache" oder die "Nicht-Sprache" sind. In Abhängigkeit von diesem
Ergebnis wird jede Klasse in einem Assoziationsschritt jeweils als Sprache- oder als
Nicht-Sprache-Klasse deklariert. Als Ergebnis erhält man die Klassenzuordnung 9 des
VADs.
[0031] Nach erfolgtem Assoziationsschritt werden die erhaltenen Ergebnisse weiter verbessert,
indem ein Mittelwertfilter dazu genutzt wird, einzelne Ausreißer zu eliminieren.
[0032] In Figur 4 ist die Amplitude A des deutschen Wortes "Zwanzig" (20) über der Zeit
t aufgetragen. Für dieses Signal ist unterhalb des Graphs das Ergebnis der Detektion
dargestellt, ob ein Sprachsignal vorliegt oder nicht.
[0033] Dabei ist in der ersten, mit "Real" bezeichneten Zeile die tatsächliche Klassifikation
angegeben. Hierbei steht "Noise" für "Nicht-Sprache" und "Speech" für "Sprache".
[0034] In der zweiten Zeile ("Label") ist die durch einen herkömmlichen VAD für ein Labeln
vorgenommene Klassifikation angegeben.
[0035] In der dritten, mit "N-VAD" bezeichneten Zeile ist schließlich die Detektion angegeben,
wie sie durch die erfindungsgemäße Vorrichtung und das erfindungsgemäße Verfahren
mit einer vorgegebenen Klassenzahl N = 625 erzielt wird. Wie man sieht, stimmt diese
Detektion und Klasseneinteilung wesentlich besser mit der Realität überein als die
mit dem herkömmlichen VAD vorgenommene. Dies macht sich insbesondere dadurch bemerkbar,
dass auch Pausen zwischen einzelnen Silben als "Nicht-Sprache" detektiert werden.
[0036] Durch die Erfindung ergeben sich insbesondere folgende Vorteile:
[0037] Unähnliche Eigenschaftsvektoren werden nicht mehr in die gleiche Klasse gezwungen,
sondern werden einer Klasse alleine auf Basis eines Ähnlichkeitskriteriums zugeordnet.
Dadurch steigt die Genauigkeit der Klassifikation an.
[0038] Ungenauigkeiten beim Labeln der Audiosignale wirken sich nicht auf den eigentlichen
Trainingsprozess aus, da unüberwachtes Lernen erfolgt. So werden typischerweise kurze
Sprechpausen zwischen einzelnen Silben beim Labeln nicht erfasst, sondern der Klasse
"Sprache" zugeordnet, obwohl in dieser Pause das Hintergrundgeräusch überwiegt. Bei
dem vorgeschlagenen Verfahren auf Basis von unüberwachtem Lernen wird diese kurze
Pause den ihr entsprechenden Eigenschaftsvektoren zugeordnet.
[0039] Das Verfahren ist unabhängig von Sprache und/oder Inhalt des gesprochenen Textes.
[0040] Insgesamt wird die Genauigkeit des VAD verbessert, was sich in besseren Ergebnissen
bei darauf aufbauenden Applikationen wiederspiegelt.
[0041] Entsprechend der gesteigerten Genauigkeit kann die Erfindung bevorzugt auch im Rahmen
des Enrollments bei einer biometrischen Spracherkennung zur Erkennung der Wortgrenzen
eingesetzt werden, nachdem bisherige Verfahren auf Basis der Signalenergie immer wieder
zu Fehlern und damit zu einem Sicherheitsrisiko bei der biometrischen Authentifizierung
führen.
1. Vorrichtung zur Detektion, ob ein Sprachsignal vorliegt oder nicht, mit
- Mitteln zum Einteilen eines Signals in eine von mehr als zwei Klassen,
- Mitteln zum Entscheiden, ob das Signal ein Sprachsignal ist oder nicht, in Abhängigkeit
von der Klasse, in die das Signal eingeteilt ist.
2. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet,
dass die Anzahl der mehr als zwei Klassen größer oder gleich 10 ist, insbesondere größer
oder gleich 64.
3. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Klassen in, insbesondere selbstorganisierten, Clustern geclustert sind.
4. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Klassen automatisch gebildete Klassen sind.
5. Vorrichtung nach Anspruch 4,
dadurch gekennzeichnet,
dass die automatisch gebildeten Klassen Klassen sind, die mit einem neuronalen Netz gebildet
sind.
6. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Vorrichtung für das Einteilen des Signals in eine von mehr als zwei Klassen ein
neuronales Netz aufweist.
7. Vorrichtung nach einem der Ansprüche 5 oder 6,
dadurch gekennzeichnet,
dass das neuronale Netz ein Kohonen-Netz ist.
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Vorrichtung ein mobiles Endgerät ist, insbesondere ein Mobiltelefon.
9. Biometrisches Verfahren, bei dem eine Vorrichtung nach einem der Ansprüche 1 bis 7
verwendet wird.
10. Verfahren zum Erstellen einer Klassenrepräsentation, anhand derer detektierbar ist,
ob ein Sprachsignal vorliegt oder nicht,
dadurch gekennzeichnet,
dass die Klassenrepräsentation mit mehr als zwei Klassen erstellt wird.
11. Verfahren nach Anspruch 10,
dadurch gekennzeichnet,
dass das Verfahren ein unüberwacht zu trainierendes Verfahren ist.
12. Verfahren nach Anspruch 10 oder 11,
dadurch gekennzeichnet,
dass das Verfahren ein sich selbst organisierendes Clusterverfahren ist.
13. Verfahren zur Detektion, ob ein Sprachsignal vorliegt oder nicht, bei dem
- ein Signal in eine von mehr als zwei Klassen eingeteilt wird,
- in Abhängigkeit von der Klasse, in die das Signal eingeteilt ist, entschieden wird,
ob das Signal ein Sprachsignal ist oder nicht.
14. Programmprodukt für eine Datenverarbeitungsanlage, das Codeabschnitte enthält, mit
denen ein Verfahren nach einem der Ansprüche 9 bis 13 auf einer Datenverarbeitungsanlage
ausführbar ist.