2.2.3 定常雑音を白色化する機能を用いた音源定位

図 2.5と図 2.7で示した音源定位では, 目的音や雑音を区別することなく定位するため,目的音よりも大きなパワーを持つ雑音が存在する環境下では, 雑音方向の定位結果が出力されやすくなる. 結果として,音声認識に必要な音声方向の定位結果が得られなくなり,認識性能が著しく劣化してしまう.

特に,ロボットに搭載されたマイクロホンアレイによる音声認識では, ロボットのファンやサーボモータの雑音が, 音声よりもマイクロホンアレイに近いところに存在するため, 音源定位性能が劣化する問題がある.

この問題を解決するため,HARK  では,既知の定常雑音を白色化する機能を持つ音源定位をサポートしている. 本機能を使用するためには以下の手順が必要となる.

以下では,この一つ一つについて,解説する.

2.2.3.1 既知の音源定位用雑音情報ファイルの生成

\includegraphics[width=.6\linewidth ]{fig/recipes/LearningHARK_002_04_1}
(a) メインシート \includegraphics[width=.8\linewidth ]{fig/recipes/LearningHARK_002_04_2}
(b) イタレータシート
Figure 2.8: 音源定位用雑音情報ファイルを生成するネットワークファイルの例

図 2.8に既知の雑音情報ファイルを生成するネットワークファイルの例を示す. 各モジュールのパラメータの設定については,HARK  ドキュメント 6.2節のモジュールリファレンスを参照されたい. また,イタレータシート内の HARK  の標準モジュールである Constant , IterCount , Smaller , Equal  については, 以下のようにパラメータを設定している.

また,ここでは node_Constant_1 の VALUE を 200 と設定しているため,CMMakerFromFFTwithFlag のパラメータである, MAX_SUM_COUNT は 200より大きな値に設定するのが良い.

このネットワークファイルは,AudioStreamFromWave に雑音情報が入った Wave ファイルを入力することを想定し, 先頭フレームから node_Constant_1 で指定したフレーム数までの雑音情報を用いて音源定位用の雑音情報ファイルを生成する.

本ネットワークファイルを実行すると,カレントディレクトリに NOISEr.dat と NOISEi.dat が生成されるはずである. この2つのファイルを次節の音源定位で使用する.

本稿では,先頭フレームから指定したフレーム数までの雑音情報を使用したが, Smaller  などの条件分岐を表すモジュールを適切に接続することで, 雑音情報ファイル生成に用いるフレームを変更することも可能である.

2.2.3.2 雑音白色化機能を持つ音源定位

\includegraphics[width=.5\linewidth ]{fig/recipes/LearningHARK_002_05_1}
(a) メインシート \includegraphics[width=.9\linewidth ]{fig/recipes/LearningHARK_002_05_2}
(b) イタレータシート
Figure 2.9: 雑音を白色化する機能を持つ音源定位のネットワークファイルの例

2.2.3.1で生成した雑音情報ファイル (NOISEr.dat, NOISEi.dat)を用いた, 雑音白色化機能を持つ音源定位のネットワークファイルの例を 図 2.9に示す. 各モジュールのパラメータの設定については,HARK  ドキュメント 6.2節のモジュールリファレンスを参照されたい. また,イタレータシート内の HARK  の標準モジュールである Constant については, 以下のようにパラメータを設定している.

このように雑音ファイルを CMLoad によって読み込むことで,音源定位において,そのファイルの雑音情報を白色化することができる. 白色化機能を用いるには,LocalizeMUSIC のパラメータ MUSIC_ALGORITHM を,GEVD または GSVD に設定すれば良い. 雑音白色化の詳細については HARK  ドキュメント 6.2節のモジュールリファレンスを参照されたい.

このネットワークファイルを実行することで, 図 2.6のような音源定位結果が出てくる. 大きなパワーを持つ雑音がある場合に,その雑音が白色化され,音声方向の定位がしやすくなっていることが確認できるだろう.

Discussion

音源定位のアルゴリズムの詳細や雑音情報の白色化については HARK  ドキュメント 6.2節のモジュールリファレンスに詳しく書かれているので参照されたい. より精度を上げるには, 8 章のレシピも参考になるだろう.

See Also

うまく録音できない, うまく定位できない