Kaldi-Timit脚本

2016-11-07  本文已影响0人  kaituoxu

数据准备

local/timit_data_prep.sh

生成的内容放在data/local/data中。
对于train、test和dev,分别生成相应的_sph.flist_sph.scp.uttids.trans.text_wav.scp.utt2spk.spk2utt.spk2gender.stm.glm文件。
NOTE:
.wav files are not really .wav, they are .sph. Use tools/sph2pipe_v2.5/sph2pipe to convert.

在目录data/local/data下,未注明路径的文件都是生成在该路径下

local/timit_prepare_dict.sh

生成的文件放在data/local/dictdata/local/lm_tmpdata/local/nist_lm中。

(1)准备字典
以下数据的默认路径是data/local/dict

(2)创建音素bigram LM

utils/prepare_lang.sh

生成的文件放在data/langdata/local/lang_tmp中,需要用到data/local/dict中的文件。
针对timit run.sh中的参数而言,部分if分支的解释略去。

tmpdir=data/local/lang_tmp

local/timit_format_data.sh


特征提取

对data下的train、dev和test数据分别调用下面两个脚本

steps/make_mfcc.sh

特征存在feats.scp中,存储的特征是每一帧13维,当用到mfcc特征的时候才计算deltas和deltas-deltas,转为39维。
脚本主要为下面几行

  $cmd JOB=1:$nj $logdir/make_mfcc_${name}.JOB.log \
    compute-mfcc-feats  $vtln_opts --verbose=2 --config=$mfcc_config \
     scp,p:$logdir/wav_${name}.JOB.scp ark:- \| \
      copy-feats --compress=$compress ark:- \
      ark,scp:$mfccdir/raw_mfcc_$name.JOB.ark,$mfccdir/raw_mfcc_$name.JOB.scp \
      || exit 1;

其中$cmd为run.pl

以data/train为例

steps/compute_cmvn_stats.sh


单因素训练和解码

steps/train_mono.sh

主要输出为:final.mdltree

变量$stage的妙用:设置这个变量值,可以从中断的地方重新开始训练,不至于从头开始。比如设置该值为10,则接着第10次迭代,直接开始第11次迭代,而不用从头开始。(个人想法)
对于每个程序的用法,可以直接在命令行输入程序名查看其使用信息。

utils/mkgraph.sh

该脚本创建一个完全扩展的解码图(HCLG),该解码图表示语言模型、发音字典、上下文相关性和HMM结构。输出是一个FST。

$lang=data/lang_test_bg

required="$lang/L.fst $lang/G.fst $lang/phones.txt $lang/words.txt $lang/phones/silence.csl $lang/phones/disambig.int $model $tree"

steps/decode.sh

Usage: steps/decode.sh [options] <graph-dir> <data-dir> <decode-dir>

三音素:deltas + delta-deltas 训练和解码

steps/align_si.sh

usage: steps/align_si.sh <data-dir> <lang-dir> <src-dir> <align-dir>
作用:使用src-dir中的模型对data-dir中的数据进行对齐,将结果放在align-dir中

用到的文件:
data/train/text data/lang/oov.in exp/mono/tree exp/mono/final.mdl exp/mono/final.occs
输出:
exp/mono_ali/ali.JOB.gz

steps/train_deltas.sh

Usage: steps/train_deltas.sh <num-leaves> <tot-gauss> <data-dir> <lang-dir> <alignment-dir> <exp-dir>

一段理论:

流程:

上一篇下一篇

猜你喜欢

热点阅读