Problem
マイクロホンで複数の音源を収録して,個々の音源に分離したい。
Solution
音源分離ノード GHDSS を使うことで,マイクロホンから入力された混合音 を分離できる. なお,GHDSS は,音声波形と音源定位結果を入力にとるので, 音源分離の前に音源定位を行う必要がある.
GHDSS による音源分離には、音源の位置から各マイクロホンまでの伝達関数が必要である。 伝達関数の計算方法には、(1) TSP (time stretched pulse) 信号で実際に測定す る方法と、(2) マイクロホンの位置情報からシミュレーションで計算する方法が ある。
TSP 信号で測定する方法
マイクロホンからある程度離れた円 (たとえば 1-2mぐらい) を描き、そ の円周上からある程度の角度 (たとえば5度や10度) ごとにスピーカから TSP信号を流し、収録する。それらと harktool を使って、伝達関数を計 算する。 詳しくは インパルス応答を計測したい を参照。
シミュレーションで計算する方法
インパルス応答を計測するかわりにマイクロホン座標 (MICARY-LocationFile)を作成する。 マイクロホン座標ファイルの作成方法は、HARK ドキュメント の harktool の 使い方と, マイクロホン配置だけから音源分離したいを参照.
伝達関数が準備できたら、GHDSS のパラメータを適切に設定する。 詳しくは はじめての音源分離を見よう. 音源分離した音を保存して聞きたいなら, 分離音をファイルに保存したいを見よう.
音源分離の性能を向上させるには, 音源分離のパラメータをチューニングしたいを見よう. また,音源分離を雑音がある環境下で使うときは, ファンノイズなどの定常ノイズのせいで音源分離がうまくいかないや, 分離音に入っている雑音を後処理で減らしたい.を見ておくとよい. 移動する音源を分離したいときは,音源やロボットが移動する状況で分離したいが参考になるだろう.
Discussion
GHDSS は高次無相関化と音源定位結果に基づく幾何的制約を用いて 音源分離を実現する。 詳細は HARK document の GHDSS の項目を参照
See Also
HARK ドキュメント の GHDSS に手法の詳細が解説されている。 また、HARK チュートリアル資料や音源分離のサンプルも参考になるだろう。