我正在尝试使基于单声道的识别器适合特定的说话者。我正在使用HTKBook 3.4.1 section 3.6.2
中给出的配方。我陷入了像sp那样调用的HHEd
部分: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个混合成分)。我尝试通过给混合分量提供均值和方差随机值但权重为零的方法来“填补空白”。这也没有任何作用。
hmm是具有5个状态(发射3个状态)的左右hmm,每个状态由25种成分的混合物建模。每个组件依次由具有EDA组件的MFCC建模。总共有46部电话。
我的问题是:
1.我调用HHEd
的方式是否正确?可以单声道以上述方式调用它吗?
2.我知道基类列表(rtree.base
必须包含每个混合成分,但是在哪里可以找到这些缺少的混合成分?
注意:如果需要更多信息,请告知我。
编辑1:文件regtree.hed包含以下内容:
RN "models"
LS "stats_engOnly_3_4"
RC 32 "rtree"
谢谢,
斯里拉姆
最佳答案
他们调用HHEd的方式看起来不错。组件已失效,因此缺少它们。要处理失效的组件,请阅读HTKBook-3.4.1第137页的8.4节。
问题:
-regtree.hed包含什么?
-您正在使用多少数据(以小时为单位)? 25种混合物可能过多。
您可能希望逐渐增加混合比例-MU +1或MU +2,并限制混合比例(猜测:3-8,具体取决于训练数据量)。
关于machine-learning - 使用HTK进行说话人适应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6396772/