0
votes

I'm trying to build a very basic word recogniser using an HMM i.e. given the utterance of a single word (not more than one) I need to classify it. Till now, I've extracted the phoneme-level feature (MFCC). More specifically, for each audio signal I have a (410 x 1) feature vector. But now I'm kinda stuck as:

  1. I can't really understand how to map these features to an HMM. I know that separate HMMs are needed for each of the classes.
  2. I'm not quite sure as to how many codewords should there be in the codebook.

PS: I've already checked out this excellent write-up from Lawrence R. Rabiner (and also some others) but the idea is still somewhat vague.

1

1 Answers

0
votes

AFAIK you can use an HMM for every single word. if you want to recognize two words GOOD, MORNING, you need at least 2 hmms, each for GOOD, MORNING. Estimate parameter for this HMM using Viterbi

https://www.researchgate.net/publication/334506492_Viterbi_Algorithm_And_Its_Application_to_Indonesian_Speech_Recognition

or baum_welch (in rabiner's paper).

if you have those two hmms then, now just calculate total frame probability P(W|MFCCs, HMM_GOOD) and P (W|MFCCs, HMM_MORNING), which is better (larger).

Consult the HTK book http://www.dsic.upv.es/docs/posgrado/20/RES/materialesDocentes/alejandroViewgraphs/htkbook.pdf

https://labrosa.ee.columbia.edu/doc/HTKBook21/HTKBook.html