1.首先是初始化GMM,使用的脚本是/kaldi-trunk/src/gmmbin/gmm-init-mono,输出是0.mdl和tree文件;
2.compile training graphs,使用的脚本是/kaldi-trunk/source/bin/compile-training-graphs,输入是tree,0.mdl和L.fst输出是fits.JOB.gz,其是在训练过程中构建graph的过程;
3.接下来是一个对齐的操作,kaldi-trunk/source/bin/align-equal-compiled;
4.然后是基于GMM的声学模型进行最大似然估计得过程,脚本为/kaldi-trunk/src/gmmbin/gmm-est;
5.然后进行迭代循环中进行操作,如果本步骤到了对齐的步骤,则调用脚本kaldi-kaldi/src/gmmbin/gmm-align-compiled;
6.重新估计GMM,累计状态,用脚本/kaldi-trunk/src/gmmbin/gmm-acc-states-ali;调用新生成的参数(高斯数)重新估计GMM,调用脚本/kaldi-trunk/src/gmmbin/gmm-est;
7.对分散在不同处理器上的结果进行合并,生成.mdl结果,调用脚本gmm-acc-sum;
8.增加高斯数,如果没有超过设定的迭代次数,则跳转到步骤5重新进行训练最后生成的.mdl即为声学模型文件
在离线识别阶段,即可以调用utils/mkgraph.sh;来对刚刚生成的声学文件进行构图之后解码,得到离线测试的识别率。
打赏作者
近期评论