マルチチャンネルの音声波形データから,遅延和 ( delay-and-sum , DS ) ビームフォーマを用いて,マイクロホンアレイ座標系で音源方向を推定する.
ステアリングベクトルからなる定位用伝達関数ファイル,または,マイクロホン座標ファイルと音源座標ファイルが必要.マイクロホン座標ファイルと音源座標ファイルが入力された場合,その位置関係から伝達関数を生成する.
どんなときに使うのか
本ノードは DS を用いて,どの方向にどのくらいのパワーの音があるかを推定する. 大きなパワーをもつ方向を各フレームで検出することで,音源の方向や,音源数,発話区間などをある程度知ることが可能である. 本ノードは EstimateTF ノードの評価のために利用される. 本ノードから出力される音源情報に TFneighbor 情報を含まないため,その後の音源追跡や音源分離ノード接続に接続する際は注意すること.
典型的な接続例
典型的な接続例を図 6.54 に示す.
入力
: Matrix<complex<float> > , 入力信号の複素周波数表現 $M \times (NFFT/2+1)$.
出力
: Vector<ObjectRef> 型で音源位置(方向)を表す. ObjectRef は,Source であり,音源位置とその方向の BF スペクトルからなる構造体である. Vector の要素数は音源数 ($N$) . ただし,$N=1$.
: Vector<float> 型.各方向の BF スペクトルのパワー. 本出力端子は,デフォルトでは非表示である.
非表示出力の追加方法は図 6.55を参照されたい.
パラメータ
パラメータ名 |
型 |
デフォルト値 |
単位 |
説明 |
TF_CHANNEL_SELECTION |
下記参照 |
使用チャンネル番号 |
||
SAMPLING_RATE |
16000 |
[Hz] |
サンプリングレート |
|
LENGTH |
512 |
[pt] |
FFT点数($NFFT$) |
|
USE_TF_FILE |
false |
伝達関数ファイルを使用するかどうか |
||
TF_FILENAME |
定位用伝達関数ファイル名 |
|||
MIC_POSITIONS |
マイクロホン座標ファイル名 |
|||
SRC_POSITIONS |
音源座標ファイル名 |
|||
SPEED_OF_SOUND |
340 |
[m/s] |
音速 |
|
DEBUG |
false |
デバッグ出力の ON/OFF |
: Vector<int> 型.定位用伝達関数ファイルに格納されている マルチチャネルのステアリングベクトルの中で,指定したチャネルのステアリングベクトルを選択するパラメータである. ChannelSelector と同様に,チャネル番号は 0 から始まる. デフォルトでは 8 チャネルの信号処理を想定し,<Vector<int> 0 1 2 3 4 5 6 7> と設定されている. 本パラメータの成分数($M$)を入力信号のチャネル数と合わせる必要がある. また,INPUT 端子に入力されるチャネルの順序と TF_CHANNEL_SELECTION のチャネル順序を合わせる必要がある.
: int 型.16000 がデフォルト値.入力音響信号のサンプリング周波数.LENGTH と同様,他のノードとそろえる必要がある.
: int 型.512 がデフォルト値.フーリエ変換の際の FFT 点数.前段までの FFT 点数と合わせる必要がある.
: bool 型.true とした場合,定位推定に使用する伝達関数を伝達関数ファイルから読み込む. false とした場合,マイクロホン座標ファイルおよび音源座標ファイルを読み込み,音源位置と受音位置の関係から平面波伝搬を仮定した伝達関数を計算し,定位推定に使用する.
: string 型.デフォルト値はなし. 定位用伝達関数ファイルのファイル名を指定する. 本パラメータは ${\rm USE\_ TF\_ FILE}=true$ のときのみ表示される.
: string 型.デフォルト値はなし. マイクロホン座標ファイル名を指定する. 本パラメータは ${\rm USE\_ TF\_ FILE}=false$ のときのみ表示される.
: string 型.デフォルト値はなし. 音源座標ファイル名を指定する. 本パラメータは ${\rm USE\_ TF\_ FILE}=false$ のときのみ表示される.
: float 型.340がデフォルト値.音速.
: bool 型.デバッグ出力のON/OFF,デバッグ出力のフォーマットは,以下の通りである. まず,フレームで検出された音源数分だけ, 音源のインデックス,方向,パワーのセットがタブ区切りで出力される. 続けて BF スペクトルが出力される.
遅延和ビームフォーミングによる定位推定:
遅延和ビームフォーミング法では,各マイクロホンで計測した音響信号に対し遅延子を挿入し,入射波の位相をそろえて和をとることにより,音響ビームを形成する.このビームを空間的にスキャンさせることにより,音源位置を推定する. 本ノードでは空間スペクトル $P(\theta )$ を以下の式で計算している.
\begin{equation} \label{eq:LocalizaBFDS-eq1} P(\theta ) = {\boldsymbol w}^ H(\theta ) {\boldsymbol x} \end{equation} | (32) |
${\boldsymbol w}^ H$ はステアリングベクトル, ${\boldsymbol x}$ は入力信号のスペクトルを示す. 方向 $\theta $ に対する ${\boldsymbol w}$ は,伝達関数ベクトル ${\boldsymbol a}(\theta )$ を用いて以下の式で求める.
\begin{equation} \label{eq:LocalizaBFDS-eq2} {\boldsymbol w} (\theta ) = \frac{{\boldsymbol a}(\theta )}{|{\boldsymbol a}(\theta )|} \end{equation} | (33) |
マイクロホン座標と音源座標の位置関係による伝達関数推定:
本ノードにおいて,マイクロホン座標と音源座標の位置関係による伝達関数計算する際には平面波伝搬を仮定した.
浅野太, “音のアレイ信号処理” 日本音響学会.