kaldi中文語音識別(1)

這3篇博客,詳細總結和記錄了我編譯安裝kaldi和兩種用kaldi進行中文語音識別的過程,包括如何kaldi的簡單介紹、環境的配置、相關模型的訓練、導入,算是自己近期學習的一個總結,也希望可以幫助到需要的人~~~

本篇博客主要記錄了我編譯安裝kaldi的過程

另外兩篇博客的連接

  1. kaldi中文語音識別(2)——用thch30數據集做中文語音識別
  2. kaldi中文語音識別(3)——用cvte模型做中文語音識別

kaldi是什麼

kaldi是一個用C++寫的語音識別工具包。kaldi旨在供語音識別研究員使用。當然,kaldi也可以用作聲紋識別。關於他的詳細介紹可以訪問kaldi的官方文檔

kaldi與中文語音識別

感謝很多大神與科研工作者在kaldi上開源了他們的數據集和訓練模型,讓我這樣的小白可以站在巨人的肩膀上前行。目前我所瞭解到有3個開源的中文語音識別例子。

  1. 清華大學開源的thchs30數據集(瘋狂爲CSLT打電話~~~)
  2. CVTE公司開源的CVTE Mandarin Model模型
  3. Beijing Shell Shell Technology公司開源的aishell數據集

如果有同學知道其他的數據集or模型,中英文皆可,歡迎聯繫我補充啊~

編譯與安裝kaldi

注意:爲了提高訓練的速度,kaldi最好安裝在GPU雲服務器下。如果沒有服務器話,使用虛擬機應該也是可以的,但一定要分配足夠的內存空間和存儲空間。下面我就以我使用的centos服務器爲例,介紹kaldi的編譯與安裝。

編譯與安裝大概分爲3步

  1. 安裝git、下載kaldi的源碼
  2. 安裝編譯所需依賴包
  3. 配置、編譯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腳本會提示系統需要安裝的包,按照提示安裝即可。

img

安裝完成後再次運行這個腳本,如果提示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 8make -j 8加快編譯速度

完成後會有提示成功和失敗,結束make後就算完成了kaldi的編譯與安裝了~

用kaldi進行中文語音識別

完成kaldi的安裝後,就可以用kaldi做語音識別了~,下面分別是我用kaldi做的兩種不同中文語音識別的博客連接。

  1. demo(1)——用thch30做中文語音識別
  2. demo(2)——用cvte做中文語音識別

參考資料:

  1. CSDN博客:Kaldi的下載安裝與編譯
  2. kaldi-ctc的安裝、編譯、測試
{
	Author: "byr-zyziszy",
	Mail: "[email protected]",
	Github: "https://github.com/zyzisyz",
	Date: "2018-10-2"
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章