HTK - MLF 文件中的时间戳不匹配

HTK - mismatch of time stamp in MLF file

我最近正在使用 HTK(HMM 工具包)编写一个声音检测项目。测试后我得到以下结果文件:

#!MLF!#
"../data/test/keyboard_04.rec"
0 47000000 keyboard -83909.929688
.

官方文档中说时间戳的单位是100ns,所以按这个结果,是说从0s-4.7s,有"keyboard"的声音。但奇怪的是,测试声音文件只有1.9s,这里是详细信息:

>>  audioinfo('keyboard_04.wav')
ans = 
         Filename: [1x50 char]
CompressionMethod: 'Uncompressed'
      NumChannels: 2
       SampleRate: 44100
     TotalSamples: 83712
         Duration: 1.8982
            Title: []
          Comment: []
           Artist: []
    BitsPerSample: 24

另外,我在运行 HVite的时候,有一个警告:

WARNING [-7032]  OWarn: change HMM Set vecSize

也许这与我的问题有关?

有人知道为什么时间戳那么大吗? 无论如何谢谢!

啊,我明白为什么会有这么大的时差了。 HTK结果中的时间戳是"total frame time",即使有重叠。 比如说,在我的示例中,window 大小为 25 毫秒,window 步长为 10 毫秒,总共 188 帧。

对于 HTK,188*0.025=4.7(s)。但是这次结果没有考虑重叠。

考虑重叠,即0.025+187*0.01=1.895,这是音频时间。

HTK的设定好奇怪,哈哈