HTK - Что представляют собой MFCC модели HMM и входного файла WAV?

При создании MFCC в соответствии с руководством Voxforge для системы "Речь в текст" с использованием HTK (Hidden Markov Model Tool Kit) нам необходимо определить модель-прототип для наших телефонов. Я пытаюсь обернуть голову вокруг этого файла.

~o <VecSize> 25 <MFCC_0_D_N_Z>
~h "proto"
<BeginHMM>
  <NumStates> 5
  <State> 2
    <Mean> 25
      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0  
    <Variance> 25
      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 
 <State> 3
    <Mean> 25
      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0  
    <Variance> 25
      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
 <State> 4
    <Mean> 25
      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
    <Variance> 25
      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
 <TransP> 5
  0.0 1.0 0.0 0.0 0.0
  0.0 0.6 0.4 0.0 0.0
  0.0 0.0 0.6 0.4 0.0
  0.0 0.0 0.0 0.7 0.3
  0.0 0.0 0.0 0.0 0.0
<EndHMM>

В этом случае мы используем вектор признаков длины 25 для представления каждого состояния HMM. Однако я не совсем понимаю, почему у нас есть 25 "Средств" и "Вариаций" для каждого штата. Представляют ли они среднее значение и дисперсию каждого векторного признака?

Кроме того, почему у нас есть 3 состояния, когда 5? Являются <State>1 а также <State>5 просто точки входа и выхода, чтобы они не требовали Mean а также Variance?

Кроме того, принимая образцы wav-файлов, я распечатал MFCC, которые отображаются следующим образом:

  0:     -15.769  -2.168   8.605   4.979   5.283   1.012   9.631  -0.619   3.622  10.977
             5.733   3.260  44.447  -0.153  -0.281  -0.810  -1.176   0.363  -0.658   0.676
            -1.569   1.363  -1.221   0.815  -0.759   1.427
    1:     -18.345  -3.220   7.177   0.293   7.232   3.111  17.942  -6.957   8.197   6.579
             9.102  -0.569  49.537   0.378  -0.337  -1.277  -1.709   0.623  -0.450   0.162
             0.315   2.088  -1.175   0.624   0.762   1.018
    2:     -15.244  -3.046   5.269   1.441   6.121  -3.326   8.854  -5.297   8.151   7.072
             8.122   1.379  49.036   0.543  -0.119  -1.162  -1.263   1.261  -0.388  -0.234
             0.816   1.195  -1.237  -0.288   1.600   0.244
    3:     -14.143  -3.413   3.887  -1.796   7.981   0.930  10.826   3.294  11.797   7.055
             7.661   8.011  47.243   0.613  -0.020  -0.568  -0.364   1.034  -0.165  -0.812
             2.525   0.351  -1.670  -1.086   1.493  -0.716
    4:     -15.156  -2.669   4.440  -0.293  11.213   0.162  12.020  -1.667   7.794   4.553
             5.013   6.968  46.813  -0.050  -0.092  -0.050  -0.329   0.325   0.585   0.751
             1.253  -0.008  -1.852  -0.845   0.058  -0.430
    5:     -15.323  -3.510   4.750  -0.660   9.856   0.545  12.301   3.855  10.132  -0.511
             5.224   4.104  47.068   0.073   0.151   0.163  -0.180  -0.186  -0.242  -0.335
            -0.577  -0.479  -0.745  -0.167  -1.565   0.013

Для каждого "окна", почему у нас 26 коэффициентов вместо 25? Что они все представляют? Я верю:

  • 1-12 Кепстральные коэффициенты
  • 14-25 Коэффициенты дельты
  • 26 также Delta Coeffieienct для 13-го числа

Но я понятия не имею, что представляет собой 13-е число в каждом из этих образцов. Они должны быть в формате <MFCC_0_D_N_Z> как определено в файле прототипа, отображаемом в начале, что не очень хорошо объяснено в Руководстве по HTK. Но я могу извлечь из стр. 80 Руководства, что:

  • MFCC_0: Коэффициенты MFCC
  • _D: Дельта-коэффициенты
  • _N: абсолютная энергия подавлена
  • _Z: имеет нулевую среднюю статическую коэф.

Любые объяснения будут оценены.

1 ответ

Решение

Кроме того, почему у нас есть 3 состояния, когда 5? Являются ли 1 и 5 просто точками входа и выхода, поэтому им не требуется среднее значение и дисперсия?

Да, граничные состояния являются фиктивными.

Для каждого "окна", почему у нас 26 коэффициентов вместо 25? Что они все представляют? Я верю:

Тип MFCC MFCC_0_D как в шаге 5 урока, это 13 белых грибов и 13 дельт. Вы также можете использовать HList -o -h распечатать точный макет:

---------------------------------- Source: ar-03.mfc -----------------------------------
  Sample Bytes:  52       Sample Kind:   MFCC_D_C_K_0
  Num Comps:     26       Sample Period: 10000.0 us
  Num Samples:   648      File Format:   HTK
-------------------------------- Observation Structure ---------------------------------
x:      MFCC-1  MFCC-2  MFCC-3  MFCC-4  MFCC-5  MFCC-6  MFCC-7  MFCC-8  MFCC-9 MFCC-10
       MFCC-11 MFCC-12      C0   Del-1   Del-2   Del-3   Del-4   Del-5   Del-6   Del-7
         Del-8   Del-9  Del-10  Del-11  Del-12   DelC0

Тип функций, хранящихся в файле mfc, может отличаться от типа функций, используемых в обучении HMM, функции HMM вычисляются из mfc на лету в соответствии с прототипом, поэтому на диске у вас есть 26 MFCC_0_D и когда вы вычисляете, вы конвертируете его в 25 коэффициентов MFCC_0_D_N_Z отбрасывая энергию и нормализуя среднее.

Я не совсем понимаю, почему у нас есть 25 "Средств" и "Вариаций" для каждого штата. Представляют ли они среднее значение и дисперсию каждого векторного признака?

Средние значения и дисперсии являются гауссовыми параметрами распределения излучения НММ для каждого состояния НММ, они не являются средними значениями вектора признаков. Проверьте, что такое HMM.

Другие вопросы по тегам