Nur um es klar zu machen - diese Eigenschaft ist nicht grundlegend, aber wichtig . Dies ist der grundlegende Unterschied bei der Verwendung von DCT anstelle von DFT für die Spektrumsberechnung.
Warum machen wir Cepstral Mean Normalization?
Bei der Sprechererkennung möchten wir alle Kanaleffekte (Impulsantwort des Stimmtrakts, Audiopfads, Raums usw.) entfernen. Vorausgesetzt, dass das Eingangssignal und die Kanalimpulsantwort durch , ist das aufgezeichnete Signal eine lineare Faltung von beiden:h [ n ]x [ n ]h [ n ]
y[ n ] = x [ n ] ⋆ h [ n ]
Durch die Fourier-Transformation erhalten wir:
Y.[ f] = X[ f] ⋅ H[ f]
Aufgrund der Faltungs-Multiplikations-Äquivalenz-Eigenschaft von FT ist diese Eigenschaft in diesem Schritt für FFT so wichtig .
Der nächste Schritt bei der Berechnung von Cepstrum ist der Logarithmus des Spektrums:
Y.[ q] = logY.[ f] = log( X[ f] ⋅ H[ f] ) = X[ q] + H[ q]
weil: . Offensichtlich ist die Häufigkeit . Wie man bemerken könnte, erhalten wir, indem wir das Cepstrum der Faltung im Zeitbereich nehmen, die Hinzufügung im Cepstralbereich (Quefrenzbereich).qLog( a b ) = loga + logbq
Was ist die mittlere Cepstral-Normalisierung?
Jetzt wissen wir, dass im cepstralen Bereich alle Faltungsverzerrungen durch Addition dargestellt werden. Nehmen wir an, dass alle von ihnen stationär sind (was eine starke Annahme ist, da sich der Stimmapparat und die Kanalantwort nicht ändern) und der stationäre Teil der Sprache vernachlässigbar ist. Wir können beobachten, dass für jeden i-ten Frame gilt:
Y.ich[ q] = H[ q] + Xich[ q]
Indem wir den Durchschnitt über alle Frames berechnen, erhalten wir
1N∑ichY.ich[ q] = H[ q] + 1N∑ichXich[ q]
Den Unterschied definieren:
Rich[ q]= Yich[ q] - 1N∑jY.j[ q]= H[ q] + Xich[ q] - ( H[ q] + 1N∑jXj[ q] )= Xich[q] - 1N∑jXj[q]
Am Ende haben wir unser Signal mit entfernten Kanalverzerrungen. Alle obigen Gleichungen in einfaches Englisch umsetzen:
- Cepstrum berechnen
- Subtrahieren Sie den Durchschnitt von jedem Koeffizienten
- Optional durch Varianz dividieren, um die mittlere Cepstral-Normalisierung im Gegensatz zur Subtraktion durchzuführen.
Ist eine Normalisierung des Cepstral-Mittelwerts erforderlich?
Dies ist nicht obligatorisch, insbesondere wenn Sie versuchen, einen Lautsprecher in einer einzelnen Umgebung zu erkennen. Tatsächlich kann es sogar zu einer Verschlechterung Ihrer Ergebnisse kommen, da es aufgrund von additivem Rauschen zu Fehlern kommen kann:
y[ n ] = x [ n ] ⋆ h [ n ] + w [ n ]
Y.[f] =X[f] ⋅H[f] + W[f]
LogY.[ f] = log[ X[ f] ( H[ f] + W[ f]X[ f]) ] =logX[ f] + log( H[ f] + W[ f]X[ f])
Bei schlechten SNR-Bedingungen kann ein markierter Term die Schätzung überholen.
Wenn CMS ausgeführt wird, können Sie in der Regel einige zusätzliche Prozent gewinnen. Wenn Sie zu diesem Leistungsgewinn Ableitungen von Koeffizienten hinzufügen, erhalten Sie eine echte Steigerung Ihrer Erkennungsrate. Die endgültige Entscheidung liegt bei Ihnen, insbesondere, dass es viele andere Methoden zur Verbesserung von Spracherkennungssystemen gibt.