Voice Recognition - MFCC I have been researching about Speech Recognition and I have decided to take the MFCC approach to solving this problem of detecting whether someone is saying either "Yes" or "No". So as mentioned before (My steps so far):


Read in Audio File
Split the Audio Signal into blocks (600 samples, 30msec long)
Strip the blocks that do not warrant consideration (Total Energy / Zero-crossing)


So I am going to construct the MFCC based on this paper and it has the following steps:


Pre–emphasis
Framing
Hamming Windowing 
FFT
Mel Filter Bank Processing 
Discrete Cosine Transform 
Delta Energy and Delta Spectrum


This makes sense to me (Kind of) and I am going to research into each of these steps. BUT should I perform the MFCC on the resulting blocks that I have already done with (steps 1, 2, 3) at the top of this question, or, should I not carry out these steps and just start from the beginning and compute the MFCC and will I still be able to implement a Hidden Markov Model?

The other question is, if I split the signal into "Frames" (2D vector) will the resulting MFCC be a 2D vector, or a 1D vector?

Hope someone can help :)!
Regarding your existing steps:


Do you have some overlap between adjacent blocks? It is common in feature extraction systems to have some overlap between adjacent blocks, so that a short transient event can be correctly captured (if it is right at the end of a block, it will be right in the middle of the next one).
Your idea of discarding blocks is dangerous. You can do this to roughly identify the beginning and end of a speech segment; but silence recognition can also be built into the recognition model.


Regarding the data size:

Your signal is split into frames. For each frame, you compute a 1-D MFCC vector. So in the end, you have a sequence of 1-D MFCC vectors. This is the data on which you train your HMMs.