マイクアレイ(マルチマイク)システムの調査
Acoustic_Cameraは、マイクロフォンをアレイ状に配置し音を検出し2次元表示する装置です。工場などでガス漏れ箇所の検知に使われているようです。値段が高いことと用途が限定的なため、あまり広まっていません。そこでまずマイクアレイを使って動作原理を確認することにしました。
その前に、マイクアレイ(マルチマイク)システムの簡単な調査を行いました。大きく2つの応用があり、一つは、2000年代に現れた「音声認識用」=話者の声を拾うものと、もう一つは2010年代に現れた「音源特定」=発生源を見つけるものです。
2件目は、話者を特定するというよりもDSPを使って、エコーやノイズを無くし複数人の会議で
会話音声を適切にピックアップするシステムのようです。USBの速度制限もあり、マイクは8個
のようです。
次に、今回チャレンジするAcoustic_Camera情報を2件紹介します。64個のマイクアレイとその中心にRGBカメラを配置し、音源分布を実画像と合成して表示します。応答速度はAcousticで100fps,RGBで50fpsと記載されています。価格は280万円だったと思います。
2件目は、小型で安価なものです。16個のマイクで、ビームフォーミング方式を採用し音源スキャンを
行っているようです。応答速度は10fpsです。
今回チャレンジするものは、上記2件のような立派なものではなく、単にマルチマイクで2次元の
音声信号を捉えマップ化するだけのものです。しかもマイクアレイは6個(3×2)で実験しました。
コンデンサマイクとMEMSマイクモジュールを沢山準備して気合を入れていましたが、半田付けの面倒さなどで最終的にコンデンサマイク6個を使用した機能確認試作にとどめました。
コンデンサマイクとMEMSマイクを比較しました。MEMSマイクは秋月電子で入手できます。MEMSマイクは小さくて年寄りにははんだ付けがきついのでコンデンサマイクを使用することにしました。
マイクは6個なので、マイコンはArduinoNano(ADC:8chまで)を使いました。
マイコンのコードは何も考えず、単にマイク出力を10msecでサンプリングするものです。
コンデンサマイクの出力レベルは、大体同じで突出してゲインが大きなものや小さな個体はないようです。
次に2次元画像の生成です。以前XYステージを改造した2Dセンサデータ収集システムで採用した補完処理を使用します。6個のマイク音の強弱を画像にするプログラムを示します。解像度が3×2と極めて少ないのですが、補完を使用して80×60の画像に変換しました。
マイク配置と画像の対応です。実際に画像を作って確認しました。
最終的なハードウェアは音響画像とカメラ画像を表示する仕様となっているので、マイクアレイの中心にUSBカメラを配置する必要があります。マイクアレイとカメラをケースに収めました。
カメラモジュールとマイクアレイを組み合わせたハードウェアが完成したので、RGB画像とAcoustic画像を表示するGUIプログラムを作成しました。 ソースコードを示します。
GUIプログラムを起動すると以下のようになりました。まず、テレビに大谷が移っていますが、
音が出ています。そのあたりで黄色くなっています。音は天井に反響しているようです。
携帯電話がかかってきたので、歩きながらカメラの方に近づきました。