這3篇博客,詳細總結和記錄了我編譯安裝kaldi和兩種用kaldi進行中文語音識別的過程,包括如何kaldi的簡單介紹、環境的配置、相關模型的訓練、導入,算是自己近期學習的一個總結,也希望可以幫助到需要的人~~~
本篇博客主要記錄了我編譯安裝kaldi的過程
另外兩篇博客的連接
kaldi是什麼
kaldi是一個用C++寫的語音識別工具包。kaldi旨在供語音識別研究員使用。當然,kaldi也可以用作聲紋識別。關於他的詳細介紹可以訪問kaldi的官方文檔
kaldi與中文語音識別
感謝很多大神與科研工作者在kaldi上開源了他們的數據集和訓練模型,讓我這樣的小白可以站在巨人的肩膀上前行。目前我所瞭解到有3個開源的中文語音識別例子。
- 清華大學開源的thchs30數據集(瘋狂爲CSLT打電話~~~)
- CVTE公司開源的CVTE Mandarin Model模型
- Beijing Shell Shell Technology公司開源的aishell數據集
如果有同學知道其他的數據集or模型,中英文皆可,歡迎聯繫我補充啊~
編譯與安裝kaldi
注意:爲了提高訓練的速度,kaldi最好安裝在GPU雲服務器下。如果沒有服務器話,使用虛擬機應該也是可以的,但一定要分配足夠的內存空間和存儲空間。下面我就以我使用的centos服務器爲例,介紹kaldi的編譯與安裝。
編譯與安裝大概分爲3步
- 安裝git、下載kaldi的源碼
- 安裝編譯所需依賴包
- 配置、編譯kaldi
1.kaldi的下載
kaldi的所有源碼開源在了GitHub上,可以直接git下載到服務器上,首先得確保服務器上安裝了git,如果沒有安裝的話,就先安裝git
sudo yum install git -y
接着git clone下載kaldi
git clone https://github.com/kaldi-asr/kaldi.git
下載完成kaldi源碼後,我們將得到如下一個文件結構的目錄。
kaldi/
├── COPYING
├── egs/ //egs目錄裏存放了使用kaldi完成的開源語音識別/聲紋識別項目
├── INSTALL //編譯安裝kaldi的指導
├── misc/
├── README.md
├── scripts/
├── src/ //src文件夾裏存放了kaldi源碼
├── tools/ //tools文件夾裏存放了語音處理的工具包
└── windows/ //windows文件夾存放了在windows下編譯安裝kaldi的文件
2.安裝編譯所需要的依賴包
編譯之前需要確操作系統中安裝有如下包
subversion
automake
autoconf
libtool
g++
zlib
libatal
wget
sox
首先進入到kaldi/tools目錄下,接着在調用check_dependencies.sh腳本檢查系統中的包是否安裝完全
cd kaldi/tools
extras/check_dependencies.sh
如圖所示,這個shell腳本會提示系統需要安裝的包,按照提示安裝即可。
安裝完成後再次運行這個腳本,如果提示OK就可以開始進行kaldi的編譯。
3.編譯kaldi
首先編譯tools,在在kaldi/tools目錄下輸入
make
我使用的服務器是i7有8個核心,因此輸入make -j 8
可以使用8個核心一起編譯,加快編譯速度。
之後轉到kaldi/src目錄下,輸入如下命令
cd ../src
在src目錄下首先要運行configure進行配置,由於每個人的cuda版本、安裝路徑不一定相同,所以這裏需要根據自己的服務器情況進行修改,如下是我的configure配置方案,僅供參考。
./configure --static \
--use-cuda=yes \
--cudatk-dir=/home/zy/cuda/cuda-8.0 \
--mathlib=OPENBLAS \
--openblas-root=../tools/OpenBLAS/install \
--threaded-math=no \
--static-math=yes \
--static-fst=yes \
--fst-root=../tools/openfst
配置完成後,就可以進行src的編譯了
make depend
make
同樣,如果是多核CPU的話,你可以使用make depend -j 8
和make -j 8
加快編譯速度
完成後會有提示成功和失敗,結束make後就算完成了kaldi的編譯與安裝了~
用kaldi進行中文語音識別
完成kaldi的安裝後,就可以用kaldi做語音識別了~,下面分別是我用kaldi做的兩種不同中文語音識別的博客連接。
參考資料:
{
Author: "byr-zyziszy",
Mail: "[email protected]",
Github: "https://github.com/zyzisyz",
Date: "2018-10-2"
}