系統(tǒng)軟件園 - 專注分享最好的電腦系統(tǒng)軟件!免費(fèi)安全下載 系統(tǒng)軟件園首頁 | Win7激活工具 | 熱門專題
系統(tǒng)軟件園>您的位置:首頁 > > 系統(tǒng)教程 > 軟件教程 >

kaldi windows 安裝怎么操作?windows 裝kaldi 的詳細(xì)操作方法

更新時(shí)間:2018-09-06 08:58:42| 編輯:本站整理 | 信息來源:本站整理|瀏覽數(shù):

 

kaldi windows 安裝怎么操作?在本文中winiwn7小編將給大家分享介紹下關(guān)于windows 系統(tǒng)中如何安裝 kaldi 程序的詳細(xì)操作方法。

1、安裝前的準(zhǔn)備

進(jìn)行相關(guān)VS工程的更新和修改前,請(qǐng)確認(rèn)你已經(jīng)完成了以下列表所述工作,以保證后續(xù)更新的正確進(jìn)行:

已在Ubuntu Server上成功安裝并運(yùn)行Kaldi;

請(qǐng)自行搜索相關(guān)Kaldi在Ubuntu上install/building的相關(guān)資源,這里不是重點(diǎn),不再贅述。
[Code Link] https://github.com/kaldi-asr/kaldi

已在Ubuntu Server上下載THCHS30語料庫,并成功運(yùn)行至少 tri2b的步驟;

[Example Code Dir] TRUNK_ROOT/egs/thchs30/s5/
[Corpus Link] http://www.openslr.org/18/

在Windows平臺(tái)上已安裝Cygwin,并可以運(yùn)行Unzip,Git, Wget, Patch命令,及Perl腳本;

如果沒有,請(qǐng)使用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
[x] patch : Applies diff files

在Windows平臺(tái)上下載相同版本Kaldi代碼,并依據(jù)相關(guān)Guide生成VS工程,并可編譯(盡管編譯有錯(cuò)誤);

[Guide] https://github.com/kaldi-asr/kaldi/blob/master/windows/INSTALL.md
Note:

VS工程選擇VS2015(v140), 配置選擇 x64 Debug/Release
ametit.com
請(qǐng)fellow步驟 1,2,3,4,6,8,9,10,11,12,13,15,16

步驟15使用選項(xiàng): (kaldi)/windows$ generate_solution.pl –vsver vs2015 –enable-openblas

如果無法使用wget下載代碼,請(qǐng)使用瀏覽器打開相關(guān)網(wǎng)址直接下載,注意版本;

pthreads-w32-2-9-1-release.zip

OpenBLAS-v0.2.14-Win64-int32.zip

mingw64_dll.zip

如果無法 patch /pthread-2.9.1.patch, 請(qǐng)修改pthreads\Pre-built.2\include\pthread.h的ending type為UNIX模式;

2、問題及解決方法

Kaldi自帶的VS工程的編譯問題,主要是由PortAudio模塊的缺失和openfst版本過低一起的。下面我們來逐一解決。

Note: 以下步驟的驗(yàn)證,可以只編譯/運(yùn)行 (kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin_vs2015.sln 中的 oneline-wave-gmm-decode-faster工程。 編譯整個(gè)Solution 600多個(gè)Project太耗時(shí)。

3.1 PortAudio的更新及編譯

. PortAudio
問題 fata error C1083: Cannot open include file: ‘portaudio.h’: No such file or directory
原因 PortAudio 子模塊未安裝
方法 Install PortAudio module and also ASIO supported sub-module
步驟 1) 下載 pa_stable_v190600_20161030.tgz 和 asiosdk.zip , 拷貝到 (kaldi)/tools/ 目錄
. 2) cd (kaldi)/tools/
. 3) tar -xvf pa_stable_v190600_20161030.tgz
. 4) unzip asiosdk.zip
. 5) mv ASIOSDK2.3/ portaudio/src/hostapi/asio/ASIOSDK
. 6) 在VS2015中打開 (kaldi)\tools\portaudio\build\msvc\portaudio.sln,選擇x64/Release配置進(jìn)行編譯。
. 7) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\variables.props, 添加PortAudio相關(guān)信息.
> —————-
在<PropertyGroup Label="UserMacros">子項(xiàng)下添加:
<PORTAUDIO>D:\Local\_Work\Proj_DL\kaldi_win_valid\tools\portaudio</PORTAUDIO>
<PORTAUDIOLIB>D:\Local\_Work\Proj_DL\kaldi_win_valid\tools\portaudio\build\msvc\x64</PORTAUDIOLIB>

在<ItemGroup>子項(xiàng)下添加:
<BuildMacro Include="PORTAUDIO">
<Value>$(PORTAUDIO)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
<BuildMacro Include="PORTAUDIOLIB">
<Value>$(PORTAUDIOLIB)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
. 8) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\kaldiwin.props, 添加PortAudio相關(guān)信息.
> —————-
在<AdditionalIncludeDirectories>子項(xiàng)下添加:
$(PORTAUDIO)\include;$(PORTAUDIO)\src\common;

在<AdditionalLibraryDirectories>子項(xiàng)下添加:
$(PORTAUDIOLIB)\Debug;

在<AdditionalDependencies>子項(xiàng)下添加:
portaudio_x64.lib;pa_ringbuffer.obj;
. 9) Rebuild kaldiwin_vs2015.sln 的 oneline-wave-gmm-decode-faster工程.

3.2 Openfst的更新及編譯

. Openfst
問題 context-fst.h(90): error C2143: syntax error: missing ‘;’ before ‘<’
table-matcher.h(289): error C2143: syntax error: missing ‘;’ before ‘<’
trivial-factor-weight.h(112): error C2143: syntax error: missing ‘;’ before ‘<’

原因 openfst版本不匹配, 當(dāng)前使用為1.6.2, VS工程中使用的是1.3.4
方法 更新openfst版本,添加/修改相關(guān)windows平臺(tái)適配代碼
步驟 1) 下載 openfst-1.6.2.tar.gz 和 openfst-1.6.2.patch, 拷貝到 (kaldi)/tools/ 目錄
. 2) cd (kaldi)/tools/
. 3) rm -rf openfst
. 4) tar -xvf openfst-1.6.2.tar.gz
. 5) patch -b -p1 < openfst-1.6.2.patch
. 6) 在VS2015中打開 (kaldi)\tools\openfst-1.6.2\openfst.sln,選擇x64/Release & Debug配置進(jìn)行編譯.
. 7) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\variables.props, 修改openfst相關(guān)信息.
> —————-
將<PropertyGroup Label="UserMacros">子項(xiàng)下的<OPENFST><OPENFSTLIB>內(nèi)容修改為:
<OPENFST>(KALDI_ROOT)\tools\openfst-1.6.2</OPENFST>
<OPENFSTLIB>(KALDI_ROOT)\tools\openfst-1.6.2\x64</OPENFSTLIB>
. 8) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\openfstwin_debug.props, 修改openfst相關(guān)信息.
> —————-
將<AdditionalDependencies>子項(xiàng)下的openfstx64-gd.lib內(nèi)容修改為:
<AdditionalDependencies>libfst.lib;%(AdditionalDependencies)</AdditionalDependencies>
. 9) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\openfstwin_release.props, 修改openfst相關(guān)信息.
> —————-
將<AdditionalDependencies>子項(xiàng)下的openfstx64.lib內(nèi)容修改為:
<AdditionalDependencies>libfst.lib;%(AdditionalDependencies)</AdditionalDependencies>

3.3 pthread-win的路徑錯(cuò)誤

. pthread-win
問題 12>LINK : fatal error LNK1104: cannot open file ‘pthreadVC2.lib’
原因 pthreads路徑錯(cuò)誤
方法 更改kaldiwin_vs2015 solution配置文件中pthreads路徑
步驟 1) 打開(kaldi)\kaldiwin_vs2015_OPENBLAS\kaldiwin\variables.props, 修改openfst相關(guān)信息.
> —————-
將<PropertyGroup Label="UserMacros">子項(xiàng)下的<PTHREADW>內(nèi)容修改為:
<PTHREADW>(KALDI_ROOT)\pthreads\Pre-built.2</PTHREADW>

3.4 dll files missing的錯(cuò)誤

. dll files missing
問題 編譯完成后運(yùn)行時(shí),提示找不到相關(guān)的dll文件
原因 工程運(yùn)行依賴的dll文件未注冊(cè)
方法 拷貝dll文件到可執(zhí)行文件目錄下
步驟 1) 相關(guān)dll的位置如下所示
> —————-
libopenblas.dll
(KALDI_ROOT)\tools\OpenBLAS-v0.2.14-Win64-int32\bin\libopenblas.dll
portaudio_x64.dll
(KALDI_ROOT)\tools\portaudio\build\msvc\x64\Debug\portaudio_x64.dll
libgcc_s_seh-1.dll
(KALDI_ROOT)\tools\mingw64_dll\libgcc_s_seh-1.dll
libgfortran-3.dll
(KALDI_ROOT)\tools\mingw64_dll\libgfortran-3.dll
libquadmath-0.dll
(KALDI_ROOT)\tools\mingw64_dll\libquadmath-0.dll
. 2) 請(qǐng)將其拷貝到工程生成的執(zhí)行文件目錄(kaldi)\kaldiwin_vs2015_OPENBLAS\x64\Debug下

3.5 控制臺(tái)中文輸出亂碼

. 解碼輸出中文亂碼
問題 online-wave-gmm-decode-faster.exe的控制臺(tái)輸出的解碼后的文本顯示是亂碼
原因 解碼所需的字典文件word.txt的編碼格式(UTF-8)和中文版windows的控制臺(tái)默認(rèn)的編碼格式(GBK)不一致
方法 字典文件和控制臺(tái)的編碼格式需要保持一致
步驟 1) 用notepad++將word.txt編碼格式更改為GB2312(GBK) 參考下圖:
kaldi windows 安裝怎么操作?windows 裝kaldi 的詳細(xì)操作方法
kaldi windows 安裝怎么操作?windows 裝kaldi 的詳細(xì)操作方法

以上便是winwin7分享的windows 裝kaldi 的詳細(xì)操作方法!

返回頂部


系統(tǒng)軟件園發(fā)布的系統(tǒng)鏡像及軟件均來至互聯(lián)網(wǎng),僅供學(xué)習(xí)和研究使用,不得用于任何商業(yè)用途并請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除,如果滿意請(qǐng)聯(lián)系版權(quán)方購買。
如果您發(fā)現(xiàn)本站侵害了您的版權(quán),請(qǐng)立即聯(lián)系我們,本站將第一時(shí)間進(jìn)行相關(guān)處理。聯(lián)系方式(見首頁)
版權(quán)聲明|下載聲明 Copyright @ 2016 系統(tǒng)軟件園