Make Technology

I2Sデジタル出力マイクをESP32で扱う方法(1)

Make
スポンサーリンク

今日は、ESP32でI2Sのマイクモジュールを扱う方法について紹介。
前回はI2S出力マイクの紹介でしたが、今回はこのマイクで音声データを取得する具体的な方法を解説していきます。

I2Sって何?

規格の定義

Inter-IC Soundという音声に関する通信規格で、簡単に言うと音声をデジタルデータに変換してシリアル転送するものです。
https://ja.wikipedia.org/wiki/Inter-IC_Sound

I2は頭文字が I の単語が二つ並んでいるからで、読み方は「アイスクエアーエス」とか「アイツーエス」だったりします。
基本的には、以下の信号線3本でデータを転送します。

  • LRCLK: ステレオでLRを切り替えるための信号
  • SDATA: デジタル音声データのビット列
  • BCLK: SDATAのタイミングを決めるクロック信号。シリアルクロックとも呼ぶ

利点

このI2Sですが、最大の利点はクリアで鮮明な音声データを扱える事です。

高音質な音声データ(いわゆるハイレゾなど)の入出力が、組み込み機器でも低価格で可能になります。アナログ出力のマイクでは、電源ラインのノイズやADCの分解能が音声データの品質にも影響を与えますが、I2Sではその心配がグッと下がります。また、省電力、ローコスト、配線の少なさといった利点もあります。

欠点

逆に、欠点は通信処理の複雑さです。

I2Sは先述の通り、音声をデータとクロックの信号線1本ずつでやり取りするため、信号のタイミングはクロック線で分かっても、順次送られてくるビット列を指定する音声の規格(サンプリング周波数、量子化ビット数など)に合わせて処理しないとキチンとした音声データを取得できません。
データの開始と終了、各ビット列データの格納などの処理を一から実装するのは意外と大変です。
http://flac.aki.gs/bony/?p=2996

ですが、ESP32ではI2Sを簡単に扱えるライブラリが提供されています。
ライブラリはArduino IDE(統合開発環境)でESP32用の開発環境をインストールすればデフォルトでついてくるため、特に他のライブラリをインストールする必要はありません。

開発準備

では、必要なソフトウェアを把握したところで、必要なハードウェアを確認します。
今回はESP32と開発環境を駆使してI2S出力の音声データを取得することがゴールです。

sdr

主な電子部品は以下の通りです。

  • ESP32開発ボード(ESP32 devkitc)
  • SPH0641LU4H使用 超音波対応マイクモジュールキット
  • ADAU7002仕様ステレオPDMーI2S(TDM)コンバータ

なお、上記の他にブレッドボード、ジャンパーピン/ワイヤー、マイクロUSBケーブルが必要です。
電子回路、およびソフトウェアについては次回以降に解説します。

ESP32開発ボード

ESP32開発ボードとは文字通りESP32を組み込んだマイコンボードです。
入手先などや開発環境についてはこちらの記事をご覧ください。

マイクモジュール(PDM出力)

マイクは、とても小さい(1㎝四方くらい!)このモジュールを使います。音声データの転送形式はPDMですが、次に述べる電子部品でI2Sに変換します。

SPH0641LU4H使用 超音波対応マイクモジュールキット: パーツ一般 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,マイコン,電子工作SPH0641LU4H使用 超音波対応マイクモジュールキット秋月電子通商 電子部品通信販売

PDM-I2Sコンバータ

前述のとおり、これがPDMをI2S形式に変換するためのモジュールです。マイクと開発ボードの間に挟むだけで、ソフトウェア上の処理なしにI2Sの音声データへと変換してくれます。

ADAU7002使用ステレオPDMーI2S(TDM)コンバータモジュールキット: 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,マイコン,電子工作ADAU7002使用ステレオPDMーI2S(TDM)コンバータモジュールキット秋月電子通商 電子部品通信販売

マイクの代替品

ちなみに、マイクとPDM-I2Sコンバータについては、代替品として千石電商などで売られているSipeed社のI2Sマイクモジュールもあります。こちらのモジュールは直接I2Sで出力してくれるので、コンバータ不要でコストも安く抑えられます。
ただし、今回の開発では上記2つのマイクとコンバータを使用したので、このマイクモジュールで動作検証はしていません

【5709】SIPEED-1MIC-MODULE Sipeed 1マイクモジュール
千石電商 秋葉原 パーツとツールのスーパーマーケット。半導体・電子部品・コネクタ・ケーブル・基板・工具・パソコン関連・電池・充電器・ボードなどを幅広く扱っています。

とにかく価格の安さにこだわるならば、AliExpressでの購入もアリです。

272.0¥ 16% OFF|1個sipeed高感度i2sインターフェースシングルマイクモジュール|Integrated Circuits| - AliExpress
Smarter Shopping, Better Living! Aliexpress.com

実装について

ずいぶん月日が経ってしまいましたが、実装を別記事にまとめました。

ハードウェア編

ソフトウェア編

タイトルとURLをコピーしました