1

在使用HTK(隐马尔可夫模型工具包)为Speech to Text System创建Voxforge's tutorial之后创建MFCC时,我们需要为我们的手机定义原型模型。我正试图把这个文件包裹起来。HTK - HMM模型和输入WAV文件的MFCC代表什么?

~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个“手段”和“差异”。它们代表每个特征向量的均值和方差吗?

此外,为什么我们有5个州时是3个州? <State>1<State>5是简单的入口和出口点,所以它们不需要MeanVariance

此外,同时采取样本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个coeffieincts而不是25?他们都代表什么?我相信:

  • 1-12是倒频Coeffiecients
  • 14-25是三角洲系数
  • 26也是三角洲Coeffieienct第13届数

但我不知道在每个什么第13号这些样本代表。它们的格式应该是<MFCC_0_D_N_Z>,如开头显示的原型文件中所定义的那样,而不是HTK Manual中有很好的解释。

  • MFCC_0:MFCC系数
  • _D:三角洲系数
  • _N:绝对能量压抑
  • _Z:但我可以从页80的手册,手册的争取有零均值静态Coef中。

任何解释将不胜感激。

回答

2

此外,为什么我们有5个状态是5? 1和5是简单的入口和出口点,所以它们不需要均值和方差?

是的,边界状态是假的。

对于每个“窗口”,为什么我们有26个coeffieincts而不是25?他们都代表什么?我相信:

MFCC类型是MFCC_0_DTutorial step 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计算上根据飞proto规格,所以在你有的磁盘上,当你计算时,你可以通过降低能量和规格化平均值,将它转换成25个系数MFCC_0_D_N_Z

我不太明白为什么我们每个州有25个“手段”和“差异”。它们代表每个特征向量的均值和方差吗?

均值和方差是每个HMM状态的HMM发射分布的高斯参数,它们不是特征向量的均值。检查HMM是什么。

+0

哦好吧。在26个系数中,第13个是“C0”。 'C0'代表什么?为什么这个数字远高于MFCC? –

+0

c0是零倒谱系数。预计会更高,倒频谱通常会下降 –