kaldi中文語音識別

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


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

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

編譯與安裝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-ctc的安裝、編譯、測試
{
    Author: "byr-zyziszy",
    Mail: "[email protected]",
    Github: "https://github.com/jbase",
    Date: "2020-6-12"
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章