在visual studio 2013中编译kaldi的主要困难的地方在于正确编译kaldi的依赖库,主要是:openfst,ATLAS, pthreadVC2,其中又属ATLAS最难编译,因此,为求整个编译逻辑清晰简洁,在此将忽略kaldi所有依赖库的编译,如果有时间,我会直接提供其所依赖的库。
编译环境:
- 操作系统:windows8 (推荐)
- 编译工具:visual studio2013
- 其他:要安装完整的CygWin环境
编译步骤:
- 新建解决方案:打开visual studio 2013,新建一个Win32项目,不妨将解决方案名称名为kalid_vs13。可以先简单写个HelloWorld程序,用来测试项目是否成功建立
- 新建项目:在解决方案kalid_vs13中用DLL项目模板添加一个新的项目kalid-lib
- 添加源文件:把kaldi-trunk/src/下的的*.cc文件加入项目kalid-lib中,注意这里不要把一些*bin目录里的测试文件以及其他的一些文件名中含有关键字test的*.cc文件加入kalid-lib中
- 配置kalid-lib的相关属性,包括:1)配置头文件的引用目录,2)预处理器定义的宏(HAVE_ATLAS),3)依赖库的引用(openfst.lib,atlas.lib,pthreadVC2.lib)
- 其他配置:因为nnet1和nnet2目录下有相同的文件名:nnet-nnet.cc和nnet-componet.cc,所以需要配置他们各自的“输出文件”中的”对象文件名“,比如可以将nnet1中的nnet-nnet.cc的对象文件名设为$(IntDir)nnet1\,而将nnet2中的nnet-nnet.cc的对象文件名设为$(IntDir)nnet2\,其他重复文件类推
备注:
1. 要想顺利编译,还需要修改一些kaldi源文件,有时间我会向官方提交一些patch,这样大家就能顺利编译kaldi了
2.以上的编译环境是我自己的,其他的环境是否能行我就不确定了
3. 这篇随笔主要叙述kaldi的整体编译思路,暂时不会关注编译细节!
在visual studio 2013中编译语音识别库kaldi
时间: 2024-10-22 22:25:36