DPマッチングによる単語間の距離計算

1. 線形予測係数を用いた単語間の距離計算(時間軸整合あり)

DPマッチング (DTW) を用いて時間軸整合を行った場合の2単語間の距離を求める方法は次のとおりです。

lpfrmt コマンドによって得られた線形予測係数が file1_a.txt と file2_a.txt に入っているとすれば,2音声間のDPマッチングを用いた距離は次を実行して得られます。

dpmatch file1_a.txt file2_a.txt > dp_file1_file2.txt

これにより,2音声の距離が dp_file1_file2.txt に入ります。

ファイル dp_file1_file2.txt には,冒頭 5 フレーム分の DP マッチング計算過程と, 単語間の距離 D(file1_a, file2_a) に続いて,file1_a と file2_a の時間軸整合における最適パスが出力されます。 このファイルを GNUPLOT や Excel で読み込んで時間軸整合の様子プロットしたり, 音声波形において二つの単語間でどのような時間軸の対応がとられたかを調べることにより, 2単語間の時間軸整合の妥当性を検討することができます。

なお,GNUPLOT は # で始まる行をコメントとみなすので,上記ファイルを直接 plot すれば, 時間軸整合の様子だけが描画されます。

2. DPマッチングによる単語間距離を用いた簡易音声認識

分析済みの 3 単語音声(/tanpa/,/tanka/,/tantai/) の1回目発声を参照パターン(テンプレート) として,新たな入力音声(2回目発声のうちの少なくとも1つ)が 3 つのうちのどの単語であるかを時間軸整合付きの距離を用いて認識してください。 認識は,3つの参照パターン(テンプレート)の音声を \(R_\mathrm{/tanpa/}, R_\mathrm{/tanka/}, R_\mathrm{/tantai/}\) とし,入力音声を \(I\) としたとき, \[\underset{w \in W}{\operatorname{argmin}} D(I, R_w)\] を(手作業で)求めることによって行います。 ここで \(W = \{\mathrm{/tanpa/, /tanka/, /tantai/}\}\) です。

以上の結果を文書にまとめ,考察を行ってください。

日付: 2023/7/20

著者: Hideaki Konno

Created: 2023-07-20 木 15:44

Validate