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.