音源定位とビームフォーミング

音源定位とは

音源の位置(角度)を測定します。

複数のマイクを利用し、各マイクへの音声到達時間のずれとマイク間の距離から音源の位置(角度)を計算します。

OpenHRIAudioでは、DSArrayコンポーネントで音源定位を行います。

ビームフォーミングとは

指定角度の音声信号を取り出します。

音源定位と同じく複数のマイクを利用し、指定角度での各マイクへの音声到達時間のずれを計算して補正します。

OpenHRIAudioでは、BeamFormingコンポーネントでビームフォーミングを行います。

使い方

Kinectをアレイマイクとして使用した方法

kinectはマイクロソフトのHPからKinectSDKをインストールして使用できるようになります。(Windows7以降)

コンポーネントは

  • PortAudioInput
  • PortAudioOutput
  • DSArray
  • BeamForming

の4つを使用します。

また、マイク配置の設定ファイル”micset.csv”が必要になります。

OpenHRIAudioのインストールファイルには、Kinectのマイク配置設定ファイル”micset.csv”が含まれています。

コンポーネントの接続

  • PortAudioInputの出力ポートにDSArrayの入力ポート、BeamFormingの入力ポートの2つのリンクを接続
  • DSArrayの出力ポートに BeamFormingの入力ポートを接続
  • BeamFormingの出力ポートにPortAudioOutputの入力ポートを接続

リンクを作成すると、以下のスクリーンショットのようになります。

_images/micarray-example.png
  • AudioInput、DSArray、BeamFormingのマイク数を”4”に設定してください。
  • サンプリングレート、ビット深度はすべて同じ値にしてください。(初期設定16kHz,16bit)

BeamFormingコンポーネントにはパラメータ”Mode”があります。

Const
パラメータ”ConstAngle”で指定した角度からの音声入力を強調します。一定の角度からの音声を取り出す場合に使用します。
Variable
入力ポート”angle”の角度からの音声入力(DSArrayコンポーネントで音源定位した角度)を強調します。音源が移動した場合、強調角度が移動先に追従します。