Ich studiere Spracherkennung, insbesondere die Verwendung von MFCC zur Merkmalsextraktion. Alle Beispiele, die ich online gefunden habe, tendieren dazu, eine Reihe von MFCC grafisch darzustellen, die aus einer bestimmten Äußerung wie folgt extrahiert wurden (Grafik, die ich mit der Software erstellt habe, die ich schreibe):
Wie Sie in der obigen Grafik sehen können:
- Die x-Achse wird für jeden der MFC-Koeffizienten verwendet (in diesem Beispiel von 1 bis 12).
- Die y-Achse wird für die Werte der Koeffizienten verwendet (in diesem Beispiel im Bereich von -12 bis 42).
- Sie haben so viele Zeilen wie Frames oder Feature-Vektoren, die Sie extrahiert haben (140 in diesem Beispiel).
Das macht für mich nicht allzu viel Sinn, denn was wir hier sehen, ist die Überlagerung aller Merkmalsvektoren auf einmal, wobei Zeitinformationen verloren gehen. Es fällt mir schwer zu verstehen, wie nützlich diese Darstellung ist.
In meinen Gedanken würde ich die extrahierten Vektoren wie folgt darstellen (wieder ein von mir erzeugter Graph):
In der obigen Grafik:
- Die x-Achse ist die Rahmen- oder Vektornummer (1 bis 140).
- Die y-Achse sind die Koeffizientenwerte (wiederum von -12 bis 42 ungefähr).
- Sie haben eine Zeile für jede Funktion (12).
Für mich sollte diese Darstellung nützlicher sein, da Sie die zeitliche Entwicklung der einzelnen Funktionen sehen können und dies meiner Meinung nach einen stärkeren Einfluss darauf haben sollte, wie Vergleichsalgorithmen auf gesprochene Wörter angewendet werden.
Vielleicht sind die beiden Darstellungen für verschiedene Zwecke gleichermaßen gültig und nützlich, ähnlich wie wenn Sie ein Signal im Zeitbereich oder im Frequenzbereich untersuchen müssen, aber im Fall der Spracherkennung würde ich die zeitliche Entwicklung jedes Einzelnen erwarten Merkmal, um aussagekräftiger zu sein als die Wertedichte für jedes Merkmal (und vielleicht irre ich mich völlig: P).
Also zwei Fragen in der Tat:
- Warum ist die erste Darstellung diejenige, die weit verbreitet zu sein scheint, und nicht die zweite?
- Wenn Sie zwei Sätze extrahierter MFCCs vergleichen möchten, z. B. mithilfe von Dynamic Time Warping - DTW, und sich auf dieses Thema beziehen, vergleichen Sie die Merkmalsvektoren (dh 140 Vektoren mit 12 Merkmalen) oder die Rahmen (12 Vektoren mit 140 Rahmen) )? (Mit anderen Worten, MxN oder NxM?)
Vielen Dank!