local/run_gmm.sh
config
- nj
- stage
- gmm-stage
steps/make_mfcc.sh(原脚本是steps/make_mfcc_pitch.sh)
steps/make_fbank.sh(for NN)
config
- cmd
本地运行还是集群 - nj =
- fbank_config = conf/fbank.conf
详情见config文件夹(不同的特征提取方式)
decode.conf fbank.conf mfcc.conf mfcc_hires.conf online_cmvn.conf pitch.conf - compress = true
- write_utt2num_frames
data
data/train/fbank & data/test/fbank
-
data/train/fbank/feats.scp
- data/train/fbank/data
注:可以看出此文件夹下保存了提取的mfcc。文件是二进制存储格式,可以通过命令查看。
copy-feats ark:raw_mfcc_train.1.ark ark,t:-|head
#结果#
IC0001W0001 [
51.76422 -24.05947 -11.48542 -14.22171 -21.51131 -6.91844 -15.25735 -9.790284 -12.12508 -6.046162 -5.837749 -9.237104 -3.578245
51.71874 -23.59971 -12.43908 -13.2603 -13.77947 -4.04338 -2.339039 -14.1908 -15.68014 -11.11484 -10.56573 -9.136873 -8.903507
50.39989 -26.81806 -13.96724 -12.90075 -24.01279 -9.993114 -10.71967 -13.26709 -5.000686 2.416336 -16.94094 -13.0459 -2.325243
53.2889 -27.27782 -12.49868 -9.125443 -17.64539 -7.357679 -6.063762 -13.38255 1.314548 3.979588 0.6427386 -13.24636 -2.847327
52.21899 -24.979 -9.041672 -4.541141 -14.46169 2.665242 -9.788485 -3.725712 -11.20764 -11.11484 -15.4339 -11.64266 -10.15651
52.53733 -24.05947 -9.399294 -8.136672 -14.23429 -0.6890687 -18.41158 -15.46091 -14.76271 -17.10232 -9.360557 -9.437568 -9.530009
51.80969 -24.979 -13.21392 -3.282705 -13.77947 -5.161484 -16.83447 -7.908175 -8.158304 -14.07384 -12.04902 -8.936411 2.496104
51.49135 -25.89853 -10.53176 -6.428794 -11.60923 -1.807173 -8.54691 -9.581161 -13.1572 -7.403842 -5.837749 -6.129932 -5.875418
52.08256 -23.13995 -6.419115 -2.293934 -17.19058 -11.16442 -13.8236 -12.92069 -26.73129 -19.22225 -6.486687 -7.833866 -13.8111
steps/compute_cmvn_stats.sh
utils/fix_data_dir.sh
steps/train_mono.sh
config
- nj=4
- cmd=run.pl
- scale_opts="--transition-scale=1.0 --acoustic-scale=0.1 --self-loop-scale=0.1"
- num_iters=40 # 迭代次数
- max_iter_inc=30 # 迭代30次后不增加高斯数
- totgauss=1000 # 目标高斯数
- careful=false
- boost_silence=1.0 # Factor by which to boost silence likelihoods in alignment
- realign_iters="1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 23 26 29 32 35 38"; #迭代到n次进行re-ali
- config= # name of config file.
- stage=-4
- power=0.25 # exponent to determine number of gaussians from occurrence counts
- norm_vars=false # deprecated, prefer --cmvn-opts "--norm-vars=false"
- cmvn_opts= # can be used to add extra options to cmvn.
- delta_opts= # can be used to add extra options to add-deltas
- 注:
steps/train_mono.sh --cmd "$train_cmd" --stage 38 --nj $nj \
data_new/train data/lang exp_new/mono || exit 1;
脚本名字后如果跟着参数设置,会覆盖脚本里的参数设置(顺序有没有要求,只要名字和参数对应就行)。“train_cmd”是cmd.sh里的一部分,很神奇。
第二行是输入输出文件。
gmm-init-mono
gmm-acc-stats-ali
gmm-est
gmm-align-compiled
data
- exp_new/mono/ final.mdl
gmm-copy --binary=false final.mdl final_txt.mdl - exp_new/mono/ final.occ
- exp_new/mono/tree
copy-tree [--binary=false] <tree-in> <tree-out>