This project computes GMM-based GOP (Goodness of Pronunciation) using Kaldi.
This implementation is GMM-based. For DNN-based implementation, please check Kaldi's official repository:
https://github.com/kaldi-asr/kaldi/tree/master/egs/gop_speechocean762
The performance of GOP-DNN should be much better than GOP-GMM.
./build.sh
cd egs/gop-compute
./run.sh
In the conventional GMM-HMM based system, GOP was first proposed in (Witt et al., 2000). It was defined as the duration normalised log of the posterior:
where
Assuming
where
The numerator of the equation is calculated from forced alignment result and the denominator is calculated from a Viterbi decoding with an unconstrained phone loop.