I'm studying speech-recognition, in particular the use of MFCC for feature extraction. All examples I've found online tend to graph a series of MFCC extracted from a particular utterance as follows (graph generated by me from the software I'm writing):
- the x-axis is used for each of the MFC coefficients (from 1 to 12 in this example)
- the y-axis is used for the values of the coefficients (ranging aprox from -12 to 42 in this example)
- you have as many lines as frames or feature vectors you have extracted (140 in this example).
Now, this doesn't make too much sense to me, because what we are seeing here, is the superposition of all the feature vectors at once, losing any time information. I'm having a hard time to understand how this representation is useful.
In my mind, I would represent the extracted vectors as follows (again, graph generated by me):
In the graph above:
- the x-axis is the frame or vector number (1 to 140)
- the y-axis are the coefficient values (again, from -12 to 42 aprox)
- you have one line for each feature (12).
To me, this representation should be more useful because you can see the evolution in time of each particular feature, and in my mind that should have a stronger impact on how to apply comparison algorithms on spoken words.
Maybe the two representations are equally valid and useful for different purposes, very much like when you need to study a signal in the time domain or in the frequency domain, but in the case of speech recognition I would expect the evolution in time of each individual feature to be more meaningful than the density of values for each feature (and perhaps I'm completely wrong :P).
So, two questions in fact:
- Why is the first representation the one than seems to be widely used and not the second one?
- When you want to compare two sets of extracted MFCCs, for example by using Dynamic Time Warping - DTW, and related to this topic, do you compare the feature vectors (i.e. 140 vectors of 12 features) or the frames (12 vectors of 140 frames)? (in other words, MxN or NxM?)