<<单音素HMM的训练流程图.vsdx>>
定义拓扑结构、参数初始化
$ gmm-init-mono --shared-phones=$lang/phones/sets.int "--train-feats=$feats subset-feats --n=10 ark:- ark:-|" $lang/topo $feat_dim $dir/0.mdl $dir/tree
$ wc -w data/lang_test/phones/sets.int
385 data/lang_test/phones/sets.int
$ gmm-info exp/mono0c/0.mdl
number of phones 385
number of pdfs 290
number of transition-ids 2370
number of transition-states 1165
feature dimension 39
number of gaussians 290
对高斯参数进行扰动和幅值
totgauss=1000
# 290
numgauss=`gmm-info --print-args=false $dir/0.mdl | grep gaussians | awk '{print $NF}'`
# 23,每次迭代增加23个高斯
incgauss=$[($totgauss-$numgauss)/$max_iter_inc]
# 最后一次迭代为290+23*30=980
numgauss=$[$numgauss+$incgauss]
$ gmm-est --min-gaussian-occupancy=3 --mix-up=$numgauss --power=$power $dir/0.mdl "gmm-sum-accs - $dir/0.*.acc|" $dir/1.mdl 2> $dir/log/update.0.log
$ gmm-info exp/mono0a/final.mdl
number of phones 385
number of pdfs 290
number of transition-ids 2370
number of transition-states 1165
feature dimension 39
number of gaussians 982