Есть ли способ получить вероятность монофона, используя HTK? - PullRequest
0 голосов
/ 16 января 2019

В идеале я ищу способ получить вектор вероятности того, что определенный сегмент аудиофайла - это определенный телефон. Что-то вроде:

ввод:

  • wavfile
  • начальная позиция (например, при 1,4 с)
  • длительность (например, 500 мс)

выход:

  • SIL 2.324 * 10 ^ -3
  • AA 1,514 * 10 ^ -4
  • AE 1.482 * 10 ^ -2
  • ...
  • Ж 5,03 * 10 ^ -5

1 Ответ

0 голосов
/ 16 января 2019

Вы можете получить результаты, набрав HVite в режиме принудительного выравнивания. Боюсь, вы должны запустить это для каждой имеющейся у вас фонемы:

HVite -A -D -T 1 -l '*' -o NTW -C HTK.cfg -a \
    -H macros \
    -H hmmdefs \
    -i acoustic_score_AA.mlf \
    -y lab \
    -I AA.mlf \
    -S index.scp \
    words phones

Выходной файл acoustic_score_AA.mlf будет содержать результат. I

Содержание words файла словаря должно быть таким:

AA AA
AE AE
....
ZH ZH

и phones должен содержать список фонем (модели HMM), насколько я помню.

Хитрость в этом заключается в содержимом входного файла .mlf. Например, AA.mlf должно быть таким:

#!MLF!#
"*/S0001.lab"
AA
.

Это заставит HVite применить модель AA для всего высказывания. Разделение аудиофайла должно быть выполнено заранее.

...