kaldi學習資料

2021-08-18 22:14:51 字數 1937 閱讀 5095

dan povey 主頁,有kaldi的詳細入門文件,以及相關的**

kaldi官網

kaldi—github

系統搭建過程及生成檔案解釋:

單音素訓練:

三音素訓練:

決策樹狀態繫結:

一些檢視輸出檔案命令(配置好path後,在s5demo下執行):

檢視mfcc特徵引數,對應文字id

copy-feats ark:mfcc/raw_mfcc_train.1.ark ark,t:- | head
檢視cmvn,對應說話人id

copy-matrix ark:exp/mono/cmvn.ark ark,t:-
檢視決策樹:

copy-tree --binary=false exp/mono/tree - | less
畫出決策樹:

draw-tree data/lang/phones.txt exp/mono/tree | dot -tps -gsize=8,10.5 | ps2pdf - ~/tree.pdf
檢視訓練圖:

fstcopy 'ark:gunzip -c exp/mono/graphs.fsts.gz|' ark,t:-
構造訓練的fst網路,從原始碼級別分析,是每個句子構造乙個phone level 的fst網路。這裡採用預編譯的原因是,可以儘量減少占用訓練時間。$data/text 中包含對每個句子的單詞級別(words level)或音素級別(phone level)的標註,l.fst是詞典的fst表示,作用是將一串的音素轉換成單詞。構造monophone解碼圖就是先將text中的每個句子,生成乙個fst(類似於語言模型中的g.fst,只是相對比較簡單,只有乙個句子),然後和l.fst進行composition 形成訓練用的音素級別(phone level)fst網路(類似於lg.fst)。fsts.job.gz 中使用key-value 的方式儲存每個句子和其對應的fst網路,通過 key(句子索引)就能找到這個句子的fst網路,value中儲存的是句子中每兩個音素之間互聯的邊(arc),例如句子轉換成音素後,標註為:「a b c d e f」,那麼value中儲存的其實是 a->b b->c c->d d->e e->f這些連線(kaldi會為每種連線賦予乙個唯一的id),後面進行 hmm訓練的時候是根據這些連線的id進行計數,進一步得到音素內(intra)狀態的轉移概率和音素間(inter)狀態的轉移概率。

檢視音素與狀態的對齊:

show-alignments data/lang/phones.txt exp/mono/40.mdl ark:exp/mono/ali.1 | more   (ali.1.gz 解壓後城ali.1)
檢視訓練中的文字與轉移狀態的對齊,注意,顯示的是每個文字和與之對齊的狀態轉移id

copy-int-vector "ark:gunzip -c exp/mono/ali.1.gz|" ark,t:- | head -n 2
狀態轉移id可如下檢視:

show-transitions data/lang/phones.txt exp/mono/0.mdl
pdf個數查詢:

gmm-info --print-args=false exp/mono/0.mdl | grep "gaussians" | awk ''
模型引數檢視,分為轉移模型和發射模型引數:

gmm-copy --binary=false exp/mono/30.mdl -

Kaldi學習手記(一) Kaldi的編譯安裝

安裝git 其中,tools src egs這三個目錄是比較重要的。tools目錄下面全部都是kaldi依賴的包。其中主要有 openfst weighted finite state transducer library,是乙個用來構造有限狀態自動機的庫。我們知道隱馬爾科夫模型就可以看成是乙個有限...

Kaldi單音素GMM學習筆記

目錄 類 學習資料 統計學習方法 李航 語音識別實踐 俞棟,鄧力 speech and language processing daniel jurafsky,james h.martin.ediburg course.個人理解 論講解的清晰度 條理性,李航的書更好一些。俞棟的書則更貼近語音,並且該...

kaldi原始碼分析 零 kaldi的安裝

安裝依賴 sudo apt get update sudo apt get install git sudo apt get install g zlib1g dev automake autoconf libtool subversion sudo apt get install libatlas...