2.工程定稿

运行脚本前的最后一章, 你的工程将会变得完整。
2.1.工具附件
你需要添加在例子脚本中广泛使用的 kaldi 工具箱。
任务: 在 kaldi-trunk/egs/wsj/s5 目录下拷贝出两个文件夹(注意拷贝所有内容):‘utils’和‘steps’,并把它们放在你的/home/hujianhua/kaldi/egs/thchs30/s5目录下。你还可以为你的这些目录建立连接。你可以在 kaldi-trunk/egs/voxforge/s5 中找到相似的例子。
2.2.评分脚本
这个脚本可以帮助你得到解码结果。
任务: 从/egs/voxforge/local 目录下拷贝 score.sh 脚本到你工程中相同的位置(注意,必须是相同的位置:/home/hujianhua/kaldi/egs/thchs30/s5)
2.3. SRILM 安装
你还需要加载在SRILM使用到的语言模型工具包。
任务:关于如何安装,请仔细阅读 /kaldi /tools/install_srilm.sh 里面的所有内容。
2.4. 配置文件
任务: 在目录/kaldi/egs/thchs30/s5 目录下创建一个名为‘conf’的文件夹。在 /kaldi/egs/thchs30/s5/conf 目录下创建两个文件(关于一些在解码和 mfcc 特征提取过程中的配置修改——从/egs/voxforge 下拷贝)
a.) decode.config
—– exemplary decode.config starts —–
first_beam=10.0
beam=13.0
lattice_beam=6.0
—– exemplary decode.config ends —–
b.) mfcc.conf
—– exemplary mfcc.conf starts —–
–use-energy=false
—– exemplary mfcc.conf ends —–

3运行脚本

任务: 在/kaldi/egs/thchs30/s5目录下创建3个脚本:
a.) cmd.sh
—– cmd.sh script starts here ————————————————–

如果是本地CPU不接外部集群的话:(local CPU - no external clusters)

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

如果是有外部集群,则改成: #export train_cmd=queue.pl #export decode_cmd=”queue.pl –mem 4G” #export mkgraph_cmd=”queue.pl –mem 8G” #export cuda_cmd=”queue.pl –gpu 1”

cmd.sh script ends here ————————————————–
a.) path.sh
—– path.sh script starts here ————————————————–
export KALDI_ROOT=pwd/../../..
[ -f KALDI_ROOT/tools/env.sh ] && . KALDI_ROOT/tools/env.sh ] && . KALDI_ROOT/tools/env.sh
export PATH= PWD/utils/: P W D / u t i l s / : KALDI_ROOT/tools/openfst/bin: PWD: P W D : PATH
[ ! -f KALDI_ROOT/tools/config/common_path.sh ] && echo >&2 "The standard file 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
—– path.sh script ends here ————————————————–
c.) run.sh
—– run.sh script starts here ————————————————–
这里写图片描述
这里写图片描述

—– run.sh script ends here ————————————————–
之后会详细讲解run.sh里面的各个模块。

4.结果

任务:现在你所要做的事情就是运行脚本 run.sh。如果这个任务中出现了什么错误,log 会指导你去修改错误。
另外你会发现在终端界面上有一些解码结果,然后去看一下新生成的/kaldi/egs/s5/exp。你会发现这些文件中也有mono和tri的结果,目录结构也是一样的。来到 mono/decode目录下,你会发现以 wer_{number}命名方式的结果文件夹。解码过程的 logs文件也会在 /home/hujianhua/kaldi/egs/s5/exp 目录下的 log文件夹下找到。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐