Die Art und Weise, wie die Spracherkennung mit HTK (oder einem anderen Tool) durchgeführt wird, ähnelt der Art und Weise, wie die Spracherkennung im Gehirn durchgeführt wird. Wenn Sie ein Wort hören, zerlegen Sie es sofort in seine einzelnen Telefone und vergleichen die Telefone mit einem internen mentalen "Modell" der Telefone . Diese "Modelle" sind über Jahre des Hörens von Sprache aufgebaut und geben Ihnen die Möglichkeit, zwischen ähnlich klingenden Sätzen wie "Wie man einen schönen Strand zerstört" und "Wie man Sprache erkennt" zu unterscheiden. Die Spracherkennung mit HTK oder einem anderen modellbasierten Schema funktioniert auf ähnliche Weise. Hier ist in wenigen Schritten, wie Sie es tun:
- Sie nehmen das eingegebene Sprachsignal und wandeln es in eine Merkmalsvektordarstellung um.
- Nehmen Sie eine große Anzahl von Sätzen und führen Sie Schritt 1 für jeden von ihnen aus.
- Verwenden Sie die Merkmalsvektoren in Schritt 2, um ein statistisches Modell für jedes der Telefone / Wörter in den Sätzen zu erstellen (es gibt eine begrenzte Anzahl von Telefonen / Wörtern im Gegensatz zu einer unendlichen Anzahl von Arten, sie auszudrücken -, sodass Sie die Unbekannten durch Modellieren reduzieren ).
- Wenn ein neues Wort eingeht, teilen Sie es in Telefone auf und vergleichen Sie es mit jedem der bekannten Modelle. Die Reihenfolge der Telefone mit der höchsten Wahrscheinlichkeit gewinnt!
Alle oben genannten Schritte sind entscheidend für den erfolgreichen Abschluss einer Spracherkennungsaufgabe. Indem Sie einen Klang in seinen Merkmalsvektor zerlegen, nehmen Sie ihn in einen Modellraum auf und geben ihm eine Darstellung, die ihn besser zum Erstellen eines Modells geeignet macht als andere Darstellungen (z. B. die Zeit-Amplituden-Darstellung). Die meisten dieser Darstellungen liegen im Frequenz- oder Zeit-Frequenz-Bereich. Eine der beliebtesten Darstellungen dieser Art ist der MFCC (Mel Frequency Cepstral Coefficient).. In gewisser Weise ahmt diese Technik die menschliche Hörreaktion mit einer Reihe von Filtern nach. Ein Eingangssignal wird mit diesem Satz von Filtern zerlegt, die einen logarithmischen Abstand ihrer Mittenfrequenzen haben. Die MFCC-Koeffizienten eines Satzes (z. B.) werden dann verwendet, um jedes der Telefone zu modellieren, aus denen der Satz besteht. Betrachten Sie als Beispiel:
Satz: HI. Phonetische Beschreibung: hh aa ey
Wenn Sie die MFCC-Koeffizienten in HTK eingeben, werden die MFCC-Koeffizienten eines Teils des Satzes mit hh, eines anderen mit aa usw. verknüpft. Wenn dies mehrmals wiederholt wird, beginnen sich die Modelle für die Telefone zu bilden.
HTK verwendet das Tool HCopy
, um einen Eingabesatz in seine Feature-Vektor-Darstellung zu konvertieren. MFCCs haben auch viele "Geschmacksrichtungen" (E_D_A- oder E_D_A_Z-Darstellungen). Es wäre eine gute Idee, die Dokumentation HCopy
im htkbook nachzulesen.
Die MFCC-Koeffizienten werden .mfc
von HTK in eine Datei mit der Erweiterung geschrieben . Es ist nicht möglich, diese Datei mit einem der Texteditoren zu lesen, da (glaube ich) die Koeffizienten binär geschrieben sind. Sie können jedoch versuchen, die Dateien mit zu lesen C
.
HTH.