0

我正嘗試將基於單音素的識別器改編爲特定發言者。我正在使用HTKBook 3.4.1 section 3.6.2中給出的配方。我被陷在HHEd一部分,我調用像SP:使用HTK修改揚聲器

HHEd -A -D -T 1 -H hmm15/hmmdefs -H hmm15/macros -M classes regtree.hed monophones1eng

我最終的錯誤如下:
ERROR [+999] Components missing from Base Class list (2413 3375)
ERROR [+999] BaseClass check failed

文件夾classes包含有文件global以下內容:
~b ‘‘global’’
<MMFIDMASK> *
<PARAMETERS> MIXBASE
<NUMCLASSES> 1
<CLASS> 1 {*.state[2-4].mix[1-25]}

hmmdefs文件在hmm15有一些混合成分(我每個手機每個狀態使用25種混合成分)缺失。我試圖通過給出具有隨機均值和方差值但零權重的混合分量來「填補空白」。這也沒有效果。

hmms是具有5個狀態(3個發光)的左右hmms,每個狀態由25個組分混合物建模。每個組件依次由帶有EDA組件的MFCC建模。總共有46部手機。

我的問題是:
1.我正在調用HHEd的方式是否正確?可以以上述方式調用單聲道嗎?
2.我知道基類列表(rtree.base必須包含每一個混合成分,但我在哪裏尋找這些失蹤的混合物組分

注:請讓我知道的情況下,需要更多的信息

編輯1:文件regtree.hed包含以下內容:

RN "models" 
LS "stats_engOnly_3_4" 
RC 32 "rtree" 

感謝,
斯利拉姆

回答

1

他們的方式你調用HHEd看起來很好。組件丟失,因爲它們已經失效。處理不存在的組件請閱讀HTKBook-3.4.1第8.4節第137頁。

問題: - regtree.hed包含什麼? - 您使用多少數據(小時)? 25種混合物可能過量。

您可能想要使用更加漸進的混合物增加 - MU +1或MU +2並限制混合物的數量(猜測:3-8取決於訓練數據量)。

+0

感謝您的回覆。我已經在問題中添加了regtree.hed(請參閱上面的編輯1)。另外,hmms已經被訓練的數據是相當可觀的。我使用了整個WSJ英國英語數據庫(20k句子),約300個美國英語句子和500-600個印度英語句子(上述所有內容都指的是發出不同發音的口音)進行訓練。我一直在從WSJ數據庫開始訓練HMM。我得到的HMM已經有25種混合物。有什麼方法可以減少它們嗎? – Sriram