2023年9月2日土曜日

ESP32でI2S接続のマイクを使ってみた

 前回はESP32に外付けDACをつけてみたけど、今回はI2S接続のマイクを試してみた。

使用したのはINMP441を搭載したモジュール。Aliexpressで180円だった。ESP32にI2Sで接続して音声データを取得できる。

IC自体はこっち面についているんだけど、音声取り込み口は反対側に空いてる基板の穴から取り込むみたい。

このマイクモジュールとしてはこっち側は表面ということに。中央の穴がマイクの穴。

早速ESP32に接続して試してみた。

ライブラリを使用せずにファイルシステムにPCMデータを保存したりするサンプルが多いんだけど、そのままPCで聞けるとテストが楽で良いなぁとおもって探していたら便利なライブラリを発見。

arduino-audio-tools

このライブラリは音声関係のエンコーダやデコーダも入っていて、サンプルにI2Sのマイクから取り出したWAVEデータをブラウザでストリーミングできるサンプルも入っていた。

このサンプルはstreams-i2s-webserver_wav.inoのWiFi接続用SSIDとパスワードを変更するだけで、あとは解説ページでも同じくINMP441で解説されているので図のように接続するだけ。書き込み終わったらシリアルコンソールに出たIPアドレスに接続するとブラウザにストリーミングの画面が出るので再生ボタンを押すだけ。

結構プツプツとノイズが入るんだけどこれは電源ラインなのかなぁ?ちなみにファイルシステムに録音するサンプルも試してみたけどそちらは結構いい感じだった。調べてみるとINMP441はこのサンプルのように16Bitで使うとノイズが目立つとかで、ファイルシステムに録音するサンプルでは32bitで取ってきて処理を入れているようだった。
ストリーミングでもそんな事ができるのかもう少し検証してみるかな…


0 件のコメント:

コメントを投稿