本章節對應 Chapter 3 - Data Preparation 的第五小節 Step 5 - Coding the Data ,其工作區一樣在 測試語料資料夾的 /etc 目錄。
建立參數描述檔案
首先,在 /etc 目錄下要建立一個名為 config (無副檔名) 的檔案,並且輸入以下參數:
# Coding parameters TARGETKIND = MFCC_0 #建議參照這個格式, 0 代表尚未進行微分運算,所以是第 0 次 TARGETRATE = 100000.0 SAVECOMPRESSED = T SAVEWITHCRC = T WINDOWSIZE = 250000.0 USEHAMMING = T PREEMCOEF = 0.97 NUMCHANS = 26 CEPLIFTER = 22 NUMCEPS = 12 ENORMALISE = F SOURCEFORMAT = WAV #請注意,這個部分是給用 wav 檔案來訓練的使用者,若不加所導致的錯誤,請參考本文章 Reference 小節。
請記得在檔案最後做斷行,避免執行時出錯;如果有加最後一段的 SOURCEFORMAT 描述,請記得在輸入指令執行後後,移除掉。
MFCC (梅爾頻譜參數),通常會做 2 次差分運算,也就是做到二階微分,一次的 MFCC 參數就會有 13 個參數,所以進行到二階微分後,總共會有 39 個 MFCC 特徵參數。
建立 WAV 位置對應的檔案
在 /etc 目錄下建立一個 codetr.scp 檔案,該檔案描述目前檔案的 wav 位置,以及被執行後要儲存成 mfc 的檔案位置,撰寫格式如下:
C:\Users\xxxxxx\wav\a0319.wav C:\xxxxxx\mfcc\a0319.mfc
請記得建立一個 mfcc 這個資料夾,在對應的位置上,本章節是建立在 /etc 目錄的上一層目錄;且 wav 檔案名稱建議與對應的 mfc 檔案一樣。
HCopy 指令
建立以下必要檔案後,就可以執行 HCopy 指令:- config (設定描述檔)
- codetr.scp (檔案結構定義檔案)
確認後,使用以下指令對語音檔案建立 MFCC 參數檔案:
HCopy -T 1 -C config -S codetr.scp
指令使用後,離開 /etc 目錄,到 /mfcc 目錄就會看到產生出來的對應 mfc 參數檔案。
如果沒有成功,請確定是否是因為使用 wav 檔案輸入,且 config 檔案最尾端沒有加上 SOURCEFORMAT = WAV 導致。
Reference:
https://stackoverflow.com/questions/32723945/htk-hcompv-input-file-is-not-in-riff-format
http://www.voxforge.org/home/dev/acousticmodels/linux/create/htkjulius/how-to/script/comments/step-5-error6311-error1014
http://www.voxforge.org/home/forums/message-boards/speech-recognition-engines/converting-.wav-to-.mfc-using-hcopy-in-htk
https://zhidao.baidu.com/question/200494831.html
沒有留言:
張貼留言