kaldi上运行Timit实例

本文详细介绍了如何搭建TIMIT语音识别语料库,并利用Kaldi工具进行语音识别模型训练。从安装irstlm工具开始,到配置环境变量、设置数据路径等步骤,最后通过运行run.sh脚本完成整个实验流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值