DE19952538C2 - Automatische Verstärkungsregelung in einem Spracherkennungssystem - Google Patents
Automatische Verstärkungsregelung in einem SpracherkennungssystemInfo
- Publication number
- DE19952538C2 DE19952538C2 DE19952538A DE19952538A DE19952538C2 DE 19952538 C2 DE19952538 C2 DE 19952538C2 DE 19952538 A DE19952538 A DE 19952538A DE 19952538 A DE19952538 A DE 19952538A DE 19952538 C2 DE19952538 C2 DE 19952538C2
- Authority
- DE
- Germany
- Prior art keywords
- energy
- distorted
- interval
- speech
- running
- 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
- 238000000034 method Methods 0.000 claims description 33
- 238000006073 displacement reaction Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- 238000012512 characterization method Methods 0.000 claims 1
- 150000001408 amides Chemical class 0.000 description 10
- 238000005259 measurement Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Die vorliegende Erfindung bezieht sich auf
Spracherkennungssysteme. Insbesondere zielt die Erfindung auf
ein System und ein Verfahren zur Normierung eines Sprachsignals
in einem Sprach-Präprozessor zur Eingabe in ein
Spracherkennungssystem.
Eine wohlbekannte Aufgabe für Spracherkennungssysteme
(nachstehend SR-Systeme genannt) besteht in der Normierung des
zu verarbeitenden Sprachsignals, einschließlich seiner Energie.
Die Normierung eines Sprachsignals ermöglicht den erfolgreichen
Vergleich der unbekannten gesprochenen Information mit
gespeicherten Mustern oder Modellen. Der Prozess der
Energienormierung umfasst im allgemeinen die Beseitigung der
Langzeitschwankungen und einer Verzerrung in der Energie des
Sprachsignals unter Beibehaltung der Kurzzeitschwankungen, die
die phonetische Information darstellen. Der Prozess der
Energienormierung verstärkt die Genauigkeit des SR-Systems
proportional zum Grad der angewendeten Normierung.
Die unerwünschten Langzeitschwankungen der Energie eines
Sprachsignals können typischerweise unterschiedliche Ursachen
haben. Eine übliche Quelle der Energieschwankung sind die
Schwankungen der Verstärkung und der Aufstellung des Mikrophons.
Gegenwärtige SR-Systeme sind sehr empfindlich gegen Schwankungen
sowohl der Verstärkung als auch der. Aufstellung des Mikrofons.
Ungeeignete Verstärkung bzw. Aufstellung führen zu höheren
Fehlerraten. Gegenwärtig besteht die einzige Möglichkeit zur
Anpassung des SR-Systems darin, eine Offline-Einstellung des
Mikrophons zu benutzen, um die Verstärkung einzustellen. Dies
bringt jedoch verschiedene Nachteile mit sich. Erstens ist sie
eine zusätzliche Belastung des Nutzers. Zweitens misst sie die
Audioqualität nicht online und stellt somit nicht die
Veränderungen fest, die seit der Einstellung des Systems
auftraten. Drittens misst sie nicht die Eigenschaft, die für das
SR-System am wichtigsten ist: das aktuelle Signal-Rausch-
Verhältnis.
Zusätzliche zur Energieschwankung beitragende und damit zu
höheren Fehlerraten führende Faktoren umfassen die Intensität
der Sprache des Sprechers, die typischerweise einen großen
dynamischen Bereich ausmacht. Ein weiteres allgemeines Problem
besteht darin, dass verschiedene Sprecher unterschiedliche
Lautstärkepegel besitzen. Demzufolge müssen die Schwankungen der
Amplitude oder der Energie, die zwischen verschiedenen
Äußerungen des gleichen Wortes oder Satzes durch verschiedene
Sprecher oder selbst durch den gleichen Sprecher zu
verschiedenen Zeiten auftreten, beseitigt oder wenigstens
verringert werden.
Beim bisherigen Stand der Technik wurden Hardware-Lösungen in
Form von automatischen Verstärkungsregelungen auf Soundkarten
benutzt, um die Energienormierung von Rohsignalen zu erreichen.
Es wurde allerdings nachgewiesen, dass der Normierungsgrad, der
von solchen Karten bereitgestellt wird, für die Zwecke der
Spracherkennung ungeeignet ist.
Beim bisherigen Stand der Technik wurde auch ein unverzerrter
Mittelwert benutzt; da aber die relativen Anteile von
Sprechen, Schweigen und Rauschen innerhalb des Signals nicht
vorher bekannt sind, ist ein unverzerrter Mittelwert keine
zuverlässige Norm. Der Spitzenwert der Energie ist eine
zuverlässigere Norm, es gibt jedoch einen dabei auftretenden
Nachteil bei der Verfolgung der Spitzenenergie, der darin
besteht, dass das System darunter leiden kann, dass es zu
empfindlich für momentane Energieschwankungen ist. Es ist
deshalb wünschenswert, einen zuverlässigen Indikator für die
Spitzenenergie zu haben, ohne übermäßig empfindlich zu sein
für Spitzenenergieänderungen.
Ein weiteres allgemeines Problem, das mit der
Energienormierung zusammenhängt, ist die Erkennung von
Sprechpausen. Wegen der atmosphärischen Störungen im
Hintergrund ist die Signalenergie kein guter Indikator für
Schweigezeitabschnitte. Die atmosphärischen Störungen in
einem System könnten sich auf dem Sprachniveau eines anderen
Systems befinden. Da man keine Kontrolle über die benutzten
Soundkarten und Mikrophone hat, ist es deshalb wünschenswert,
ein alternatives Maß für den Schweigepegel zu haben.
Europäische Patentschrift EP 0 140 249 beschreibt eine
Sprachanalyse mit Energienormierung, die auf einer
"Vorgriffsenergienormierung" (look ahead) beruht. Hierbei
wird ein adaptiver Energieverfolgungswert über mehrere Frames
eines Abschnittes einer Sprachanalyse zur Anpassung
verwendet. Diese Frames werden eine bestimmte Zeitspanne
zwischengespeichert und dann mittels des "gegenwärtigen
adaptiven Energieverfolgungswerts" angepasst. Die
Energienormierung ist eine Vorgriffsenergienormierung, d. h.
dass ältere Frames eines Sprachabschnitts werden mittels
eines gegenwärtigen adaptiven Energieverfolgswerts angepasst.
Es ist deshalb eine allgemeine Aufgabe der vorliegenden
Erfindung, ein System und ein Verfahren der Sprachsignal
ormierung zur Beseitigung oder Verringerung der Schwankungen
der Signalenergie vor einem Spracherkennungsprozess zu
entwickeln.
Diese Aufgabe wird gelöst durch einen Spracherkennung-
Präprozessor nach Anspruch 1, ein Verfahren zur Normierung
der Energie in einem Sprachsignal nach Anspruch 5 und durch
ein Verfahren zur Energienormierung in einem PCM-Sprachsignal
nach Anspruch 12. Dabei wird die Energie in einem
Sprachsignal normiert, indem die Langzeitschwankungen und die
Verzerrung in der Energie des Signals beseitigt werden,
während die Kurzzeitschwankungen, die die phonetische
Information darstellen, zurückbehalten werden. Ein Verfahren
der vorliegenden Erfindung konstruiert mehrere verschiedene
Energiespuren, vorzugsweise eine Spur mit hoher, mittlerer
und niedriger Energie. Die Werte werden mathematisch
geglättet und dann benutzt, um die obere und untere
Energieeinhüllende des Sprachsignals zu verfolgen. Die
geglättete Spur für die hohe Energie wird benutzt, um die
Energie im Signal zu normieren. Weitere vorteilhafte
Ausgestaltungen der Erfindung sind in den Unteransprüchen
angegeben.
Die Erfindung und ihre Funktionsweise wird aus der folgenden
Beschreibung der bevorzugten Ausführungsformen und aus den
beigefügten Zeichnungen besser ersichtlich.
Fig. 1 ist ein Blockdiagramm eines Spracherkennungs-
Präprozessors entsprechend der vorliegenden Erfindung, in
Verbindung mit einem Spracherkennungs-Prozessor.
Fig. 2 zeigt eine Musterkonstruktion einer PCM-Wellenform und
eines zugehörigen Beobachtungsfensters für die Anwendung der
vorliegenden Erfindung.
Fig. 3 ist ein Flussdiagramm, das die Beseitigung der
Langzeitschwankungen und der Verzerrung in der Energie eines
Sprachsignals entsprechend der vorliegenden Erfindung zeigt.
Die spezielle Software-Realisierung der vorliegenden Erfindung
sollte nicht als Einschränkung gesehen werden, weil die
vorliegende Erfindung entweder ganz oder teilweise durch
Hardware realisiert werden kann.
Wir beziehen uns zuerst auf Fig. 1, wo ein Blockdiagramm eines
Spracherkennungs-Präprozessors 100 dargestellt ist, auf den die
vorliegende Erfindung angewendet wird, zusammen mit einem
Spracherkennungssystem 114. Der Spracherkennungs-Präprozessor
100 enthält ein Analysemodul 102, das betriebsmäßig mit einem
Modul 104 zur Verfolgung der Energie verbunden ist. Das Modul
zur Verfolgung der Energie 104 ist betriebsmäßig mit einem
Berechnungsmodul 110 für normierte Energie und einem Messmodul
106 verbunden. Das Modul 110 für normierte Energie ist mit dem
Spracherkennungs-Prozessor 114 verbunden. Das Messmodul 106 ist
mit einem Messanzeigemodul 108 verbunden.
Das Analysemodul 102 erhält ein PCM-Sprachsignal als Eingabe.
Das Analysemodul 102 teilt das PCM-Sprachsignal in eine Vielzahl
aufeinanderfolgender nichtüberlappender Felder. Jedes Feld
repräsentiert eine feste Zeitscheibe der PCM-Wellenform, die
eine gewisse Anzahl von digitalen Abtastwerten enthält. Die
geteilte PCM-Wellenform wird an das Modul 104 zur Verfolgung der
Energie übergeben.
Das Modul 104 zur Verfolgung der Energie erhält die in Felder
unterteilten Daten der PCM-Wellenform als Eingabe und
konstruiert ein Beobachtungsfenster, das mit diskreten
Verschiebungsinkrementen zu den Zeitpunkten (t, t + delta,
t + (2.delta), . . . usw.) über die gesamte Wellenform inkrementell
verschoben wird. Bei jedem Verschiebungsinkrement des
Beobachtungsfensters sind ein oder mehrere Felder der PCM-
Wellenform im Beobachtungsfenster enthalten. Bei jedem
Verschiebungsinkrement des Beobachtungsfensters wird aus den
Felddaten, die sich im Fenster befinden, ein Eigenschaftsvektor
berechnet. Eine der berechneten Eigenschaften des
Eigenschaftsvektors ist die RIAS-Energie des Sprachsignals,
vorzugsweise in Dezibel gemessen. Zusätzlich zur RMS-Energie
wird auch der nullte Cepstrum-Koeffizient CO als Teil des
Eigenschaftsvektors berechnet. Das Verfahren kann entweder die
RMS-Energie oder CO benutzen, um die momentane Energie des
Signals darzustellen. Die berechnete Energieeigenschaft wird
benutzt, um mehrere Energiespuren zu berechnen, vorzugsweise
hoch, mittel und niedrig. Die obere Energiespur Ahigh(t) wird
berechnet, um die obere Einhüllende der Signalenergie zu
verfolgen, die mittlere Energiespur Amid(t) wird berechnet, um
die durchschnittliche Signalenergie zu verfolgen, und die untere
Energiespur Alow(t) wird berechnet, um die untere Einhüllende
der Signalenergie zu verfolgen. Die hohen und niedrigen
Energiespuren werden berechnet, indem zwei gewichtete Terme
addiert werden, in denen sich die Gewichtskoeffizienten an
Veränderungen in der aktuell beobachtbaren Signalenergie für das
aktuelle Verschiebungsinkrement anpassen. Die mittlere
Energiespur benutzt konstante nicht adaptierbare
Gewichtskoeffizienten. Jede der drei Energiespuren hat die
allgemeine Form einer laufenden Summe, die wie folgt definiert
wird:
current_running_sum(t) = (previous_running_sum(t - 1).w1) + (currently_observed_value(t).(1 - w1))
current_running_sum(t) = (previous_running_sum(t - 1).w1) + (currently_observed_value(t).(1 - w1))
aktuelle_laufende_summe(t) = (vorherige_laufende_summe(t -
1).w1) + (aktueller_beobachteter_wert(t).(1 - w1)) [Gl. 1]
Die Variablen (t) und (t - 1) stellen die Zeitpunkte des
Verschiebungsinkrements dar, die dem Beobachtungsfenster
zugeordnet sind, wobei die Zeit (t) die Zeit darstellt, die
einem aktuellen Verschiebungsinkrement zugeordnet ist, und die
Zeit (t - 1) stellt die Zeit dar, die dem letzten
Verschiebungsinkrement des Beobachtungsfensters zugeordnet ist.
Weiterhin ist Gleichung 1 rekursiv, wodurch die vorherige
laufende Summe zur Zeit (t - 1) zu einem aktuell zur Zeit (t)
beobachteten Wert addiert wird, um eine laufende Summe zum
Zeitpunkt (t) zu erhalten. Weiterhin stellen sowohl die aktuelle
als auch die vorhergehende laufende Summe Mittelwerte dar. Die
oberen, mittleren und unteren Energiespuren als solche, die im
allgemeinen durch Gleichung 1 dargestellt werden, werden
nachstehend jeweils als oberer verzerrter laufender Mittelwert,
als unverzerrter laufender Mittelwert und als unterer verzerrter
laufender Mittelwert bezeichnet. Die Einzelheiten, die bei der
jeweiligen Berechnung von jeder der drei Energiespuren
auftreten, werden nachstehend angegeben.
Nach der Berechnung des oberen verzerrten, unverzerrten und
unteren verzerrten laufenden Mittelwertes berechnet das Modul
104 zur Verfolgung der Energie weiterhin geglättete Werte sowohl
für den oberen als auch den unteren verzerrten laufenden
Mittelwert im Logbereich - Epeak(t) und Efloor(t). Die
geglätteten Werte messen die oberen bzw. unteren
Energieeinhüllenden der PCM-Wellenform. Die geglätteten Werte
werden aber nicht unterschiedslos bei jedem
Verschiebungsinkrement berechnet, sie werden statt dessen
selektiv bei jedem Verschiebungsinkrement berechnet, in
Abhängigkeit davon, ob die Felddaten, die sich für das aktuelle
Verschiebungsinkrement im Beobachtungsfenster befinden, als
Sprach- oder Schweigeintervall charakterisiert sind. Um dies
festzustellen, liefert das Modul 104 zur Verfolgung der Energie
den unverzerrten laufenden Mittelwert Amid(t) und den unteren
verzerrten laufenden Mittelwert Alow(t) als Eingabe für das
Modul 112 zur Unterscheidung von Sprache und Schweigen. Das
Modul 112 zur Unterscheidung von Sprache und Schweigen
vergleicht den unverzerrten laufenden Mittelwert mit dem unteren
verzerrten laufenden Mittelwert, und immer wenn der unverzerrte
laufende Mittelwert innerhalb eines bestimmten vordefinierten
Schwellwertes Athresh des unteren verzerrten laufenden
Mittelwertes liegt, wird dieses Intervall als Schweigeintervall
gekennzeichnet. In gleicher Weise wird das Intervall als
Sprachintervall gekennzeichnet, wenn der unverzerrte laufende
Mittelwert Amid(t) um den vorher definierten Schwellwert Athresh
größer ist als der untere verzerrte laufende Mittelwert. Das
Ergebnis der Bestimmung von Sprache und Schweigen wird als
Eingabe dem Modul 104 zur Verfolgung der Energie bereitgestellt,
um zu sichern, dass der obere verzerrte geglättete Wert Epeak(t)
nur für die Intervalle aktualisiert wird, die als
Sprachintervalle gekennzeichnet wurden. Dementsprechend
aktualisiert das Modul 104 zur Verfolgung der Energie den
unteren verzerrten geglätteten Wert Efloor(t) nur für die
Intervalle, die als Schweigintervalle bestimmt wurden. Das
selektive Aktualisieren der oberen und unteren verzerrten
geglätteten Werte erleichtert die optimale Verfolgung der oberen
und unteren Energieeinhüllenden. Für Sprachintervalle wird der
geglättete untere verzerrte laufende Mittelwert Efloor(t)
konstant (gegattert) gehalten, auf dem Wert, der für das letzte
Schweigintervall berechnet wurde. Dementsprechend wird für die
Schweigintervalle der geglättete obere verzerrte laufende
Mittelwert Epeak(t) konstant (gegattert) gehalten, auf dem Wert,
der für das letzte Sprachintervall berechnet wurde. Wenn die
Gatteroperation nicht ausgeführt würde, dann würde der
geglättete hohe verzerrte laufende Mittelwert Epeak(t)
schließlich während langer Schweigesegmente auf das Niveau ohne
Sprache abfallen. In ähnlicher Weise würde der untere verzerrte
laufende Mittelwert Efloor(t) schließlich während langer
Sprachsegmente auf die Sprachniveaus ansteigen. Die Einzelheiten
der Unterscheidung jedes Intervalls als Sprach- oder
Schweigeintervall wird in Verbindung mit der bevorzugten
Ausführungsform beschrieben.
Das Modul 104 zur Verfolgung der Energie liefert die geglätteten
oberen und unteren verzerrten laufenden Mittelwerte Epeak(t) und
Efloor(t) an das Messmodul 106 und außerdem Epeak(t) und die
momentane beim aktuellen Verschiebungsinkrement beobachtete
Energie an das Berechnungsmodul 110 für normierte Energie.
Das Messmodul 106 benutzt die bereitgestellten Eingaben, um
einen Schätzwert für das Spitzen-S/N-Verhältnis und eine Zahl
für das absolute Grundrauschen für das aktuelle
Verschiebungsinkrement zu berechnen. Das S/N-Verhältnis und die
absoluten Werte des Grundrauschens werden ihrerseits als Eingabe
an ein Anzeigemodul 108 übergeben, um dem Nutzer des
Spracherkennungssystems (SR) eine Rückkopplung als Hinweis auf
dessen Audioqualität zur Verfügung zu stellen.
Der geglättete obere verzerrte laufende Mittelwert Epeak(t) wird
als Eingabe an das Modul 110 für die normierte Signalenergie
übergeben, um die normierte Signalenergie Enorm(t) für das
aktuelle Verschiebungsinkrement zu berechnen. Enorm(t) wird
berechnet, indem die Energieeigenschaft, entweder die RMS-
Energie oder CO, von Epeak(t) subtrahiert wird. Das Ergebnis
wird dann als Eingabe an das Spracherkennungsmodul 114 zur
Verarbeitung übergeben.
Wir beziehen uns auf Fig. 2, wo eine exemplarische
Ausführungsform der vorliegenden Erfindung veranschaulicht wird.
Fig. 2 zeigt ein PCM-Sprachsignal 2 als eine Reihe
aufeinanderfolgender Felder 4. Jedes Feld stellt eine
Zeitscheibe von 1/100 Sekunde der PCM-Wellenform dar. Es wird
auch ein Beobachtungsfenster 6 mit einer Breite von 2/100
Sekunden gezeigt, das inkrementell vom Anfang bis zum Ende in
Verschiebungsinkrementen von 1/100 Sekunden über die PCM-
Wellenform verschoben wird. Die exemplarische Ausführungsform
veranschaulicht ein Beobachtungsfenster, das die doppelte Breite
eines Feldes besitzt. Wenn man diese jeweiligen Breiten und den
Wert für das Verschiebungsinkrement voraussetzt, dann wird jedes
Feld zweimal abgetastet.
Wir beziehen uns jetzt auf Fig. 3, wo ein Flussdiagramm die
Schritte des Verfahrens zeigt, die bei jedem
Verschiebungsinkrement des Beobachtungsfensters ausgeführt
werden. Beginnend mit Schritt 40 wird eine Anzahl von Parametern
zum Zeitpunkt 0 initialisiert, sie umfassen eine
Verfolgungszeitkonstante Tt, eine Glättungszeitkonstante Ts,
eine Anzeigezeitkonstante Td, eine Kontrastanpassung für
verzerrte Gewichtung K, ein erwarteter maximaler beobachteter
Wert Emax, ein erwarteter minimaler beobachteter Wert Emin, ein
Rauschschwellwert für die Unterscheidung von Sprache und
Schweigen Ethresh, gemessen in dB, und durch Umwandlung in den
linearen Bereich Athresh.
Zusätzlich zur Initialisierung der Parameter wird eine Anzahl
von Anfangsbedingungen festgelegt, sie enthalten Anfangswerte
für den oberen verzerrten laufenden Mittelwert Ahigh(0), der auf
den Wert von Emin im linearen Bereich, das erwartete beobachtete
Minimum, initialisiert wird; einen mittleren verzerrten
laufenden mittleren Anfangswert Amid(0), der auch auf Emin
initialisiert wird; und einen Anfangswert für die untere
verzerrte laufende mittlere Energiespur Alow(0), die auf den
Wert von Emax im linearen Bereich, den erwarteten maximalen
beobachteten Wert, initialisiert wird. Weitere Anfangswerte
umfassen die gegatterte und geglättete obere Energiespur
Epeak(0), die auf Emax initialisiert wird, und Efloor(0), die
gegatterte und geglättete untere Spur, die auf (Emax + Emin)/2
initialisiert wird. Die Anzeige des Signal-Rausch-Verhältnisses
DS/N(0) wird ebenso auf null gesetzt wie die Anzeige des
Grundrauschens Dnoise(0).
Weiterhin wird zum Zeitpunkt null die Abtastrate von 22k
Abtastungen/s für die PCM-Wellenform initialisiert, und das
Beobachtungsfenster wird so positioniert, dass es die ersten
zwei Felder der Wellenformdaten enthält.
In der exemplarischen Ausführungsform ergibt die Abtastung der
PCM-Wellenform mit einer Rate von 22k Abtastungen pro Sekunde
für eine Dauer des Verschiebungsinkrements von 1/100 Sekunde 440
Abtastwerte, wenn eine Breite des Beobachtungsfensters von 2/100
Sekunden gegeben ist (zwei Felder).
In Schritt 41 wird das Beobachtungsfenster um 1/100 Sekunde
verschoben (d. h. ein Verschiebungsinkrement längs der PCM-
Wellenform). Wir beziehen uns nun auf Fig. 2, wo ein
Beobachtungsfenster 6 anfänglich so positioniert wird, dass es
sich an einem Anfang der PCM-Wellenform zum Zeitpunkt t = 0
befindet. Das Beobachtungsfenster bewegt sich zeitlich von einem
ersten Feld zu einem letzten Feld der PCM-Wellenform in
diskreten Verschiebungsinkrementen. Fig. 2 veranschaulicht eine
Startposition des Beobachtungsfensters 6 und zwei
aufeinanderfolgende Verschiebungsinkremente 8 und 10, wobei in
der exemplarischen Ausführungsform jedes Verschiebungsinkrement
äquivalent zur zeitlichen Verschiebung des Beobachtungsfensters
um 1/100 Sekunde ist.
In Schritt 42 wird aus den 440 Abtastwerten ein
Eigenschaftsvektor berechnet, wobei eine der berechneten
Eigenschaften die RMS-Energie des Sprachsignals Eobs ist, ein in
Dezibel gemessener Wert des Log-Bereiches. Zusätzlich zur RMS-
Energie wird auch C0, der nullte Cepstrum-Koeffizient als Teil
des Eigenschaftsvektors berechnet. Das Verfahren kann entweder
die RMS-Energie oder C0 benutzen, um die Augenblicksenergie des
Signals zu berechnen. In der exemplarischen Ausführungsform
geschieht die Verfolgung im linearen Bereich (Aobs), andere
Ausführungsformen können die Augenblicksenergie entweder im
linearen Bereich oder im Log-Bereich verfolgen. Die Umwandlung
vom Log-Bereich (gemessen in Dezibel) in den linearen Bereich
ist durch Gleichung 2 wie folgt gegeben:
Die Konstante K bestimmt die Größe der Verzerrung, die für die
Berechnung der laufenden Summen benutzt wird, und die übrigen
Terme skalieren die Energie, so dass sie im Bereich von 0 bis 1
liegt und somit entweder die RMS-Energie oder C0 verwendet
werden kann.
Zusätzlich zur Berechnung eines Eigenschaftsvektors werden bei
jedem Verschiebungsinkrement die oberen, mittleren und unteren
laufenden Mittelwerte berechnet. Die Berechnung des oberen
verzerrten laufenden Mittelwertes Ahigh(t) geschieht wie folgt:
Ahigh(t) = (Whigh(t).Aobs(t)) + ((1 - Whigh(t))
.Ahigh(t - 1)) [Gl. 3]
Die Berechnung des unteren verzerrten laufenden Mittelwertes
Alow(t) geschieht wie folgt:
Alow(t) = (Wlow(t).Aobs(t)) + ((1 - Wlow(t))
.Alow(t - 1)) [Gl. 4]
Dabei stellen Whigh(t) und Wlow(t) in den Gleichungen 3 und 4
einstellbare Gewichtskoeffizienten dar.
Whigh(t) und Wlow(t) werden jeweils wie folgt berechnet:
Whigh(t) = min(1.0, (Aobs(t)/Ahigh((t - 1))2/Tt) [Gl. 5]
Wlow(t) = min(0.5, (Alow(t - 1)/Aobs(t))2/Tt) [Gl. 6]
Die Gleichungen 5 und 6 veranschaulichen, wie sich die
Gewichtskoeffizienten bei jedem Verschiebungsinkrement anpassen,
als Reaktion auf die relative Größe der momentan beobachteten
Amplitude Aobs(t) und die vorher berechneten oberen und unteren
verzerrten laufenden Mittelwerte Ahigh(t - 1) bzw. Alow(t - 1).
Diese Anpassungsfähigkeit bei jedem Verschiebungsinkrement ist
vorteilhaft, weil die obere und die untere Energieeinhüllende
genau verfolgt werden kann, indem die Gewichtskoeffizienten in
Reaktion auf augenblickliche Schwankungen im Signalpegel
angepasst werden.
Unter spezieller Bezugnahme auf Gleichung 3 und 5: wenn der
aktuell beobachtete Wert Aobs(t) viel größer ist als Ahigh(t - 1),
die obere verzerrte laufende Summe, die im vorhergehenden
Intervall berechnet wurde, würde der Gewichtsmultiplikator
Whigh(t) in Gleichung 5 nach oben korrigiert (d. h. auf einen
Wert näher an 1), wodurch der Term Aobs(t) in Gleichung 3 ein
proportional höheres Gewicht erhält.
Die Anpassung des Gewichtskoeffizienten, die bei jedem
Verschiebungsinkrement für den unteren verzerrten laufenden
Mittelwert Alow(t) durchgeführt wird, geschieht ähnlich zu der
Anpassung, die für den oberen verzerrten laufenden Mittelwert
beschrieben wurde, der Gewichtskoeffizient Wlow(t) wird jedoch
so korrigiert, dass er sich an momentane Schwankungen in der
unteren Energie des Sprachsignals anpasst. Insbesondere wird die
relative Größe der momentan beobachteten Amplitude Aobs(t) mit
dem vorher berechneten Mittelwert Alow(t - 1) verglichen, und wenn
die Differenz groß ist, wird der
Gewichtskoeffizientsmultiplikator als Reaktion darauf angepasst.
Unter besonderer Bezugnahme auf Gleichung 4 und 6: wenn der
laufende Beobachtungswert Aobs(t) viel kleiner als der vorher
berechnete untere verzerrte laufende Mittelwert Alow(t - 1) ist,
wird als Reaktion darauf der Gewichtsmultiplikator Wlow(t) nach
oben angepasst, um sich schnell an die momentane große
Veränderung in der unteren Signalenergie anzupassen.
Zusätzlich zur Berechnung eines oberen und unteren verzerrten
laufenden Mittelwertes bei jedem Verschiebungsinkrement wird der
unverzerrte laufende Mittelwert (mittlere Energiespur) Amid(t)
berechnet und stellt den laufenden Mittelwert der Energie des
Sprachsignals dar. Der unverzerrte laufende Mittelwert Amid(t)
wird wie folgt berechnet:
Amid(t) = (Wmid.Aobs(t)) + ((1 - Wmid).Amid(t - 1)) [Gl. 7]
Die Berechnung des unverzerrten laufenden Mittelwertes stellt
die durchschnittliche Energie der PCM-Wellenform dar und
unterscheidet sich von den vorherigen Berechnungen des unteren
und oberen verzerrten laufenden Mittelwertes dadurch, dass der
Gewichtskoeffizient Wmid konstant ist und sich deshalb nicht bei
jedem Verschiebungsinkrement ändert. Die Berechnung des
unverzerrten laufenden Mittelwertes als solche wird somit als
energieunabhängig bezeichnet. Der Gewichtsmultiplikator Wmid in
der Gleichung wird wie folgt berechnet:
Wmid = 1/Tt [Gl. 8]
Dabei repräsentiert Tt die Verfolgungszeitkonstante, deren Wert
typischerweise 0,1 s beträgt. Der Wert für Tt wird so gewählt,
dass er kurz genug ist, um schnell auf Übergänge vom Schweigen
zur Sprache zu reagieren, aber lang genug, um das Schweigen
innerhalb von Worten, zum Beispiel Stoppkonsonanten oder
Reibelaute mit niedriger Energie, zu ignorieren.
Schritt 50 ist ein Schritt zur Bestimmung des Unterschiedes
zwischen Sprache und Schweigen. Das heißt, bei jedem
Verschiebungsinkrement des Beobachtungsfensters wird bestimmt,
ob der Teil der PCM-Wellenform (d. h. digitale Abtastwerte), der
sich innerhalb der laufenden Position des Beobachtungsfensters
befindet, ein Schweigeintervall oder ein Sprachintervall bildet.
Um diese Bestimmung vorzunehmen, wird ein Vergleich zwischen dem
unteren verzerrten laufenden Mittelwert Alow(t) und dem
unverzerrten laufenden Mittelwert Amid(t) ausgeführt.
Insbesondere wird das Intervall als ein Schweigeintervall
gekennzeichnet, wenn der unverzerrte laufende Mittelwert Amid(t)
weniger als ein bestimmter Schwellwert Athresh vom unteren
verzerrten laufenden Mittelwert entfernt ist. Entsprechend wird
das Intervall als Sprachintervall gekennzeichnet, wenn der
unverzerrte laufende Mittelwert Amid(t) größer als der
Schwellwert Athresh ist. Der Schwellwert Athresh wird wie folgt
berechnet:
Athresh = 10(K.(Ethresh/(Emax-Emin))) [Gl. 9]
Dabei ist Ethresh die Rauschschwelle für die Bestimmung von
Sprache/Schweigen, die niedrig genug ist, um Konsonanten mit
niedriger Energie zu ignorieren, und hoch genug, um das
Einsetzen von Schweigen schnell zu entdecken, zum Beispiel 5 dB.
Emax und Emin sind die erwarteten maximalen bzw. minimalen Werte
der Beobachtungen, zum Beispiel 80 dB und 0 dB.
Wenn das laufende Intervall als Sprachsignal bestimmt wird, dann
geschieht eine Verzweigung zu Schritt 52. In Schritt 52 wird
eine Glättungsoperation ausgeführt. Insbesondere wird der obere
verzerrte laufende Mittelwert Ahigh(t) mathematisch geglättet,
was Epeak(t) ergibt (nachstehend als gegatterter und geglätteter
oberer verzerrter laufender Mittelwert bezeichnet).
In der beispielhaften Ausführungsform werden die drei
Energiespuren (d. h. der obere, mittlere und untere verzerrte
laufende Mittelwert) im linearen Bereich berechnet. Die
zugehörigen geglätteten Werte für den oberen und unteren
verzerrten laufenden Mittelwert werden jedoch im Log-Bereich
berechnet. Zur Konvertierung des linearen oberen verzerrten
laufenden Mittelwertes vom linearen Bereich in den Log-Bereich
wird Gleichung 10 angegeben:
Ehigh(t) = Emin + (log10(Ahigh(t)).(Emax - Emin)/K)) [Gl. 10]
Unter Benutzung von Ehigh(t) wird dann der geglättete Wert für
den oberen verzerrten Mittelwert (d. h. der gegatterte und
geglättete obere verzerrte laufende Mittelwert) wie folgt
berechnet:
Epeak(t) = (Wpeak(t).Ehigh(t)) + ((1 - Wpeak(t))
.Epeak(t - 1)) [Gl. 11]
Dabei stellt Wpeak(t) den Gewichtskoeffizienten für die
Berechnung von Epeak(t) dar und wird wie folgt berechnet:
Wpeak(t) = min[1,0, (Ehigh(t) - Emin)/
(Epeak(t - 1) - Emin)))2/Ts] [Gl. 12]
Zum Zeitpunkt 0 wird der gegatterte und geglättete obere
verzerrte laufende Mittelwert Epeak(0) anfänglich auf Emax
gesetzt, den erwarteten Minimalwert der Beobachtungen, zum
Beispiel 80 dB. Epeak(t) wird sich dann in den folgenden
Verschiebungsinkrementen schnell an den korrekten Wert anpassen.
Der Wert von Epeak(t) wird nur in den Intervallen aktualisiert,
die als Sprachintervalle bestimmt sind. Ansonsten wird der Wert
von Epeak(t) für die Intervalle, die als Schweigeintervalle
bestimmt wurden, auf dem Wert konstant gehalten, der zuletzt im
jüngsten Sprachintervall aktualisiert wurde. Dies ist notwendig,
weil, wenn der geglättete obere verzerrte laufende Mittelwert in
Schweigesegmenten aktualisiert würde, sein Wert schließlich
während langer Schweigesegmente auf den Schweigepegel fallen
würde, wodurch seine Fähigkeit, die obere Energieeinhüllende
optimal zu verfolgen, begrenzt würde.
In entsprechender Weise wird ein geglätteter unterer verzerrter
laufender Mittelwert Efloor(t) in Schweigeintervallen
aktualisiert und in Sprachintervallen konstant gehalten
(gegattert). Das heißt, in Sprachintervallen wird der Wert auf
dem Wert konstant gehalten, auf den er im jüngsten
Schweigeintervall aktualisiert wurde. Das Gattern des
gegatterten und geglätteten unteren verzerrten laufenden
Mittelwertes Efloor(t) ist notwendig, weil sonst der geglättete
Wert schließlich während langer Sprachsegmente auf Sprachpegel
ansteigen würde.
Wenn im Bestimmungsschritt 50 bestimmt wird, dass das Intervall
ein Schweigeintervall ist, dann wird zu Schritt 53 verzweigt. In
Schritt 53 wird der gegatterte und geglättete untere verzerrte
laufende Mittelwert Efloor(t) aktualisiert. Efloor(t) wird im
Log-Bereich berechnet. Um Efloor(t) im Log-Bereich zu berechnen,
ist es notwendig, zuerst den unteren verzerrten laufenden
Mittelwert Alow(t) aus dem linearen in den Log-Bereich zu
konvertieren.
Elow(t) = Emin + (log10(Alow(t)).(Emax - Emin)/K)) [Gl. 13]
Der Wert von Elow(t) wird dann benutzt, um den gegatterten und
geglätteten oberen verzerrten Mittelwert wie folgt zu berechnen:
Efloor(t) = (Wfloor(t).Elow(t)) +
((1 - Wfloor(t)).Efloor(t - 1)) [Gl. 14]
Dabei ist Wfloor(t) der Gewichtskoeffizient für die Berechnung
von Efloor und wird wie folgt berechnet:
Wfloor(t) = min[1,0, ((Emax - Elow(t)/
(Emax - Efloor(t - 1)))2/Ts)] [Gl. 15]
So wie für die gegatterten und geglätteten oberen verzerrten
laufenden Mittelwerte wird auch der gegatterte und geglättete
Wert Efloor(0) anfänglich auf einen gewissen Wert gesetzt, der
abschätzt, wie die Einhüllende aussehen sollte, und dann passt
sich der Wert schnell in nachfolgenden Verschiebungsinkrementen
an den richtigen Wert an.
Im Schritt 54 wird der gegatterte und geglättete obere verzerrte
laufende Mittelwert Epeak(t) vom Energiemerkmal abgezogen, was
den Energienormierungsvektor Enorm(t) ergibt, der vom SR-System
benutzt wird. Enorm(t) wird wie folgt berechnet:
Enorm(t) = Eobs(t) - Epeak(t) [Gl. 16]
In Schritt 55 wird der Wert des gegatterten und geglätteten
unteren verzerrten laufenden Mittelwerts an einen Nutzer als ein
Maß für den absoluten Rauschpegel ausgegeben.
Ein Maß für das Signal-Rausch-Verhältnis wird dem Nutzer
ebenfalls angezeigt, indem die Differenz zwischen dem
gegatterten und geglätteten oberen verzerrten und dem unteren
verzerrten laufenden Mittelwert berechnet wird.
In der beispielhaften Ausführungsform wird einem Nutzer ein
Audiostatus-Anzeiger angezeigt, der in seiner Form einem
Standard-Schallpegelmesser ähnlich ist. Der Audiostatus-Anzeiger
zeigt dem Nutzer kontinuierlich das berechnete Signal-Rausch-
(S/N) Verhältnis an. Bei sehr niedrigen Signal-Rausch-Pegeln
zeigt der Anzeiger einen blauen Balken an, was darauf hinweist,
dass die Sprache des Nutzers dem SR-System weitestgehend
unverständlich ist und dass eine gewisse Anpassung vorgenommen
werden muss. Bei höheren S/N-Pegeln werden sowohl ein blauer als
auch ein gelber Balken angezeigt, was darauf hinweist, dass
durch das System eine gewisse Spracherkennung erreicht wird, die
Situation aber bei weitem nicht ideal ist. Bei noch höheren
Signal-Rauschpegeln, bei denen die Spracherkennung ideal ist,
wird ein blauer, gelber und grüner Balken angezeigt. Wenn der
Audiopegel so hoch ist, dass das Signal abgeschnitten werden
kann, dann wird ein roter Balken gemeinsam mit dem blauen,
gelben und grünen Balken angezeigt. Es ist mehr der absolute
Audiopegel, der bestimmt, ob der rote Balken angezeigt wird, als
das s/n-Verhältnis. Während Schweigesegmente wird um die
farbigen Balken herum ein schwarzer Rahmen angezeigt. Er wird
während der Sprechintervalle entfernt (ein grauer Rahmen ersetzt
den schwarzen Balken und passt sich während des Sprechens an den
Hintergrund an). Diese Indikatoren ergeben eine präzise
Zusammenfassung des Zustandes der Audioqualität, die das SR-
System beeinflusst. Alternative Ausführungsformen würden
zusätzlich zu den oben beschriebenen Indikatoren numerische
Werte enthalten.
Schritt 58 ist ein Bestimmungsschritt, um zu entscheiden, ob das
Beobachtungsfenster das Ende der PCM-Wellenform erreicht hat.
Falls nicht, wird zum Schritt 41 zurückverzweigt, in dem das
Beobachtungsfenster längs der Wellenform um ein
Verschiebungsinkrement verschoben wird. Ansonsten endet der
Prozess in Schritt 60.
Demzufolge erreicht die vorliegende Erfindung die oben
beschriebenen Aufgaben der Energienormierung und der
Unterscheidung von Sprechen und Schweigen.
Obwohl hier anschauliche Ausführungsformen der vorliegenden
Erfindung beschrieben wurden unter Bezugnahme auf die
begleitenden Zeichnungen, muss verstanden werden, dass die
Erfindung nicht genau auf diese Ausführungsformen beschränkt ist
und dass verschiedene andere Veränderungen und Modifikationen
von einem Fachmann vorgenommen werden können, ohne vom Umfang
oder dem Sinn der Erfindung abzuweichen.
Claims (21)
1. Spracherkennungs-Präprozessor, der umfasst:
einen Analysator für den Empfang eines digitalen Sprachsignals, woraus eine Folge von Feldern erzeugt wird und jedes Feld eine Vielzahl von Abtastwerten des digitalen Sprachsignals enthält;
Mittel, die mit dem Analysatormittel verbunden sind, zur Verfolgung einer oberen Energieeinhüllenden, einer durchschnittlichen Energie und einer unteren Energie durch eine Vielzahl von Energiespuren in einem oder mehreren aufeinander folgenden Feldern des digitalen Sprachsignals; und
Mittel, die mit dem Verfolgungsmittel verbunden sind, zur Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus der oberen Energieeinhüllenden und zur Bereitstellung des normierten Energiewertes für ein Spracherkennungssystem.
einen Analysator für den Empfang eines digitalen Sprachsignals, woraus eine Folge von Feldern erzeugt wird und jedes Feld eine Vielzahl von Abtastwerten des digitalen Sprachsignals enthält;
Mittel, die mit dem Analysatormittel verbunden sind, zur Verfolgung einer oberen Energieeinhüllenden, einer durchschnittlichen Energie und einer unteren Energie durch eine Vielzahl von Energiespuren in einem oder mehreren aufeinander folgenden Feldern des digitalen Sprachsignals; und
Mittel, die mit dem Verfolgungsmittel verbunden sind, zur Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus der oberen Energieeinhüllenden und zur Bereitstellung des normierten Energiewertes für ein Spracherkennungssystem.
2. Spracherkennungs-Präprozessor nach Anspruch 1, der weiter
Mittel umfasst, die mit dem Verfolgungsmittel verbunden
sind, zur Messung des Signal-Rausch-Verhältnisses und des
absoluten Grundrauschens in einem oder mehreren
aufeinanderfolgenden Feldern des digitalen Sprachsignals.
3. Spracherkennungs-Präprozessor nach Anspruch 2, der weiter
Mittel umfasst, die mit dem Messmittel verbunden sind, um
einem Nutzer das Signal-Rausch-Verhältnis und das absolute
Grundrauschen als kontinuierliche Anzeige darzustellen, um
Rückkopplungsmittel bereitzustellen, um optimale
Spracherkennungs-Genauigkeit zu erreichen.
4. Spracherkennungs-Präprozessor nach Anspruch 1, der weiter
Mittel umfasst, die mit dem Messmittel verbunden sind, um
Schweige- oder Sprachintervalle in dem digitalen
Sprachsignal zu unterscheiden.
5. Verfahren zur Normierung der Energie in einem Sprachsignal,
wobei das Verfahren die folgenden Schritte umfasst:
Berechnung einer oberen Energiespur zur Verfolgung der oberen Energieeinhüllenden des Sprachsignals;
Berechnung einer unteren Energiespur zur Verfolgung der unteren Energieeinhüllenden des Sprachsignals;
Berechnung einer mittleren Energiespur zur Verfolgung der durchschnittlichen Energie des Sprachsignals; und
Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus der oberen Energiespur, der an das Spracherkennungssystem zu übergeben ist.
Berechnung einer oberen Energiespur zur Verfolgung der oberen Energieeinhüllenden des Sprachsignals;
Berechnung einer unteren Energiespur zur Verfolgung der unteren Energieeinhüllenden des Sprachsignals;
Berechnung einer mittleren Energiespur zur Verfolgung der durchschnittlichen Energie des Sprachsignals; und
Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus der oberen Energiespur, der an das Spracherkennungssystem zu übergeben ist.
6. Verfahren nach Anspruch 5, umfassend die Teilung des
Sprachsignals in eine Vielzahl von aufeinanderfolgenden
Zeitintervallen und die Charakterisierung jedes
Zeitintervalls als Sprachintervall oder als
Schweigeintervall.
7. Verfahren nach Anspruch 5, wobei die obere Energiespur nur
in den Zeitintervallen aktualisiert wird, die als
Schweigeintervalle bestimmt wurden, und für die
Zeitintervalle, die als Schweigeintervalle gekennzeichnet
wurden, konstant gehalten wird.
8. Verfahren nach Anspruch 5, wobei die untere Energiespur nur
in den Zeitintervallen aktualisiert wird, die als
Schweigeintervalle bestimmt wurden, und für die
Zeitintervalle, die als Schweigeintervalle gekennzeichnet
wurden, konstant gehalten wird.
9. Verfahren nach Anspruch 5, umfassend die Bereitstellung
eines Maßes des Signal-Rausch-Verhältnisses und des
absoluten Grundrauschens als Rückkopplung für einen Nutzer,
um optimale Spracherkennungsgenauigkeit zu erzielen.
10. Verfahren nach Anspruch 9, wobei das Signal-Rausch-
Verhältnis als Differenz zwischen der oberen Energiespur und
der unteren Energiespur berechnet wird.
11. Verfahren nach Anspruch 9, wobei die untere Energiespur als
Maß für das absolute Grundrauschen ausgegeben wird.
12. Verfahren zur Energienormierung in einem PCM-Sprachsignal,
wobei das Sprachsignal eine Vielzahl von Feldern enthält und
jedes Feld aus dieser Vielzahl ein festes Intervall des
Sprachsignals definiert und das Verfahren die folgenden
Schritte umfasst:
Konstruktion eines Beobachtungsfensters, dessen Breite ein aktuelles Beobachtungsintervall des Sprachsignals definiert und das aktuelle Beobachtungsintervall eine Vielzahl von digitalen Abtastwerten des Sprachsignals umfasst;
Verschiebung des Beobachtungsfensters in diskreten Verschiebungsinkrementen längs des PCM-Sprachsignals;
bei jedem diskreten Verschiebungsinkrement des Beobachtungsfensters:
Berechnung eines Eigenschaftsvektors aus der Vielzahl von enthaltenen digitalen Abtastwerten des Sprachsignals, das in dem Beobachtungsintervall enthalten ist;
Benutzung des Eigenschaftsvektors, um einen oberen verzerrten laufenden Mittelwert, einen unteren verzerrten laufenden Mittelwert und einen nominell unverzerrten laufenden Mittelwert zu berechnen;
Bestimmung, ob das Intervall ein Sprachintervall oder ein Schweigeintervall ist;
Berechnung eines geglätteten oberen verzerrten laufenden Mittelwertes aus dem oberen verzerrten laufenden Mittelwert, wenn das Intervall ein Sprachintervall ist
Konstanthalten eines geglätteten unteren verzerrten laufenden Mittelwertes auf einem Wert, der im jüngsten Schweigeintervall berechnet wurde;
Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus dem geglätteten oberen verzerrten laufenden Mittelwertes; und
Ausgabe des normierten Energiewertes an ein Spracherkennungssystem.
Konstruktion eines Beobachtungsfensters, dessen Breite ein aktuelles Beobachtungsintervall des Sprachsignals definiert und das aktuelle Beobachtungsintervall eine Vielzahl von digitalen Abtastwerten des Sprachsignals umfasst;
Verschiebung des Beobachtungsfensters in diskreten Verschiebungsinkrementen längs des PCM-Sprachsignals;
bei jedem diskreten Verschiebungsinkrement des Beobachtungsfensters:
Berechnung eines Eigenschaftsvektors aus der Vielzahl von enthaltenen digitalen Abtastwerten des Sprachsignals, das in dem Beobachtungsintervall enthalten ist;
Benutzung des Eigenschaftsvektors, um einen oberen verzerrten laufenden Mittelwert, einen unteren verzerrten laufenden Mittelwert und einen nominell unverzerrten laufenden Mittelwert zu berechnen;
Bestimmung, ob das Intervall ein Sprachintervall oder ein Schweigeintervall ist;
Berechnung eines geglätteten oberen verzerrten laufenden Mittelwertes aus dem oberen verzerrten laufenden Mittelwert, wenn das Intervall ein Sprachintervall ist
Konstanthalten eines geglätteten unteren verzerrten laufenden Mittelwertes auf einem Wert, der im jüngsten Schweigeintervall berechnet wurde;
Berechnung eines zeitsynchron ermittelten normierten Energiewertes aus dem geglätteten oberen verzerrten laufenden Mittelwertes; und
Ausgabe des normierten Energiewertes an ein Spracherkennungssystem.
13. Verfahren nach Anspruch 12, wobei das Verfahren weiterhin
die folgenden Schritte umfasst, wenn das Intervall ein
Schweigintervall ist:
Berechnung eines geglätteten unteren verzerrten laufenden Mittelwertes aus dem unteren verzerrten laufenden Mittelwert;
Konstanthalten eines geglätteten oberen verzerrten laufenden Mittelwertes auf einem Wert, der im jüngsten Sprachintervall berechnet wurde;
Berechnung eines Energienormierungswertes aus dem geglätteten oberen verzerrten laufenden Mittelwert; und
Ausgabe des Energienormierungswertes an ein Spracherkennungssystem.
Berechnung eines geglätteten unteren verzerrten laufenden Mittelwertes aus dem unteren verzerrten laufenden Mittelwert;
Konstanthalten eines geglätteten oberen verzerrten laufenden Mittelwertes auf einem Wert, der im jüngsten Sprachintervall berechnet wurde;
Berechnung eines Energienormierungswertes aus dem geglätteten oberen verzerrten laufenden Mittelwert; und
Ausgabe des Energienormierungswertes an ein Spracherkennungssystem.
14. Verfahren nach Anspruch 12, wobei die Bestimmung, ob das
aktuelle Intervall ein Sprach- oder ein Schweigeintervall
ist, durch Vergleich des nominell unverzerrten laufenden
Mittelwertes mit dem unteren verzerrten laufenden Mittelwert
geschieht.
15. Verfahren nach Anspruch 13, wobei das laufende Intervall ein
Schweigintervall ist, wenn der unverzerrte laufende
Mittelwert innerhalb eines vorher definierten Schwellwertes
des unteren verzerrten laufenden Mittelwertes liegt.
16. Verfahren nach Anspruch 13, wobei das laufende Intervall als
Sprachintervall bestimmt wird, wenn der Wert des
unverzerrten laufenden Mittelwertes den Wert des unteren
verzerrten laufenden Mittelwertes um einen vorher
definierten Schwellwert überschreitet.
17. Verfahren nach Anspruch 12, wobei der Eigenschaftsvektor
weiterhin die RMS-Energie und den nullten Cepstrum-
Koeffizienten der Vielzahl der enthaltenen digitalen
Abtastwerte enthält.
18. Verfahren nach Anspruch 12, wobei der obere verzerrte
laufende Mittelwert, der bei dem aktuellen
Verschiebungsinkrement t berechnet wird, ein gewichteter
laufender Mittelwert ist, der wie folgt berechnet wird:
oberer verzerrter laufender Mittelwert (t) = (oberer verzerrter laufender Mittelwert (t - 1).w1) + (laufender beobachteter Wert (t).(1 - w1)),
wobei w1 und (1 - w1) Gewichtskoeffizienten darstellen.
oberer verzerrter laufender Mittelwert (t) = (oberer verzerrter laufender Mittelwert (t - 1).w1) + (laufender beobachteter Wert (t).(1 - w1)),
wobei w1 und (1 - w1) Gewichtskoeffizienten darstellen.
19. Verfahren nach Anspruch 17, wobei die Gewichtskoeffizienten
w1 und (1 - w1) bei jedem Verschiebungsinkrement anpassbar
sind als Reaktion auf die relative Größe des oberen
verzerrten laufenden Mittelwertes, der bei jedem
Verschiebungsinkrement berechnet wurde, und des aktuell beim
laufenden Inkrement beobachteten Wertes.
20. Verfahren nach Anspruch 12, wobei der untere verzerrte
laufende Mittelwert, der bei dem aktuellen
Verschiebungsinkrement t berechnet wird, ein gewichteter
laufender Mittelwert ist, der wie folgt berechnet wird:
unterer verzerrter laufender Mittelwert (t) = (unterer verzerrter laufender Mittelwert (t - 1).w1) + (laufender beobachteter Wert (t).(1 - w1)),
wobei w1 und (1 - w1) Gewichtskoeffizienten darstellen.
unterer verzerrter laufender Mittelwert (t) = (unterer verzerrter laufender Mittelwert (t - 1).w1) + (laufender beobachteter Wert (t).(1 - w1)),
wobei w1 und (1 - w1) Gewichtskoeffizienten darstellen.
21. Verfahren nach Anspruch 19, wobei die Gewichtskoeffizienten
w1 und (1 - w1) bei jedem Verschiebungsinkrement anpassbar
sind als Reaktion auf die relative Größe des unteren
verzerrten laufenden Mittelwertes, der bei jedem
Verschiebungsinkrement berechnet wurde, und des aktuell beim
laufenden Inkrement beobachteten Wertes.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/187,439 US6314396B1 (en) | 1998-11-06 | 1998-11-06 | Automatic gain control in a speech recognition system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19952538A1 DE19952538A1 (de) | 2000-05-11 |
DE19952538C2 true DE19952538C2 (de) | 2003-03-27 |
Family
ID=22688995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19952538A Expired - Fee Related DE19952538C2 (de) | 1998-11-06 | 1999-10-30 | Automatische Verstärkungsregelung in einem Spracherkennungssystem |
Country Status (2)
Country | Link |
---|---|
US (1) | US6314396B1 (de) |
DE (1) | DE19952538C2 (de) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603835B2 (en) | 1997-09-08 | 2003-08-05 | Ultratec, Inc. | System for text assisted telephony |
US6594346B2 (en) * | 1997-09-08 | 2003-07-15 | Ultratec, Inc. | Relay for personal interpreter |
US7164753B2 (en) * | 1999-04-08 | 2007-01-16 | Ultratec, Incl | Real-time transcription correction system |
KR100406307B1 (ko) * | 2001-08-09 | 2003-11-19 | 삼성전자주식회사 | 음성등록방법 및 음성등록시스템과 이에 기초한음성인식방법 및 음성인식시스템 |
US7881441B2 (en) | 2005-06-29 | 2011-02-01 | Ultratec, Inc. | Device independent text captioned telephone service |
US8416925B2 (en) | 2005-06-29 | 2013-04-09 | Ultratec, Inc. | Device independent text captioned telephone service |
US7155385B2 (en) * | 2002-05-16 | 2006-12-26 | Comerica Bank, As Administrative Agent | Automatic gain control for adjusting gain during non-speech portions |
JP2004061617A (ja) * | 2002-07-25 | 2004-02-26 | Fujitsu Ltd | 受話音声処理装置 |
US7454331B2 (en) * | 2002-08-30 | 2008-11-18 | Dolby Laboratories Licensing Corporation | Controlling loudness of speech in signals that contain speech and other types of audio material |
GB0224806D0 (en) * | 2002-10-24 | 2002-12-04 | Ibm | Method and apparatus for a interactive voice response system |
AU2004248544B2 (en) * | 2003-05-28 | 2010-02-18 | Dolby Laboratories Licensing Corporation | Method, apparatus and computer program for calculating and adjusting the perceived loudness of an audio signal |
US8515024B2 (en) | 2010-01-13 | 2013-08-20 | Ultratec, Inc. | Captioned telephone service |
US7660398B2 (en) | 2004-02-18 | 2010-02-09 | Ultratec, Inc. | Captioned telephone service |
AU2005299410B2 (en) | 2004-10-26 | 2011-04-07 | Dolby Laboratories Licensing Corporation | Calculating and adjusting the perceived loudness and/or the perceived spectral balance of an audio signal |
US8199933B2 (en) | 2004-10-26 | 2012-06-12 | Dolby Laboratories Licensing Corporation | Calculating and adjusting the perceived loudness and/or the perceived spectral balance of an audio signal |
US20060100866A1 (en) * | 2004-10-28 | 2006-05-11 | International Business Machines Corporation | Influencing automatic speech recognition signal-to-noise levels |
KR100705563B1 (ko) * | 2004-12-07 | 2007-04-10 | 삼성전자주식회사 | 입력 레벨 자동 조절을 위한 음성 인식 시스템 및 이를이용한 음성 인식 방법 |
US7927617B2 (en) * | 2005-04-18 | 2011-04-19 | Basf Aktiengesellschaft | Preparation comprising at least one conazole fungicide |
US8566086B2 (en) * | 2005-06-28 | 2013-10-22 | Qnx Software Systems Limited | System for adaptive enhancement of speech signals |
US11258900B2 (en) | 2005-06-29 | 2022-02-22 | Ultratec, Inc. | Device independent text captioned telephone service |
US7778828B2 (en) | 2006-03-15 | 2010-08-17 | Sasken Communication Technologies Ltd. | Method and system for automatic gain control of a speech signal |
TWI517562B (zh) * | 2006-04-04 | 2016-01-11 | 杜比實驗室特許公司 | 用於將多聲道音訊信號之全面感知響度縮放一期望量的方法、裝置及電腦程式 |
WO2007120452A1 (en) * | 2006-04-04 | 2007-10-25 | Dolby Laboratories Licensing Corporation | Audio signal loudness measurement and modification in the mdct domain |
ES2359799T3 (es) | 2006-04-27 | 2011-05-27 | Dolby Laboratories Licensing Corporation | Control de ganancia de audio usando detección de eventos auditivos basada en la sonoridad específica. |
CA2665153C (en) | 2006-10-20 | 2015-05-19 | Dolby Laboratories Licensing Corporation | Audio dynamics processing using a reset |
US8521314B2 (en) | 2006-11-01 | 2013-08-27 | Dolby Laboratories Licensing Corporation | Hierarchical control path with constraints for audio dynamics processing |
WO2008058842A1 (en) | 2006-11-16 | 2008-05-22 | International Business Machines Corporation | Voice activity detection system and method |
GB2450886B (en) * | 2007-07-10 | 2009-12-16 | Motorola Inc | Voice activity detector and a method of operation |
ATE535906T1 (de) * | 2007-07-13 | 2011-12-15 | Dolby Lab Licensing Corp | Tonverarbeitung mittels auditorischer szenenanalyse und spektraler asymmetrie |
CN101770776B (zh) * | 2008-12-29 | 2011-06-08 | 华为技术有限公司 | 瞬态信号的编码方法和装置、解码方法和装置及处理*** |
US8635237B2 (en) * | 2009-07-02 | 2014-01-21 | Nuance Communications, Inc. | Customer feedback measurement in public places utilizing speech recognition technology |
US8738364B2 (en) * | 2011-12-14 | 2014-05-27 | International Business Machines Corporation | Adaptation of vocabulary levels for enhanced collaboration |
DE102013013695B4 (de) * | 2013-08-16 | 2019-05-23 | Audi Ag | Kraftfahrzeug mit Spracherkennung |
US20180034961A1 (en) | 2014-02-28 | 2018-02-01 | Ultratec, Inc. | Semiautomated Relay Method and Apparatus |
US10748523B2 (en) | 2014-02-28 | 2020-08-18 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US10878721B2 (en) | 2014-02-28 | 2020-12-29 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US20180270350A1 (en) | 2014-02-28 | 2018-09-20 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US10389876B2 (en) | 2014-02-28 | 2019-08-20 | Ultratec, Inc. | Semiautomated relay method and apparatus |
US9484043B1 (en) * | 2014-03-05 | 2016-11-01 | QoSound, Inc. | Noise suppressor |
US9842608B2 (en) * | 2014-10-03 | 2017-12-12 | Google Inc. | Automatic selective gain control of audio data for speech recognition |
EP3147898A1 (de) | 2015-09-23 | 2017-03-29 | Politechnika Gdanska | Verfahren und vorrichtung zur verbesserung der qualität von sprachsignalen in spracherkennungssystemen |
US20170366897A1 (en) * | 2016-06-15 | 2017-12-21 | Robert Azarewicz | Microphone board for far field automatic speech recognition |
US11539900B2 (en) | 2020-02-21 | 2022-12-27 | Ultratec, Inc. | Caption modification and augmentation systems and methods for use by hearing assisted user |
CN113593534B (zh) * | 2021-05-28 | 2023-07-14 | 思必驰科技股份有限公司 | 针对多口音语音识别的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0140249A1 (de) * | 1983-10-13 | 1985-05-08 | Texas Instruments Incorporated | Sprachanalyse und Synthese mit Energienormalisierung |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4028496A (en) | 1976-08-17 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Digital speech detector |
FR2451680A1 (fr) | 1979-03-12 | 1980-10-10 | Soumagne Joel | Discriminateur parole/silence pour interpolation de la parole |
US4277645A (en) * | 1980-01-25 | 1981-07-07 | Bell Telephone Laboratories, Incorporated | Multiple variable threshold speech detector |
US4696039A (en) | 1983-10-13 | 1987-09-22 | Texas Instruments Incorporated | Speech analysis/synthesis system with silence suppression |
US4696040A (en) | 1983-10-13 | 1987-09-22 | Texas Instruments Incorporated | Speech analysis/synthesis system with energy normalization and silence suppression |
US4817158A (en) | 1984-10-19 | 1989-03-28 | International Business Machines Corporation | Normalization of speech signals |
JPS62290258A (ja) | 1986-06-10 | 1987-12-17 | Nec Corp | 言語変換形音声通信方式 |
US4807167A (en) | 1987-03-18 | 1989-02-21 | General Electric Company | Rapid method of digital automatic gain control |
JPH0253369A (ja) | 1988-08-17 | 1990-02-22 | Nec Corp | 音声蓄積・音声認識機能付キーテレフォンシステム |
JPH02189061A (ja) | 1989-01-17 | 1990-07-25 | Sanyo Electric Co Ltd | メールメッセージ検索方式 |
JPH0329555A (ja) | 1989-06-27 | 1991-02-07 | Nec Corp | 議事内容蓄積方式 |
US5195138A (en) | 1990-01-18 | 1993-03-16 | Matsushita Electric Industrial Co., Ltd. | Voice signal processing device |
US5598505A (en) * | 1994-09-30 | 1997-01-28 | Apple Computer, Inc. | Cepstral correction vector quantizer for speech recognition |
JPH09152894A (ja) * | 1995-11-30 | 1997-06-10 | Denso Corp | 有音無音判別器 |
US5689615A (en) * | 1996-01-22 | 1997-11-18 | Rockwell International Corporation | Usage of voice activity detection for efficient coding of speech |
US6076057A (en) * | 1997-05-21 | 2000-06-13 | At&T Corp | Unsupervised HMM adaptation based on speech-silence discrimination |
-
1998
- 1998-11-06 US US09/187,439 patent/US6314396B1/en not_active Expired - Lifetime
-
1999
- 1999-10-30 DE DE19952538A patent/DE19952538C2/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0140249A1 (de) * | 1983-10-13 | 1985-05-08 | Texas Instruments Incorporated | Sprachanalyse und Synthese mit Energienormalisierung |
Also Published As
Publication number | Publication date |
---|---|
US6314396B1 (en) | 2001-11-06 |
DE19952538A1 (de) | 2000-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19952538C2 (de) | Automatische Verstärkungsregelung in einem Spracherkennungssystem | |
DE69636985T2 (de) | Sprachanwesenheitdetektor für halbduplex-audiokommunikationssystem | |
DE69725172T2 (de) | Verfahren und gerät zum erkennen von geräuschsignalproben aus einem geräusch | |
DE60131639T2 (de) | Vorrichtungen und Verfahren zur Bestimmung von Leistungswerten für die Geräuschunterdrückung für ein Sprachkommunikationssystem | |
DE3750314T2 (de) | Sprachprozessor. | |
DE60023517T2 (de) | Klassifizierung von schallquellen | |
DE60009206T2 (de) | Rauschunterdrückung mittels spektraler Subtraktion | |
DE3689035T2 (de) | Rauschminderungssystem. | |
DE2233872C2 (de) | Verfahren zur Bestimmung der Grundwellenperiode eines Sprachsignals | |
DE60122751T2 (de) | Verfahren und vorrichtung für die objektive bewertung der sprachqualität ohne referenzsignal | |
DE112009000805T5 (de) | Rauschreduktion | |
EP0586996A2 (de) | Verfahren zur Spracherkennung mit dem eine Anpassung der Sprachcharakteristiken erreicht wird | |
DE69937613T2 (de) | Verfahren und vorrichtung zur adaptiven signalverstärkungssteuerung in kommunikationssystemen | |
DE3315150A1 (de) | Selbsttaetige lautstaerke-regelvorrichtung | |
DE60205232T2 (de) | Verfahren und vorrichtung zur bestimmung der qualität eines sprachsignals | |
EP0251028A2 (de) | Verfahren zur Übertragung eines Audiosignales | |
DE60222770T2 (de) | Verbessertes verfahren zur ermittlung der qualität eines sprachsignals | |
DE69112855T2 (de) | Sprachsignalverarbeitungsvorrichtung. | |
EP1048025B1 (de) | Verfahren zur instrumentellen sprachqualitätsbestimmung | |
DE2021126C3 (de) | Spracherkennungs anordnung | |
DE60110541T2 (de) | Verfahren zur Spracherkennung mit geräuschabhängiger Normalisierung der Varianz | |
WO2001084536A1 (de) | Verfahren zur berechnung einer sprachaktivitätsentscheidung (voice activity detector) | |
EP1382034B1 (de) | Verfahren zur bestimmung von intensitätskennwerten von hintergrundgeräuschen in sprachpausen von sprachsignalen | |
EP0669606B1 (de) | Verfahren zur Geräuschreduktion eines gestörten Sprachsignals | |
EP0946015B1 (de) | Verfahren und Vorrichtung zur Beurteilung der Übertragungsqualität |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NUANCE COMMUNICATIONS,INC., BURLINGTON, MASS., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: VOSSIUS & PARTNER, 81675 MUENCHEN |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R409 | Internal rectification of the legal status completed | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |