本文部分参考自: http://www.360doc.com/content/15/0101/10/13208159_437287894.shtml
样例是用自己的数据跑的,改编自wsj,文件名称不是很标准,但重点是工具的使用,加路径是为了好理解,内容暂时不解释,以后有时间来补充。
这个文档太棒了,理解每一个步骤,语音识别的整个流程也就懂了,太赞
1. 查看生成的后缀为fst的状态机文件,比如用基于lexicon生成的L.fst文件
kaldi/tools/openfst-1.3.4/bin/fstprint L.fst | head -n 10
0 1 0 0 0.693147182
0 1 1 0 0.693147182
1 1 1 1
1 3 41 2
1 4 9 3
1 5 9 3
1 6 50 4
1 1 3 5 0.693147182
1 2 3 5 0.693147182
1 1 2 6 0.693147182
这里全是状态编号,音素编号,我们加上in out的symbol, 再来看一下:
kaldi/tools/openfst-1.3.4/bin/fstprint --isymbols=phones.txt --osymbols=words.txt L.fst | head -n 15
0 1 <eps> <eps> 0.693147182
0 1 SIL <eps> 0.693147182
1 1 SIL !SIL
1 3 l 0
1 4 y 1
1 5 y 1
1 6 b 8
1 1 NSN <NOISE> 0.693147182
1 2 NSN <NOISE> 0.693147182
1 1 SPN <SPOKEN_NOISE> 0.693147182
1 2 SPN <SPOKEN_NOISE> 0.693147182
1 1 SPN <UNK> 0.693147182
1 2 SPN <UNK> 0.693147182
1 7 y 一
1 9 zh 丁
2.查看生成的特征文件是最常用的,比如 MFCC FBANK , 我们可以把特征提取出来用到其他的地方。 后缀是ark.
~/kaldi/src/featbin/copy-feats ark:raw_mfcc_test_hires.1.ark ark,t:- | head
10004_20131215_1500 [
119.0376 -20.32184 -5.752641 -4.167009 -11.58426 -1.337468 -7.541201 12.98721 -1.089335 14.15153 -12.38381 11.27721 12.04524 7.761714 3.874496 3.799245 3.997328 9.124523 10.90271 4.434446 -1.662033 2.691407 0.