1

我正在使用该HTK工具包进行单词识别任务,并且有经典的训练和测试数据不匹配。训练数据仅包含“干净”(通过麦克风记录)数据。数据被转换为MFCC_E_D_A参数,然后由 HMM(电话级别)建模。我的测试数据已通过固定电话和手机渠道记录(引起失真等)。将MFCC_E_D_A参数与HVite结果一起使用会导致输出不正确。我想使用cepstral mean normalizationwithMFCC_E_D_A_Z参数,但它没有多大用处,因为 HMM 不是用这些数据建模的。我的问题如下:

  1. 有什么办法可以转换 MFCC_E_D_A_ZMFCC_E_D_A? 这样我就按照这种方式:input -> MFCC_E_D_A_Z -> MFCC_E_D_A -> HMM log likelihood computation
  2. 有什么方法可以将现有的 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

这不起作用。我该如何改进呢?

4

1 回答 1

2

您需要了解电话录音具有另一个频率范围,因为它们在频道中被剪辑。通常存在从 200 到 3500 Hz 的频率范围。宽带声学模型在 100 到 6800 的范围内进行训练。它不能可靠地解码电话语音,因为电话语音错过了 3500 到 6800 所需的频率。它与特征类型或均值归一化或失真无关,你做不到那

您需要在转换为 8khz 的音频上训练您的原始模型,或者至少修改滤波器组参数以匹配电话频率范围。

于 2011-07-29T23:54:05.357 回答