How to compare two vectors of MFCC functions or similarity between a vector of MFCC functions of two speech utterances
I've extracted 13 MFCC features from two statements. The feature set for the first statement is 11 * 13 and the other 18 * 13. So how do you compare two feature sets to find the similarity between the two?
I am not using any classifier in case someone knows what algorithm the standard tools use to compare a vector of MFCC functions. Please suggest me so I can implement it.
source to share
You can try this following code in matlab. after adopting mfcc for 2 waves, assume mfcc1 for the first wave and mfcc2 for the second. code:
mfcc1=mfcc1'; mfcc2=mfcc2'; M=simmx(mfcc1,mfcc2); [p,q,c]=dp(1-M); v=c(size(c,1),size(c,2))
copy the code and run, having mfcc values as mfcc1 and mfcc2,
I used dtw logic, I took the inverse of mfcc and then took the similarity matrix and found the least cost path. the values will be 0 if it fits perfectly and if its close to match u will approach values down to zero. I hope this helps. thank....
source to share
The algorithm for comparing two sequences of different lengths is called "Dynamic Temporal Warping", you can find a detailed description on Wikipedia:
http://en.wikipedia.org/wiki/Dynamic_time_warping
There are many reference implementations in different languages.
source to share