我正在使用该HTK
工具包进行单词识别任务,并且有经典的训练和测试数据不匹配。训练数据仅包含“干净”(通过麦克风记录)数据。数据被转换为MFCC_E_D_A
参数,然后由 HMM(电话级别)建模。我的测试数据已通过固定电话和手机渠道记录(引起失真等)。将MFCC_E_D_A
参数与HVite
结果一起使用会导致输出不正确。我想使用cepstral mean normalization
withMFCC_E_D_A_Z
参数,但它没有多大用处,因为 HMM 不是用这些数据建模的。我的问题如下:
- 有什么办法可以转换
MFCC_E_D_A_Z
成MFCC_E_D_A
? 这样我就按照这种方式:input -> MFCC_E_D_A_Z -> MFCC_E_D_A -> HMM log likelihood computation
。 - 有什么方法可以将现有的 HMM 模型
MFCC_E_D_A
参数转换为MFCC_E_D_A_Z
?
如果有办法从上面做(1),配置文件HCopy
会是什么样子?我编写了以下HCopy
配置文件进行转换:
SOURCEFORMAT = MFCC_E_D_A_Z
TARGETKIND = MFCC_E_D_A
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
ENORMALISE = T
这不起作用。我该如何改进呢?