dfejza.com
制作物一覧
組み込み

MrHuang Listener

開発中· プレアルファ

ESP32-S3を用いたWiFiオーディオストリーミングデバイス。デュアルステレオマイクから音声をキャプチャし、ネットワーク経由でPython asyncioのUDPサーバーへストリーミング、そこからMrHuangバックエンドへ引き渡す。MrHuang向けの組み込み音声入力フロントエンドであり、デスクトップのマイクデーモンに対応するハードウェア版。両者とも同一のセルフホスト型音声認識レイヤーに音声を供給するために構築。

CESP-IDFESP32-S3PythonHardware

AI生成: この技術解説はプロジェクトのソースコードからAIが作成したもので、不正確な記述を含む場合があります。

MrHuang Listenerは、MrHuang向けのハードウェア音声入力フロントエンドです。ESP32-S3が2基のマイクから音声をキャプチャし、WiFi経由でサーバーへストリーミングします。サーバーはそれをMrHuangバックエンドへ転送し、処理を行います。これは開発途中のprealpha段階の学習プロジェクトです。目的は、タイピングせずに音声入力を既存のアシスタントへ届けることで、これまでの作業の大半はファームウェアの立ち上げと、デバイスからクリーンな音声経路を取り出すことに費やされています。

アーキテクチャ

デバイスはESP32-S3上で、Cで書かれたESP-IDFファームウェアを動作させます。INMP441 MEMSマイク2基をステレオのI2S構成で配線し、ファームウェアがI2Sサンプルを読み取り、生PCMをWiFi経由でUDPデータグラムとしてサーバーへストリーミングします。ホスト側ではPython asyncioのUDPサーバーがそのストリームを受信し、AI処理のために音声をMrHuangバックエンドへ引き渡します。デバイス側でのOpusエンコード(WiFiのビットレートを抑えるため)は次の予定ステップです。

 INMP441 ×2 (stereo I2S)


 ┌─────────────────────────┐
 │  ESP32-S3               │
 │  ESP-IDF (C)            │
 │  I2S capture → UDP/WiFi │
 └─────────────────────────┘
          │  raw PCM · UDP

 ┌─────────────────────────┐
 │  Python UDP server      │
 │  receive · hand off     │
 └─────────────────────────┘


   MrHuang backend

この分割により、組み込み側の責務を絞っています。ESP32-S3が担うのは、2つのI2Sチャンネルをキャプチャしてネットワークに載せることだけです。ストリームの処理、バッファリング、既存のMrHuangアシスタントへの引き渡しはすべてPythonサーバー側にあり、デバイス上よりも反復開発が容易です。これはMrHuangの音声ファースト構想に向けた組み込みの音声入力フロントエンドであり、デスクトップのマイクデーモンに対応するハードウェア版です。どちらも同一のセルフホスト型音声認識レイヤーへ音声を供給するために構築されています。

ステータス

これはprealpha段階で、現在も開発が進行中です。ファームウェアの立ち上げと、デバイスからサーバーへの音声経路が当面の焦点です。MrHuangバックエンドとの統合は、完成したパイプラインというより、これから接続していく先という位置づけであり、音声経路自体もまだスタブ状態です。ESP-IDF、I2Sマイクキャプチャ、CでのUDP音声ストリーミングを学びつつ、既にあるアシスタントを拡張するための取り組みであり、この記事は完成品ではなく意図した構成を説明したものです。