← 学习库 Speech and Language Processing 本册目录

9.3.7 Summary: MFCC

After adding energy, and then delta and double-delta features to the 12 cepstral features, we end up with 39 MFCC features:

12 cepstral coefficients

12 delta cepstral coefficients

12 double delta cepstral coefficients

1 energy coefficient

1 delta energy coefficient

1 double delta energy coefficient

39 MFCC features

Again, one of the most useful facts about MFCC features is that the cepstral coefficients tend to be uncorrelated, which will turn out to make our acoustic model much simpler.

原书第 335 页

9.4 COMPUTING ACOUSTIC LIKELIHOODS

The last section showed how we can extract MFCC features representing spectral information from a wavefile, and produce a 39-dimensional vector every 10 milliseconds. We are now ready to see how to compute the likelihood of these feature vectors given an HMM state. Recall from Ch. 6 that this output likelihood is computed by the $B$ probability function of the HMM. Given an individual state $q_i$ and an observation $o_t$, the observation likelihoods in $B$ matrix gave us $p(o_t|q_i)$, which we called $b_t(i)$.

For part-of-speech tagging in Ch. 5, each observation $ o_{t} $ is a discrete symbol (a word) and we can compute the likelihood of an observation given a part-of-speech tag just by counting the number of times a given tag generates a given observation in the training set. But for speech recognition, MFCC vectors are real-valued numbers; we can't compute the likelihood of a given state (phone) generating an MFCC vector by counting the number of times each such vector occurs (since each one is likely to be unique).

In both decoding and training, we need an observation likelihood function that can compute $ p(o_t|q_i) $ on real-valued observations. In decoding, we are given an observation $ o_t $ and we need to produce the probability $ p(o_t|q_i) $ for each possible HMM state, so we can choose the most likely sequence of states. Once we have this observation likelihood B function, we need to figure out how to modify the Baum-Welch algorithm of Ch. 6 to train it as part of training HMMs.

← 9.3.6 Deltas and Energy9.4.1 Vector Quantization →