I am trying to create a simple recognition system. i have recordings of several speakers saying the same word, let's say "west". I compute the MFCC feature vectors of word "west" from each speaker. If i have 10 speakers, i then have 10 matrices, each of them of dimensions N_frames * 13 (13 coeff and N_frames varies from speaker to speaker). I would now like to store a final matrix of dimension M * 13 which will serve as a reference pattern for word "west". My question is, how to "average" or combine MFCCs from different speakers? (i call this process some kind of training)

  • 1
    $\begingroup$ You should not average. What you should do is to either use k-NN classifier or create a GMM from these utterances. It depends on which classifier you want to use. $\endgroup$ – jojek Jan 8 '16 at 10:50
  • $\begingroup$ thnx for the answer jojek. shall i create a GMM for each frame? and given that the number of frames varies from instance to instance, how many frames should i consider? $\endgroup$ – ordineri Jan 11 '16 at 8:03

What you can try is the DTW (Dynamic Time Warping) distance (https://en.wikipedia.org/wiki/Dynamic_time_warping).

for each instance of the spoken word "west", you compute MFCC's per frame and then calculate the DTW distance between each of the pre-recorded instances of word. this gives the rough estimate of the valid DTW distance. now when a new instance of the word comes we again calculate DTW with one of the earlier instance and if the DTW distance lies roughly in the range calculated before, it is the same word.

| improve this answer | |
  • $\begingroup$ hmm ok. i am doing something similar but i'm not getting good results. it happens that different words spoken from different speakers produce mixed DTW values which cannot be clearly distinguished. but thnx anyway $\endgroup$ – ordineri Jan 11 '16 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.