2015-05-25 5 views
1

Недавно я написал проект обнаружения звука с использованием HTK (набора инструментов HMM). После тестирования я получаю следующий результат файл:HTK - несоответствие метки времени в файле MLF

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

В официальном документе, он говорит, что метка времени имеет единицу 100ns, поэтому этот результат, он говорит, что из-0s 4.7s, есть звук «клавиатура». Но странно то, что тестирование звуковой файл имеет только 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 

Может быть, это относится к моей проблеме?

Кто-нибудь знает, почему штамп времени настолько велик? Спасибо в любом случае!

ответ

0

Ах, я понял, почему существует такая разница во времени. Временная метка в результатах HTK - это «общее время кадра», даже если накладывается перекрытие. Скажем, в моем примере размер окна составляет 25 мс, шаг окна - 10 мс и всего 188 кадров.

Для HTK, 188 * 0.025 = 4.7 (s). Но в этот раз результат не учитывается.

Рассмотрим перекрытие, то есть 0.025 + 187 * 0.01 = 1.895, и это время звука.

Какая странная установка в HTK, ха-ха.