TIMIT全称The DARPA TIMIT Acoustic-Phonetic Continuous Speech Corpus, 是由德州仪器(TI)、麻省理工学院(MIT)和坦福研究院(SRI)合作构建的声学-音素连续语音语料库。TIMIT数据集的语音采样频率为16kHz,一共包含6300个句子,由来自美国八个主要方言地区的630个人每人说出给定的10个句子,所有的句子都在音素级别(phone level)上进行了手动分割,标记。
TIMIT语料库多年来已经成为语音识别社区的一个标准数据库,在今天仍被广为使用。其原因主要有两个方面:数据集中的每一个句子都在音素级别上进行了手动标记,同时提供了说话人的编号,性别,方言种类等多种信息;数据集相对来说比较小,可以在较短的时间内完成整个实验;同时又足以展现系统的性能。
1、安装irstlm
irstlm是语言模型工具包,Timit要用到,安装的脚本在kaldi/tools/extras/install_irstlm.sh。
cd kaldi/tools/extras
./install_irstlm.sh
安装完成以后,目录下出现irstlm文件夹。由于timit例程里面引用irstlm工具的路径是tools目录,所以把这个文件夹拷贝到tools/目录下。同时irstlm的路径配置文件/tools/extras/env.sh也复制到tools目录下。
2、在/egs/timit/目录下创建data文件夹,Timit语音库分为train和test两个文件夹,将这两个文件夹放在data下面。
3、进入/egs/timit/s5准备训练模型。s5中包含三个关键的脚本:cmd.sh,path.sh,run.sh。
cmd.sh用来定义每个步骤使用的脚本。修改cmd.sh,对于本地运行(不使用集群),cmd.sh修改如下:
# run it locally
export train_cmd=run.pl
export decode_cmd=run.pl
export cuda_cmd=run.pl
export mkgraph_cmd=run.pl
path.sh用来定义各种工具包的路径。修改path.sh如下:
export KALDI_ROOT=`pwd`/../../..
[ -f $KALDI_ROOT/tools/env.sh ] && . $KALDI_ROOT/tools/env.sh
#export PATH=$PWD/utils/:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/irstlm/bin/:$PWD:$PATH
export PATH=$PWD/utils/:$KALDI_ROOT/src/bin:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/irstlm/bin/:$KALDI_ROOT/src/fstbin/:$KALDI_ROOT/src/gmmbin/:$KALDI_ROOT/src/featbin/:$KALDI_ROOT/src/lm/:$KALDI_ROOT/src/sgmmbin/:$KALDI_ROOT/src/sgmm2bin/:$KALDI_ROOT/src/fgmmbin/:$KALDI_ROOT/src/latbin/:$KALDI_ROOT/src/nnetbin:$KALDI_ROOT/src/nnet2bin/:$KALDI_ROOT/src/kwsbin:$PWD:$PATH
[ ! -f $KALDI_ROOT/tools/config/common_path.sh ] && echo >&2 "The standard file $KALDI_ROOT/tools/config/common_path.sh is not present -> Exit!" && exit 1
. $KALDI_ROOT/tools/config/common_path.sh
export LC_ALL=C
export IRSTLM=$KALDI_ROOT/tools/irstlm
export LD_LIBRARY_PATH=$KALDI_ROOT/tools/openfst/lib:$LD_LIBRARY_PATH
run.sh是所有阶段的脚本,包括了读取数据,建立发音字典,特征提取,声学模型训练(单音节、双音节、三音节、SGMM2、DNN等等),解码。最后显示各种模型的正确率。
在运行之前,需要修改run.sh脚本中的Timit数据路径(必须提供自己的Timit绝对路径):
timit=/export/corpora5/LDC/LDC93S1/timit/TIMIT 修改为
timit=/home/zht/kaldi/egs/timit/data # @local
run.sh中SGMM2 Training & Decoding部分 exit 0 要注释掉
4、运行例子
cd kaldi/egs/timit/s5
./run.sh
参考资料:
https://blog.youkuaiyun.com/qq_36035264/article/details/75579003
https://blog.youkuaiyun.com/wujianhaoren123/article/details/51276203
https://www.cnblogs.com/mmziscoming/p/5690971.html
http://www.php.cn/mysql-tutorials-122370.html
https://blog.youkuaiyun.com/jojozhangju/article/details/51446152