kaldi运行timit

这篇博客详细介绍了如何使用Kaldi运行TIMIT数据集进行语音识别。首先下载并解压TIMIT数据,然后编辑s5目录下的run.sh和cmd.sh文件,设置正确路径。接着,运行run.sh生成模型,将模型文件复制到online_demo目录,调整online_demo的run.sh文件以匹配模型和数据路径。最后,运行run.sh进行语音识别。其他如mini_librispeech和thchs30的运行过程类似。

1、下载timit数据,将数据解压在egs/timit/data 目录下

2、打开s5目录,编辑run.sh 如下(根据timit数据存放的目录修改):

echo ============================================================================
echo "                Data & Lexicon & Language Preparation                     "
echo ============================================================================

#timit=/export/corpora5/LDC/LDC93S1/timit/TIMIT # @JHU
timit=/home/kaldi/egs/timit/data/TIMIT 

3 、打开s5目录,编辑cmd.sh.  如下:()

export train_cmd=run.pl
export decode_cmd=run.pl
export mkgraph_cmd=run.pl

export cuda_cmd=run.pl

4、运行 run.sh, 在exp目录下生成 单音素、双音素、三音素等目录。

5、进入想要测试的目录,找到三个文件:HCLG.fst   final.mdl  word.txt  如进入tri3目录(这里注意如果要测试tri2、tir3还需要找到final.mat):

6、egs下,打开voxforge,里面有个online_demo,kaldi的online模块需要单独编译,编译好之后,直接将online_demo目录复制到timit下。在online_demo里面建2个文件夹online-data  work,在online-data下建两个文件夹audio和models,audio下放你要回放的wav,models建个文件夹tri3,把s5下的exp下的tri3下的final.mat ,final.mdl、words.txt,和HCLG.fst复制到models的tri3下。

7、打开online_demo的run.sh

a)将下面这段注释掉:(这段是voxforge例子中下载现网的测试语料和识别模型的。我们测试语料自己准备,模型就是tri3了)

if [ ! -s ${data_file}.tar.bz2 ]; then
    echo "Downloading test models and data ..."
    wget -T 10 -t 3 $data_url;


    if [ ! -s ${data_file}.tar.bz2 ]; then
        echo "Download of $data_file has failed!"
        exit 1
    fi
fi

b) 然后再找到如下这句,将其路径改成tri3

 # Change this to "tri2a" if you like to test using a ML-trained model
ac_model_type=tri2b_mmi

# Alignments and decoding results  

---------------------------------------------------------------

改成:

 # Change this to "tri2a" if you like to test using a ML-trained model
ac_model_type=tri3

c)

online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85\
            --max-active=4000 --beam=12.0 --acoustic-scale=0.0769 \
            scp:$decode_dir/input.scp $ac_model/model 

————————————————————————————

改成:online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85\
            --max-active=4000 --beam=12.0 --acoustic-scale=0.0769 \
            scp:$decode_dir/input.scp $ac_model/final.mdl

 

d)修改run.sh  :(就是把final.mat考过来,引入命令中)

ac_model=${data_file}/models/$ac_model_type
trans_matrix="$ac_model/final.mat"
audio=${data_file}/audio

if [ -s $ac_model/matrix ]; then
    trans_matrix=$ac_model/final.mat
fi

e)再次修改run.sh成如下这个样子(添加2个参数--left-context=3 --right-context=3)

online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85 --max-active=4000 --beam=12.0 --acoustic-scale=0.0769 --left-context=3 --right-context=3 scp:./work/input.scp online-data/models/tri3/final.mdl online-data/models/tri3/HCLG.fst online-data/models/tri3/words.txt 1:2:3:4:5 ark,t:./work/trans.txt ark,t:./work/ali.txt online-data/models/tri3/final.mat 

14 运行./run.sh,结果如下。

kaldi中其他的例程运行过程类似,如根据以上步骤运行mini_librispeech,得到以下结果:

运行thchs30结果:(有两种输出,一种是基于词的,另一种是基于音素,由词典决定words.txt)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值