音声認識メモ(HMM)その1(HTK HCopyコマンド(1))
Juliusに渡す音響モデルを"HTK"(Hidden Markov Model Toolkit)で作成する。
音声データは、"もしもし"という発声をWAVEファイルに保存したものを用意した。
- サンプリングレートは [16000 Hz]
- チャンネル数は [1] (モノラル)
- 量子化深度 (サンプリングデータを何ビットで表現するか) は [16 bit]
値部分のバイトオーダはlittle-endianであることに留意。
①サンプリングレート:0x00003e80 (10進数16000)
②1サンプルあたりのバイト数:0x0002 (10進数2)
③量子化深度:0x0010 (10進数16)
④音声データ (dataチャンク) のバイト数:0x0000fa00 (64000)
⑤音声データ1秒あたりのバイト数:0x00007d00 (32000)
時間にして2秒 (=④ / ⑤)
この音声データのMFCC (Mel-Frequency Cepstrum Coefficients:音声認識でよく使われる特徴量)をHTKで計算する。
HCopyコマンドに渡すconfigのパラメータは以下とする。
SOURCEFORMAT = WAV SOURCEKIND = WAVEFORM SOURCERATE = 625 TARGETKIND = MFCC_0_D_A TARGETRATE = 100000.0 WINDOWSIZE = 250000.0 USEHAMMING = T PREEMCOEF = 0.97 NUMCHANS = 24 NUMCEPS = 12
SOURCERATE、TARGETRATE、WINDOWSIZEの単位は100ナノ秒
- 1サンプルあたりの時間は0.0625ミリ秒(=62.5マイクロ秒=62,500ナノ秒)
- 1フレーム(MFCC計算の単位)は25ミリ秒 (25,000マイクロ秒=25,000,000ナノ秒)
- 次のフレームは10ミリ秒 (=10,000マイクロ秒=10,000,000ナノ秒)ずらす
- 1フレームありのサンプル数:400(= WINDOWSIZE / SOURCERATE)
2000ミリ秒(=2秒)の音声データに対して198フレーム分の計算結果が得られる。
-------------------------------- Source: mfcc/mosi1.mfc ------------------------------ Sample Bytes: 156 Sample Kind: MFCC_D_A_K_0 Num Comps: 39 Sample Period: 10000.0 us Num Samples: 198 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 Acc-1 Acc-2 Acc-3 Acc-4 Acc-5 Acc-6 Acc-7 Acc-8 Acc-9 Acc-10 Acc-11 Acc-12 AccC0 ------------------------------------ Samples: 0->-1 ---------------------------------- 0: -0.270 -2.482 -0.222 -3.174 -4.148 6.755 3.201 -6.396 -0.943 -14.934 -2.665 -5.884 51.062 -2.713 -2.858 0.172 0.460 -1.084 0.382 -0.724 1.282 4.140 3.877 0.393 0.042 -1.446 0.152 0.347 -0.232 -0.374 -0.656 -0.179 0.260 -0.368 -0.584 -0.487 -0.157 0.155 0.286 1: -5.857 -5.845 6.109 2.003 -8.462 7.991 -2.465 -11.863 9.490 -3.531 -0.966 -7.169 46.207 -3.221 -3.131 -0.875 -0.411 -2.438 -0.760 -0.573 0.987 3.265 2.144 -0.221 0.315 -1.525 0.874 1.159 -0.130 -0.637 -0.432 0.011 0.593 -0.462 -1.111 -0.721 -0.178 0.012 0.727 (途中省略) 197: -12.438 -3.049 -4.389 -1.899 2.578 -5.795 -3.100 -3.889 -4.516 -1.362 2.812 -9.024 36.115 -0.607 -0.962 -0.332 0.013 -0.139 -2.087 -1.590 -1.025 -1.040 0.152 0.350 0.315 -0.158 -0.036 -0.210 -0.091 0.040 -0.131 -0.440 -0.371 -0.222 0.068 0.118 0.333 0.534 0.027 ----------------------------------------- END ----------------------------------------