# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.