kaldi 在线中文识别系统搭建
来源:互联网 发布:java写接口供别人调用 编辑:程序博客网 时间:2024/05/20 14:43
原始数据下载
http://www.openslr.org/18/
总共三个tgz文件:
data_thchs30.tgz [6.4G] ( speech data and transcripts )
test-noise.tgz [1.9G] ( standard 0db noisy test data )
resource.tgz [24M] ( supplementary resources, incl. lexicon for training data, noise samples )
下载后随便解压到哪个目录文件夹下。
我解压的目录路径是:
/media/gsc/kaldi_data/thchs30-openslr
训练生成模型
该example在我的电脑上的目录是:
/home/gsc/kaldi/egs/thchs30/s5
PC编译的cmd.sh
按如下方式更改以使用pc进行编译:
至少4核4G内存。
export train_cmd=run.plexport decode_cmd="run.pl --mem 4G"export mkgraph_cmd="run.pl --mem 8G"export cuda_cmd="run.pl --gpu 1"#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"
修改run.sh
文件:
然后执行run.sh,由于编译时间较长,可以参看run.sh文件跟踪过程;
该文件进行了不同声学模型的训练。最简单的就是单音素模型了。
可以在任何时间停止,但是至少mono训练结束后停止,因为下面在线识别依赖至少一个模型。
安装portaudio
gsc@X250:~/kaldi/tools$ ./install_portaudio.sh ./src/下 , make ext
在线识别
创建相关文件
从voxforge把online_demo拷贝到thchs30下,和s5同级,online_demo建online-data和work两个文件夹。online-data下建audio和models,audio放要识别的wav,models建tri1,讲s5下/exp/下的tri1下的final.mdl和35.mdl拷贝过去,把s5下的exp下的tri1下的graph_word里面的words.txt和HCLG.fst也拷过去。
修改脚本
修改online_demo 下的run.sh
1.注释
2.修改模型类型
ac_model_type=tri2b_mmi 改成ac_model_type=tri1
3.更改命令行
图中注释掉的是tri2b模式时的命令调用格式
4.运行run.sh –test_mode live在线识别。
单音素识别结果如上,基本不准,但是对“为什么”识别很好。
其它模型
运行tri2(tri3,tri4同理):把s5下的exp下的tri2b下的12.mat考到models的tri2b下,把final.mat考过来,再拷贝其他相应的文件,修改,
online-gmm-decode-faster --rt-min=0.5 --rt-max=0.7 --max-active=4000 \ --beam=12.0 --acoustic-scale=0.0769 --left-context=3 --right-context=3 $ac_model/final.mdl $ac_model/HCLG.fst \ $ac_model/words.txt '1:2:3:4:5' $trans_matrix;;
不截屏结果了,显示比前面一个好,且如果听过wav,就会发现wav文件里高频词汇,识别的结果相对准一些。
dnn模型
运行dnn:首先要将nnet1转成nnet2,如何转换,上面的文章里有,再贴一下链接:http://kaldi-asr.org/doc/dnn1.html#dnn1_conversion_to_dnn2,https://sourceforge.net/p/kaldi/discussion/1355348/thread/1ff78ec8/
syntaxnet(和文章标题无关,请跳过)
无关的两张图,syntaxnet
中文分词
在网上下载Chinese模型文件,http://download.tensorflow.org/models/parsey_universal/Chinese.zip
导出所在路径:
gsc@X250:~/envtensorflow/deep_learn/models/syntaxnet$ MODEL_DIRECTORY=~/Downloads/Chinese
执行如下命令,查看分词结果;
gsc@X250:~/envtensorflow/deep_learn/models/syntaxnet$ echo '然而,中国经历了30多年的改革开放' | syntaxnet/models/parsey_universal/tokenize_zh.sh $MODEL_DIRECTORY | syntaxnet/models/parsey_universal/parse.sh $MODEL_DIRECTORY
- kaldi 在线中文识别系统搭建
- 基于kaldi的在线中文识别,online的操作介绍
- 基于kaldi的在线中文识别,online的操作介绍
- 基于kaldi的在线中文识别,online的操作介绍
- kaldi中的在线识别----Online Recognizers
- 【kaldi在线语音识别bug解决】
- 基于kaldi的在线语音识别
- 基于kaldi、thchs30 的离线中文识别
- 语音识别系统之kaldi-----安装续
- 语音识别系统kaldi----实例说明
- 语音识别系统之kaldi------voxforge实例
- 修复kaldi中的在线语音识别的bug
- kaldi上第一个免费的中文语音识别例子
- Kaldi 中文语音识别需要考虑的问题
- kaldi上第一个免费的中文语音识别例子
- kaldi上第一个免费的中文语音识别例子
- 语音识别系统之kaldi-----安装出现的错误
- 语音识别系统之kaldi----在timit上的实验
- BZOJ 1001 狼抓兔子
- PHP底层工作原理
- hdu2600
- Linux进程空间与虚拟地址的好处
- xml递归解析成Map
- kaldi 在线中文识别系统搭建
- 一致性模型
- winSCP使用
- Angular的自动化测试
- SSH
- git tag版本代码快速修复
- Servlet的基础概念
- spring JPA集成Junit单元测试
- test