Greetings guys, and apologies in advance in case I posted this in the wrong subreddit.
I'm really intrigued by the concept of HMM, and am trying to understand it by applying it in a small-vocabulary, speaker-dependent, isolated word recognizer. Did quite a lot of research, stumbled upon this paper and just straight-up copied their methods verbatim, hoping to get the same results in MATLAB. I've taken a couple of intro DSP courses but we never really got into the topic of speech recognition, but at least I already have some basic knowledge, and I believe that I have the preprocessing/feature vector extraction parts figured out.
I've seen video tutorials (like this one and that one), studied other web documents (including the seminal paper from the patron saint of HMM ASR himself, L.R. Rabiner, cited in all other papers I've read); and I feel that I got a fair grasp on the general concepts, meanings of terms, and interpretations of equations.
However, I get stuck at implementing the algorithms for training and testing. More precisely: I'm confused by the notations for the Baum-Welch re-estimation procedure, and the alternate Viterbi algorithm. I'd really appreciate if anyone could provide a simple illustration to help me wrap my head around the notation, something like a step-by-step breakdown of the algorithms, with dimensions of matrices used in each step.
EDIT: For your consideration, here is an annotated script detailing the parts that I understand so far, for you to tear apart if you have the time. Any sort of criticism is most welcome - always looking to improve.
[link][1 comment]