Problem
LocalizeMUSIC ノードを使った定位がうまくいかない
音がなっていないのに特定の方向から音源が定位され続ける
Solution
SourceTracker ノードの THRESH プロパティの値を適切に設定する.
LocalizeMUSIC ノードの DEBUG プロパティを trueに設定したネットワークファイルを実行する.
実行中,まわりが無音の場合と,手を叩くなどで音をならした場合の MUSIC スペクトルのパワー値を見る.
2つの場合のパワー値の中間になる値を設定する.
ポイントは無音の場合の定常パワーより少し大きめの値に設定することである. 例:定常パワーが $25.5 – 25.8$ ぐらいなら THRESH は $26$ にする,など. この際,手順 1. で出力された各時刻・方向の MUSIC スペクトルの値をスペクトログラムのように表示すると, 適切な閾値を比較的容易に選ぶことが出来る. 可視化するコード例は 音源定位のパラメータをチューニングしたい を参照。
Discussion
LocalizeMUSIC ノードが出力する値はマイクロホンのゲインや周囲の環境に依存して変化するため, 上記のように試行錯誤によって適切に設定する.
THRESH の設定には以下のトレードオフ関係がある: THRESH を小さい値にすると,パワーの小さな発話でも定位可能な反面,予期せぬノイズ (足音など) を定位することがある. THRESH を大きな値にすると,周りで突発音などがあっても定位結果として報告しない反面,発話音の定位にもより大きなパワーを要することになる.
See Also
HARK ドキュメント:LocalizeMUSIC ノード
HARK ドキュメント:SourceTracker ノード