ichou1のブログ

主に音声認識、時々、データ分析のことを書く

HTK

音声認識メモ(HMM)その9(HTK HERest コマンド(6))

混合正規分布モデル(Gaussian Mixture Model)のHMMを作成する。尚、単一正規分布のHMMモデル(single Gaussian models)のままでも認識エンジン「Julius」に渡すことはできる。混合数の増加には「HHEd」コマンドを使用する。 HHEd -H "HMMモデル" -w "出力…

音声認識メモ(HMM)その8(HTK HERest コマンド(5))

トライフォンの初期モデルに対して学習を行う。 HERest -C "config名" -I "トライフォン用の音素MLF" -t 250.0 150.0 1000.0 -S "学習対象となるファイルのリスト"-s "統計ファイル" -H "トライフォンの初期モデル" -M "出力先" "トライフォンのリスト"イン…

音声認識メモ(HMM)その7(HTK HERest コマンド(4))

モノフォン(monophone)での音響モデルを作ったら、続けて、トライフォン(triphone)の音響モデルを作成する。トライフォンというのは音素の3つ組のこと。 2つ組ならバイフォン(あるいはダイフォン) これらは、音素(phone)に「MONO」、「BI」、「TRI」を…

音声認識メモ(HMM)その6(HTK HERest コマンド(3))

「forward-backward」(またはalpha-beta)アルゴリズムの後ろ向き確率が求まったら、 続けて前向き確率を求める。t=2において、ラベル1の状態2にいる確率(下図の赤枠)は ①(t=1でラベル1の状態2にいる確率) * ②(遷移確率) * ③(出力確率)により求まる。 log…

音声認識メモ(HMM)その5(HTK HERestコマンド(2))

HMMは2種類の確率を持つ。 遷移確率(transition probabilities) 出力確率(output probabilities) 出力確率は、HTK Bookの数式を見ていてもイメージがわきにくかったので、まとめてみた。パラメータを「NUMCEPS = 12」、「MFCC_D_A_0」で与えた時、HMMに…

音声認識メモ(HMM)その4(HTK HERestコマンド(1))

音声データと、それが意味する音素や単語("ラベル"と表現する)の紐付けには、「音響モデル」を使用する。Juliusでは、音響モデルとして、HMM (Hidden Markov Model) を用いることができる。HMMは、HTK(HMM Tool Kit)を使って作成できる。モデルの学習には、…

音声認識メモ(HMM)その3(HTK HCopyコマンド(3))

"もしもし"というWAVE音声データをプロットしてみると以下のとおりであった。 発声の時間は2秒間で、サンプリングレートは16kHz(出力結果として得られるサンプル数は32,000) 1サンプルは2バイト(C言語でのshort(−32,768〜 32,767))の範囲の値を取る 横軸が…

音声認識メモ(HMM)その2(HTK HCopyコマンド(2))

音声認識は音声データをそのまま扱うのではなく、MFCCという音響特徴データに変換する。MFCCは"Mel Frequency Cepstrum Coefficents"の略。音というのは波で、複数の純音が重なり合っている(ならば、純音に分離できるということ)。 音声データは"x軸が時間…

音声認識メモ(HMM)その1(HTK HCopyコマンド(1))

Juliusに渡す音響モデルを"HTK"(Hidden Markov Model Toolkit)で作成する。音声データは、"もしもし"という発声をWAVEファイルに保存したものを用意した。 サンプリングレートは [16000 Hz] チャンネル数は [1] (モノラル) 量子化深度 (サンプリングデータを…