書籍:Pythonで学ぶ音声認識

 こちらは、書籍「Pythonで学ぶ音声認識」で学習した内容で、大切と思われる部分のメモ書きになります。必要なプログラムのダウンロードは、下記のページです。

URLhttps://github.com/ry-takashima/python_asr
項目名/内容
1章音声認識とは
/音声認識モデル/
音声特徴量➡ 音響モデル➡ 発音辞書➡
 言語モデル➡ 出力
(「End-to-End モデル」が最新手法)
2章音声認識の基礎知識
1節 音声認識と確率
   ・確率の Chain Rule
   ・確率の周辺化
   ・ベイズの定理
2節 音声認識の問題を数式で定義する
3節 テキストの種類と発音辞書
   -音素・かな・文字・単語-
4節 2種類の音声認識実験
   ・孤独単語認識
   ・連続音声認識
5節 音声認識実験の大まかな流れ
   ・学習データ、開発データ、評価データ
   ・ハイパーパラメータ ・過学習
3章音声処理の基礎と特徴量検出プログラム・コード
1節 データの準備
   workディレクトリに展開

2節 音声ファイルを読み込んでみよう
   ・チャネル数 ・サンプリング周波数
   ・サンプルサイズ
3節 フーリエ変換を使って
   音声を周波数分解しよう
   ・離散フーリエ変換
   ・逆離散フーリエ変換
   ・高速フーリエ変換
   ・フロアリング処理
   ・サンプリング定理
   ・ナイキスト周波数
4節 音声を短時間フーリエ変換して
   スペクトログラムを作成しよう
   ・短時間フーリエ変換
   ・フレーム/フレームサイズ
   ・窓関数/ハミング窓
   ・スペクトログラム
5節 対数メルフィルタバンク特徴量
   ・直流(DC)成分除去
   ・広域強調(プリエンファシス)
   ・フィルタバンク分析
   ・多変量データ
   ・次元/次元数
   ・フィルタバンク特徴量
   ・メルフィルタバンクと
   ・対数メルフィルタバンク特徴量
    (FBANK)
   ・メル尺度
6節 メル周波数ケプストラム特徴量
   ・メル周波数ケプストラム特徴量
   ・離散コサイン変換
   ・基本周波数
   ・共振周波数(フォルマント)
   ・ケプストラム分析
   ・ケプストラム
   ・リフタリング/リフタ
7節 特徴量の平均と標準偏差を
   計算してみよう 
https://sites.google.com/site/
shinnosuketakamichi/publication/just


code3.1 plot_wave.py
wavファイルの波形をプロット

code3.2 test_fft.py
特定時刻の波形をフーリエ変換、
対数振幅スペクトルを表示





code3.3 test_spectrogram.py
短時間フーリエ変換を用いて、
音声のスペクトログラムを作成



code3.4 01_comput_fbank.py
学習/開発/評価データに対して
対数メルフィルタバンク特徴を計算する








code3.5 test_cepstrum.py
特定時刻の波形をケプストラム分析する

code3.6 01_compute_mfcc.py
学習/開発/評価データに対して
MFCC特徴を計算する


code3.7 02_compute_mean_std.py
特徴量ベクトルの平均と標準偏差を計算する
4章音声認識の初歩-DPマッチング
code4.1 02_dp_matching.py
2個のMFCC系列間でDPマッチングを行い
アライメントを推定する

code4.2 04_dp_matching_knn.py
DPマッチングとテンプレートマッチングを
使って発話認識を行う

関連プログラム(後で示す)
5章GMM-HMM による音声認識
code5.1 00make_label.py
ラベルファイルの音素表記を文字から数値に
変換する
phones.txttext.int

code5.2 hmmfunc.py
MonoPhoneHMMクラス コンストラクト部

code5.3 hmmfunc.py
MonoPhoneHMMクラス プロトタイプ作成部と
HMM保存部

code5.4 01_make_proto.py
HMMプロとタイプを作成するメインプログラム
hmmproto

code5.5 hmmfunc.py
MonoPhoneHMMクラス パラメータ初期化部と
HMMファイル読み込み部

code5.6 02_init_hmm.py
HMMのパラメータを初期化するメインプログラム
⇒ ~1mix/0.hmm

code5.7 03_train_sgmhmm.py
SGM-HMMを学習するメインプログラム
⇒ ~1mix/1~10.hmm

code5.8 hmmfunc.py
MonoPhoneHMMクラス HMM学習部
含む9個の関数

code5.9 hmmfunc.py
MonoPhoneHMMクラス 混合数の増加処理部

code5.10 03_train_sgmhmm.py
SGM-HMMを学習するメインプログラム
⇒ ~2mix/1~10.hmm

No code 04_prepare_testdata.py
評価データの作成
lexicon.txttext.int

No code 05_compute_feat_test.py
MFCC特徴量の抽出
⇒ ~/mfcc/

code5.11 06_recognize.py
孤立単語音声認識を実行する
推論メインプログラム
⇒ ~/mfcc/1.bin
プログラム内入力 1mix の時 SGM-HMM
         2mix の時 GMM-HMM

code5.12 hmmfunc.py
MonoPhoneHMMクラス 音声認識部
含む2個の関数

code5.13 07_phone_alilgnment.py
音素アライメントを推定するメインプログラム
⇒ 画面表示(標準出力)
alignment.png

code5.14 hmmfunc.py
MonoPhoneHMMクラス 音素アライメント推定部
含む2個の関数
 
6章DNN-HMM による音声認識
[1] 状態アライメントの推定
   (DNN正解ラベルの作成)

Code 6.1 00_state_alignment.py
音素アライメントを推定するプログラム
⇒ ~train_small/alignment

Code 6.2 hmmfunc.py
MonoPhoneHMMクラス 音素アライメント推定部
含む2個の関数

Code 6.3 01_count_states.py
各HMMの状態から出現回数をカウントする
⇒ ~/model_dnn/state_counts

関連コード(省略)Code 6.4 ~ 6.9

Code 6.10 02_train_dnn.py
DNN学習を行うメインプログラム
⇒ ~/model_dnn/best_model_pt学習済み

7章End – to – End モデルによる連続音声認識
タイトルとURLをコピーしました