[本文地址:http://http://blog.csdn.net/bluepuma/article/details/78264778]
本文在Kaldi已有的Windows VS工程及其编译流程说明的基础上,更新有问题的子模块,并添加对VS工程的适配代码,确保Kaldi VS工程在windows平台上编译通过及online-wave-gmm-decode-faster 解码程序的正常运行。
Note:
- 1) 本文撰写时间为:2017.Oct.17, 相关代码的版本以此时间点为基准。
- 2) 感谢 “工 - Kaldi新手” (279295537) QQ群 @10号同学 (1004018924)的鼎力协助。
- 3) 如有问题,请留言,或者在QQ群 (279295537) 里Ping我(@icefire_luo)
- 4) 最新的Kaldi代码已更新了windows部分,请使用最新代码(May.28.2018)
1. 相关背景
Kaldi的相关工程和示例 (https://github.com/kaldi-asr/kaldi ),可以在Ubuntu Linux Server上借助GPU的Power几近完美的编译和运行起来。
但是,工程上,还是存在相关的需求,需要在windows平台上,借助于Visual Studio的强大能力,对定制的VS工程进行Debugging或动态流程调用分析。
-
幸运的是,Kaldi本身已经包含了一个针对Windows平台的VS工程 (见 https://github.com/kaldi-asr/kaldi/tree/master/windows )。
-
不幸的是,该工程最近的更新也在2年之前, 编译的时候会有问题。涉及到的第三方的依赖子模块的版本也很低,使用最新的kaldi代码训练出来的模型进行解码时,会出现参数不匹配的问题。
因此,需要对相关的子模块进行版本更新和病添加对windows平台的适配。
2. 准备工作
进行相关VS工程的更新和修改前,请确认你已经完成了以下列表所述工作,以保证后续更新的正确进行:
已在Ubuntu Server上成功安装并运行Kaldi;
请自行搜索相关Kaldi在Ubuntu上install/building的相关资源,这里不是重点,不再赘述。
[Code Link] https://github.com/kaldi-asr/kaldi已在Ubuntu Server上下载THCHS30语料库,并成功运行至少 tri2b的步骤;
[Example Code Dir] TRUNK_ROOT/egs/thchs30/s5/
[Corpus Link] http://www.openslr.org/18/在Windows平台上已安装Cygwin,并可以运行Unzip,Git, Wget, Patch命令,及Perl脚本;
-
如果没有,请使用Cygwin Setup重新添加一下package:
- [x] unzip : Info-ZIP
- [x] git : Distributed version control system
- [x] wget : Utility to retrieve filts from the WWW via HTTP and FTP