我正在尝试使基于单声道的识别器适合特定的说话者。我正在使用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/

10-12 22:00