如何在Windows下编译Kaldi

1. 安装Git for Windows。下载地址:https://git-scm.com/download/win

2. 进入Git Bash,下载Kaldi到kaldi目录:git clone https://github.com/kaldi-asr/kaldi.git kaldi

3. 下载cmake, 地址:https://cmake.org/download/

下载安装时,要记得按下图设置

4. 进入kaldi/tools目录,下载openfst

  • git clone https://github.com/kkm000/openfst.git
  • cd openfst
  • mkdir build64
  • cd build64
  • cmake -G "Visual Studio 15 2017 Win64" ../

注意:编译的时候可能会出现找不到一些头文件的错误,那是openfst\src\test\CMakeLists.txt文件中一些头文件的路径问题,需要在找不到的一些头文件前面加上相对路径,比如:

add_executable(fst_test
  fst_test.cc
  fst_test.h
)

要改成:

add_executable(fst_test
  fst_test.cc
  ../include/fst/test/fst_test.h
)

编译成功后,在build64目录下会生成一个项目文件openfst.sln,用VS2017打开它运行生成fst.lib静态库文件,分别在debug x64和release x64下生成。

5. 回到tools目录下,下载安装wget for Git(windows)。

  • 下载wget二进制安装包,地址:https://eternallybored.org/misc/wget/
  • 解压安装包,将wget.exe 拷贝到C:\Program Files\Git\mingw64\bin\ 下面;(或者解压之后将解压文件中wget.exe的路径添加到环境变量中)

6.  回到tools目录下,下载安装pthread-win32

  • wget http://downloads.sourceforge.net/project/pthreads4w/pthreads-w32-2-9-1-release.zip
  • mkdir pthreads
  • cd pthreads
  • unzip ../pthreads-w32-2-9-1-release.zip

7. 回到tools目录下,安装OpenBLAS

  • cd ..
  • wget http://sourceforge.net/projects/openblas/files/v0.2.14/OpenBLAS-v0.2.14-Win64-int32.zip
  • wget http://sourceforge.net/projects/openblas/files/v0.2.14/mingw64_dll.zip
  • unzip OpenBLAS-v0.2.14-Win64-int32.zip
  • unzip mingw64_dll.zip

8. 下载 pa_stable_v190600_20161030.tgz 和 asiosdk.zip , 拷贝到 (kaldi)/tools/ 目录

  • cd (kaldi)/tools/
  • tar -xvf pa_stable_v190600_20161030.tgz
  • unzip asiosdk.zip
  • mv ASIOSDK2.3/ portaudio/src/hostapi/asio/ASIOSDK
  • 在VS2017中打开 (kaldi)\tools\portaudio\build\msvc\portaudio.sln,选择x64/Release配置进行编译。

9. 到kaldi的windows目录下

  • 拷贝variables.props.dev一份为variables.props
  • 拷贝kaldiwin_openblas.props一份为kaldiwin.props
  • 打开variables.props,
  • 修改:

    <OPENBLASDIR>绝对路径\OpenBLAS-v0.2.14-Win64-int32</OPENBLASDIR>
    <OPENFST>绝对路径\openfst\</OPENFST>
    <OPENFSTLIB>绝对路径\build64\</OPENFSTLIB>

  • 新增:

    <PORTAUDIO>绝对路径\portaudio</PORTAUDIO>
    <PORTAUDIOLIB>绝对路径\x64</PORTAUDIOLIB>

  • 在ItemGruop增加

    <BuildMacro Include="PORTAUDIO">
        <Value>$(PORTAUDIO)</Value>
        <EnvironmentVariable>true</EnvironmentVariable>
    </BuildMacro>
    <BuildMacro Include="PORTAUDIOLIB">
        <Value>$(PORTAUDIOLIB)</Value>
        <EnvironmentVariable>true</EnvironmentVariable>
    </BuildMacro>

  • 打开kaldiwin.props

在<AdditionalIncludeDirectories>子项下添加:
$(PORTAUDIO)\include;$(PORTAUDIO)\src\common;

在<AdditionalLibraryDirectories>子项下添加:
$(PORTAUDIOLIB)\Debug;

在<AdditionalDependencies>子项下添加:
portaudio_x64.lib;pa_ringbuffer.obj;

10. 生成kaldi工程

  • ./generate_solution.pl --vsver vs2017 --enable-openblas
  • ./get_version.pl

11. 到新生成的kaldiwin_vs2017_OPENBLAS目录下用VS2017打开sln文件,选择Release|x64,开始编译生成项目,分别在debug x64和release x64下生成。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值