HTK - несоответствие отметки времени в файле MLF

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

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

В официальном документе говорится, что отметка времени имеет единицу измерения 100 нс, поэтому, судя по этому результату, в диапазоне от 0 до 4,7 с слышен звук «клавиатуры». Но странно то, что тестовый звуковой файл имеет только 1,9 с, вот подробная информация:

>>  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

Может это связано с моей проблемой?

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


person Eric Xu    schedule 25.05.2015    source источник


Ответы (1)


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

Для HTK 188 * 0,025 = 4,7 (с). Но на этот раз результат не учитывает перекрытие.

Рассмотрим перекрытие, то есть 0,025 + 187 * 0,01 = 1,895, и это время звука.

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

person Eric Xu    schedule 25.05.2015