# Kaldi 視覺化tree檔案 大致流程 --- ``` draw-tree data/local/phones/phones4Dot.txt exp/mono/tree | dot -Gsize=9,15\! -Gdpi=10000 -Tpng > exp/mono/tree.png ``` 經過嘗試Gdpi要設到一萬才看得清楚圖片。 上面那行指令解釋是: draw-tree : kaldi 內建可以從tree輸出dot檔案的程式 dot: 是Graphviz工具可以從dot檔案輸出圖片的工具, Gsize 代表的是圖片的長寬比; Gdpi代表的是像素,越大越清楚 (經過測試formosa的tree至少要一萬才清楚)。 Argument: -Tpng 指得是輸出png格式, 在draw-tree的文件教學裡面採用Tps,但我試不出來 example:  上圖是一個monophone模型, 最上面那個圈(root)代表說question問的是哪一個phone,都過走過枝葉就代表上面的question的答案(比如說Phone=O:2),我們順著O:2走下去會碰到下個問題: PdfClass=?, 這邊PdfClass的意思是Hmm的state,在預設的Hmm topology每個phone的Hmm state為三個,所以每個PdfClass都會有三個枝葉。最後到達的terminate的nodel就是每個Hmm state 的pdf的編號。 在Kaldi中,acoustic model預測的目標就是這些pdf,所以訓練一個ASR需要的資料量就是要讓這些pdf有充分的statistics tri1 以後 --- 到了triphone的境界後圖會太大,就需要先轉換成SVG檔案後,再用firefox開啟 ``` 轉換成svg draw-tree data/local/phones/phones4Dot.txt exp/tri1/tree | dot -T svg > exp/tri1/tree.svg ``` example:  Triphone 就複雜得多, 這邊kaldi用clustering的方法透過acoustic similarity(feature之間的相似度)的方式聚類一些phoneme。每一個question都代表一個被聚類後的phoneme set,並不代表任何意義,而只是acoustic similar而已。查看模型訓練出的cluster的方法如下: ``` utils/int2sym.pl $lang/phones.txt < $dir/questions.int > $dir/questions_syms.txt ``` phones4Dot.txt --- 這邊我先將data/local/phones/phones.txt裡面的phoneme全都多加一個雙引號,由於dot在吃一些字串(ex: ":")的時候會有error,因此得先把formosa的phoneme先全都用引號註釋它為一個word (ex: "A:1"),更改phones.txt的指令為: ``` cp data/local/phones/phones.txt data/local/phones/phones4Dot.txt ;sed -i "s/:/_/g" data/local/phones/phones4Dot.txt ``` ###### tags: `Kaldi`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up