Reply To: 2台のマイクで音源定位がしたい

HARK FORUM 2台のマイクで音源定位がしたい Reply To: 2台のマイクで音源定位がしたい

#2759

お問い合わせありがとうございます。

マイクアレイデバイスを複数台使用されたいとのことですが、マイクアレイデバイス同士が同期して録音出来る必要があります。同期は、各マイクアレイデバイスのクロックが僅かにずれるためサンプルのずれをどこかで調整する必要があるためです。

目的によっては他にも最適な解決手段がご提案できるケースが御座いますが、汎用的な解決手段として下記があります。

1つの解決手段として ALSA などの仮想ミキサー機能を使用して複数台のマイクアレイデバイスを1台の仮想マイクアレイデバイスとする方法が御座います。
下記はご質問者様と似たようなケースで、2台の2チャネル録音デバイスを1台の4チャネル仮想録音デバイスに見せる方法の回答が掲載されています。
https://stackoverflow.com/questions/8043912/is-it-possible-to-capture-both-mic-and-line-in-at-the-same-time-using-alsa
上記URLの例では、 hw:0,1 や plughw:0,1 などの物理デバイス名の代わりに multi_capture というデバイス名を指定することになります。
ALSA のユーザ設定は、 .asoundrc というファイルに記述することになりますので、使い方など検索される際のキーワードとして .asoundrc や ALSA などをご利用ください。英語で分かりづらい場合でも検索をかけて頂ければ下記のような和訳サイトなどが見つけられます。
https://wikiwiki.jp/tetsuya/asoundrc

1台のデバイスとして見える状態になりましたら、 AudioStreamFromMic の出力を ChannelSelector で8チャネルづつに分割して処理して頂く事で、1ループ (LOOP0のシートのみ) で2台のマイクアレイの処理を行う事が可能です。

その他の解決手段について:
各マイクアレイの処理が独立したものであるならば、2つのHARKプロセスで別々に処理する事をお勧めいたします。
例:2つのマイクアレイで定位された方向で三角測量のような事を行いたい場合
1.2つのHARKプロセスを起動し、各プロセスから最新の定位結果を送信する
2.定位結果を受信し、測量結果を求める
とすることもできます。ご検討ください。

以上、宜しくお願い致します。
HARK Support Team,