Kaldi是一个非常强大的语音识别工具库,主要由Daniel Povey开发和维护。目前支持GMM-HMM、SGMM-HMM、DNN-HMM等多种语音识别的模型的训练和预测。其中DNN-HMM中的神经网络还可以由配置文件自定义,DNN、CNN、TDNN、LSTM以及Bidirectional-LSTM等神经网络结构均可支持。

目前在Github上这个项目依旧非常活跃,可以在 https://github.com/kaldi-asr/kaldi 下载代码,以及在 http://kaldi-asr.org/ 查看它的文档。

下载以及安装

与其他开源软件一样,首先Clone它在Github上的代码

$ git clone https://github.com/kaldi-asr/kaldi
1
Clone下来之后按照INSTALL文件的指示,需要先完成tools文件夹下的编译安装,然后再去编译src下的内容。因此,先去tools文件夹: 
$ cd kaldi/tools 
在tools文件夹下依旧有一个INSTALL,我们根据它的指示,一步一步完成安装。首先,需要运行extras/check_dependencies.sh这个脚本来检查一些依赖的环境是否存在并且正确配置。

$  extras/check_dependencies.sh
extras/check_dependencies.sh: automake is not installed.
extras/check_dependencies.sh: autoconf is not installed.
extras/check_dependencies.sh: neither libtoolize nor glibtoolize is installed
extras/check_dependencies.sh: subversion is not installed
extras/check_dependencies.sh: we recommend that you run (our best guess):
  sudo apt-get install automake autoconf libtool subversion
You should probably do: 
  sudo apt-get install libatlas3-base
/bin/sh is linked to dash, and currently some of the scripts will not run properly.  We recommend to run:
  sudo ln -s -f bash /bin/sh
1
2
3
4
5
6
7
8
9
10
11
这个输出的结果不同的Linux会不相同(我的是Ubuntu 16.04)。根据check_dependencies.sh输出结果的提示,安装缺的包,以及配置正确的环境

$ sudo apt-get install automake autoconf libtool subversion
$ sudo apt-get install libatlas3-base
$ sudo ln -s -f bash /bin/sh
1
2
3
然后再重新运行一遍check_dependencies.sh

$ extras/check_dependencies.sh
extras/check_dependencies.sh: all OK.
1
2
如果输出以上结果,那么我们可以继续安装了

$ make -j 16
1
其中-j 16是开16个job同时进行编译,这个可以根据CPU内核的数量进行指定。确定没有错误后切换到src文件夹

$ cd ../src
1
这里面也包含了一个INSTALL文件,按照里面的步骤编译和安装

$ ./configure
1
运行完成后在最后一行可以看到SUCCESS,如果没有的话那应该是哪个步骤出问题了,可以去检查一下上面几个步骤是否有错误

$ make depend
$ make -j 16
1
2
检查一下编译是否有错误,如果没有错误的话make脚本会在屏幕的最后一行输出Done。至此Kaldi的编译安装完成了,可以愉快的开始训练模型了。

运行yesno实例 
步骤和结果如下: 
1.直接运行./run.sh。因为run.sh里面可以直接下载。 
测试呈现在linux上的结果: 
book@book-desktop:~/kaldi/egs/yesno/s5$ sudo ./run.sh 
[sudo] password for book: 
–2017-07-03 15:20:32– http://www.openslr.org/resources/1/waves_yesno.tar.gz 
Resolving www.openslr.org (www.openslr.org)… 35.184.122.207 
Connecting to www.openslr.org (www.openslr.org)|35.184.122.207|:80… connected. 
HTTP request sent, awaiting response… 200 OK 
Length: 4703754 (4.5M) [application/x-gzip] 
Saving to: 鈥榳aves_yesno.tar.gz鈥

waves_yesno.tar.gz 100%[===================>] 4.49M 148KB/s in 45s 
Data preparation succeeded 
Dictionary preparation succeeded 
Preparing train and test data 
Preparing word lists etc. 
fstaddselfloops ‘echo 4 |’ ‘echo 4 |’ 
Preparing language models for test 
arpa2fst - 
\data\ 
Processing 1-grams 
Connected 0 states without outgoing arcs. 
fstisstochastic data/lang_test_tg/G.fst 
1.20397 0 
Succeeded in formatting data. 
Succeeded creating MFCC features for train_yesno 
Succeeded creating MFCC features for test_yesno 
Computing cepstral mean and variance statistics 
Initializing monophone system. 
Compiling training graphs 
Aligning data equally (pass 0) 
Pass 1 
Aligning data 
Pass 2 
Aligning data 
Pass 3 
Aligning data 
Pass 4 
Aligning data 
Pass 5 
Aligning data 
Pass 6 
Aligning data 
Pass 7 
Aligning data 
Pass 8 
Aligning data 
Pass 9 
Aligning data 
Pass 10 
Aligning data 
Pass 11 
Pass 12 
Aligning data 
Pass 13 
Pass 14 
Aligning data 
Pass 15 
Pass 16 
Aligning data 
Pass 17 
Pass 18 
Aligning data 
Pass 19 
Pass 20 
Aligning data 
Pass 21 
Pass 22 
Pass 23 
Aligning data 
Pass 24 
Pass 25 
Pass 26 
Aligning data 
Pass 27 
Pass 28 
Pass 29 
Aligning data 
Pass 30 
Pass 31 
Pass 32 
Aligning data 
Pass 33 
Pass 34 
Pass 35 
Aligning data 
Pass 36 
Pass 37 
Pass 38 
Aligning data 
Pass 39 
1 warnings in exp/mono0a/log/update.3.log 
1 warnings in exp/mono0a/log/update.7.log 
Done 
fstminimizeencoded 
fstdeterminizestar –use-log=true 
fsttablecompose data/lang_test_tg/L_disambig.fst data/lang_test_tg/G.fst 
fstisstochastic data/lang_test_tg/tmp/LG.fst 
1.20412 -2.34608e-05 
warning: LG not stochastic. 
fstcomposecontext –context-size=1 –central-position=0 –read-disambig-syms=data/lang_test_tg/tmp/disambig_phones.list –write-disambig-syms=data/lang_test_tg/tmp/disambig_ilabels_1_0.list data/lang_test_tg/tmp/ilabels_1_0 
fstisstochastic data/lang_test_tg/tmp/CLG_1_0.fst 
1.20412 -2.34608e-05 
warning: CLG not stochastic. 
make-h-transducer –disambig-syms-out=exp/mono0a/graph_tgpr/disambig_tid.list –transition-scale=1.0 data/lang_test_tg/tmp/ilabels_1_0 exp/mono0a/tree exp/mono0a/final.mdl 
fstminimizeencoded 
fsttablecompose exp/mono0a/graph_tgpr/Ha.fst data/lang_test_tg/tmp/CLG_1_0.fst 
fstdeterminizestar –use-log=true 
fstrmsymbols exp/mono0a/graph_tgpr/disambig_tid.list 
fstrmepslocal 
fstisstochastic exp/mono0a/graph_tgpr/HCLGa.fst 
1.20412 -2.34608e-05 
HCLGa is not stochastic 
add-self-loops –self-loop-scale=0.1 –reorder=true exp/mono0a/final.mdl 
… 
%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] xp/mono0a/decode_test_yesno/wer_10

实验前可以看一下说明文件。
--------------------- 
作者:Shmily_Young 
来源:CSDN 
原文:https://blog.csdn.net/shmilyforyq/article/details/74203894 
版权声明:本文为博主原创文章,转载请附上博文链接!

这里其实很简单只用了少部分的库,这个配置的环境还不能跑timit实验,下一步将要讲如何配置timit的环境。

kaldi第一步安装kaldi测试yesno相关推荐

  1. 学习和使用UE4的第一步——安装和介绍Epic Games客户端和虚幻引擎

    学习和使用UE4的第一步--安装和介绍Epic Games客户端和虚幻引擎 1 安装Epic Games客户端 2 打开Epic Games客户端 3 Epic Games客户端介绍 4 安装虚幻引擎 ...

  2. Python自学第一步-安装软件

    Python学习第一步-安装软件 本人基本是个电脑小白,之前也从来没有接触过编程,因为学习中有时要批量处理大量表格,所以准备自学python.零基础入门看这些东西实在是太过枯燥,之前通过几节课记的笔记 ...

  3. 为什么mysql第一步安装_Mysql安装步骤

    第一步:将压缩包内的文件夹解压到想要放到系统盘根目录 第二步: 找到 bin 目录的全路径,然后添加到环境变量 第三步: 添加环境变量 第四部:使用管理员权限打开命令行:cmd.powershell ...

  4. 通用CR安装教程|CORONA渲染器怎么一步一步安装到测试与成品大图出效果图渲染参数的设置?

    [本文导航]1.写在前面:2.安装CR用5个步骤:3.往期回顾. [解说全引导进入视频教程] 3dmax效果图CAD施工图进阶 -------50分钟速成效果图全流程不教学更快进入视频教程----- ...

  5. 区域链实践第一步——区域链测试环境搭建

    区域链光速发展,在许多人的期许下,已经成为了互联网下一个革新点.区块链会成就的未来价值互联网,是新时代的基石. IBM中国研究院开发的超能云(SuperVessel)平台提供了给区块链爱好者.开发者的 ...

  6. python画图模块_学习python画图模块plotnine:第一步安装

    官网链接 https://plotnine.readthedocs.io/en/stable/index.html 知乎介绍的文章 https://zhuanlan.zhihu.com/p/47814 ...

  7. 学习c语言第一步安装软件

    1.安装的软件为MainGW 安装步骤还可以,就是不小心将安装步骤页面给关掉了,可在桌面直接编写.c文件 cmd下运行 2.现在有在线版,还挺好用 自己下载自己喜欢的软件试着安装,没有你想象的那么难也 ...

  8. 学习C语言的第一步安装

    1.点这里 2.下载安装vsCode 3.使用vsCode打开放C语言的文件夹 这样出来的是不可以调试的,只能编译运行

  9. [深入研究4G/5G/6G专题-10]: 物理层-开机功能验证第一步:通过测试终端验证、调试基站的小区初始功能

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. anago 围棋_跳进我的碗里—关于中惒围棋加盟那些事
  2. Day20 Ajax
  3. HTML中如何写for循环全选,利用html:multibox 循环遍历checkbox 并且全选全解除
  4. 【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )
  5. java核心技术-多线程并发设计原理以及常见面试题
  6. [C++] - lambda capture的成员函数 异步调用
  7. Linux开源系统OpenWrt被曝RCE 漏洞已存在3年,数百万网络设备受影响
  8. 教你快速运行谷歌EfficientDet目标检测
  9. json与字面量定义对象的区别,请不要混淆,与字符串转换
  10. Object-C中的非正式协议与正式协议
  11. 用 intellij idea 创建一个Java web项目
  12. 智能驾驶的狂想与现实落地
  13. 火狐浏览器丢失书签,恢复无法处理备份文件的解决方案
  14. sap 双计量单位_采购订单单位与基本计量单位不一致问题案例
  15. 保险与赌博的差异,航延险是赌博吗?
  16. bzoj4453 cys就是要拿英魂!(后缀数组+单调栈+二分)
  17. 【CodeForces】【状压DP】1155F-Delivery Oligopoly
  18. 主流大数据调度工具对比(DolphinScheduler特点)
  19. oracle表连接查询逗号隔开_Oracle多表连接查询
  20. 【bfs】密码锁-C++

热门文章

  1. 百度地图离线_高德地图与百度地图有啥区别?功能只是其次,定位才是重点
  2. Hadoop集群里面经常使用的几个脚本文件
  3. 2D横版跳跃游戏第一节
  4. LDAPBrowser
  5. ×××便利店与自营便利店的投资、成本费用与利润的分析
  6. 微服务应用故障定位系统实现原理剖析
  7. 中国移动MM7 API用户手册(五)
  8. 思科网第十一章pt实验(注意看文字说明)
  9. 【前端】CSS 背景颜色渐变
  10. 歌词查询java_实验10—— java读取歌词文件内容动画输出