1

Beim Erstellen von MFCCs nach Voxforge's tutorial für ein Sprache-zu-Text-System mit HTK (Hidden Markov Model Tool Kit) müssen wir ein Prototypmodell für unsere Telefone definieren. Ich versuche meinen Kopf um diese Datei zu wickeln.HTK - Was bedeuten MFCCs eines HMM-Modells und einer Eingabe-WAV-Datei?

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

In diesem Fall verwenden wir einen Merkmalsvektor der Länge 25, um jeden Zustand des HMM darzustellen. Ich verstehe jedoch nicht ganz, warum wir 25 "Mittel" und "Abweichungen" für jeden Staat haben. Stellen sie den Mittelwert und die Varianz jedes Feature Vectors dar?

Darüber hinaus, warum haben wir 3 Staaten, wenn 5 ist? Sind <State>1 und <State>5 einfache Ein- und Ausspeisepunkte, so dass sie keine Mean und Variance benötigen?

Auch während der Einnahme von Probe WAV-Dateien, die ich MFCCs gedruckt, wie unten angezeigt:

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 

Für jedes „Fenster“, warum haben wir 26 coeffieincts statt 25? Was repräsentieren sie alle? Ich glaube:

  • 1-12 sind Cepstral Coeffiecients
  • 14-25 sind Delta Koeffizienten
  • 26 ist auch ein Delta Coeffieienct für die 13. Nummer

Aber ich habe keine Ahnung, was 13. Zahl in jedem diese Proben repräsentieren. Sie sollten das Format <MFCC_0_D_N_Z> wie in der Prototyp-Datei angezeigt am Anfang, die nicht gut in der HTK Manual erklärt definiert werden. Aber ich kann 80 von Seite Garner des Handbuchs, dass:

  • MFCC_0: MFCC-Koeffizienten
  • _D: Delta Koeffizienten
  • _N: absolute Energieunterdrückte
  • _Z: hat einen Mittelwert von Null Static Koef.

Alle Erklärungen würden geschätzt werden.

Antwort

2

Außerdem, warum haben wir 3 Zustände, wenn 5 ist? Sind 1 und 5 einfache Ein- und Ausstiegspunkte, so dass sie keinen Mittelwert und keine Abweichung benötigen?

Ja, Grenzzustände sind dummy.

Für jedes "Fenster", warum haben wir 26 Coeffieincts anstelle von 25? Was repräsentieren sie alle? Ich glaube:

MFCC Typ MFCC_0_D wie in Tutorial step 5 ist, also sind 13 Ceps und 13 Deltas.Sie können auch HList -o -h verwenden, um das genaue Layout zu drucken:

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

Die Art der Funktionen in mfc-Datei gespeichert möglicherweise aus der Art des Merkmals in HMM-Training, die HMM Merkmale berechnet on the fly von mfc nach verwendet unterscheiden die Proto-Spezifikation, so auf der Festplatte haben Sie 26 MFCC_0_D und wenn Sie berechnen, konvertieren Sie es in 25 Koeffizienten MFCC_0_D_N_Z durch die Energie und Normalisierung der Mittelwert.

Ich verstehe nicht ganz, warum wir 25 "Means" und "Varianzen" für jeden Staat haben. Stellen sie den Mittelwert und die Varianz jedes Feature Vectors dar?

Mittelwerte und Varianzen sind Gaußschen Parameter des HMM für jeden HMM-Zustand Emissionsverteilung, sie sind nicht das Mittel der Merkmalsvektor. Überprüfen Sie, was HMM ist.

+0

Oh Okay. In den 26 Koeffizienten ist der 13. "C0". Was steht 'C0'? Und warum ist diese Zahl viel höher als die MFCCs? –

+0

c0 ist ein Null-Cepstrum-Koeffizient. Es wird erwartet, dass es höher ist, Cepstrum ist in der Regel abnehmend –

Verwandte Themen