
PCで音楽を聴きながらゲームをしているとき、Discordの通話音量だけ下げたい——そんな場面で役立つのが、アプリケーションごとに音量を個別調整できるハードウェアミキサーだ。CubeCrafter72氏がGitHubで公開した「ESP32 Audio Controller」は、ESP32-WROOMをベースにしたWindows 10/11向けのボリュームミキサーで、ファームウェア(C++)、.NET製デスクトップアプリ(C#)、3Dプリント用エンクロージャのデータが一式MITライセンスで提供されている。制作者にとって初めてのESP32プロジェクトだという。
操作系はスライダーポテンショメーター2個、ロータリーポテンショメーター2個、ボタン3個で構成する。スライダーでシステム音量とマイク音量を独立して調整し、ロータリーポテンショメーターで特定アプリの音量を個別に制御する。ボタン3個はメディアコントロール用で、再生/一時停止、前の曲、次の曲を操作できる。OLEDディスプレイには再生中のトラック情報がリアルタイムで表示される。
仕組みとしては、ESP32が各入力デバイスの値を読み取り、Windows側で動作する.NETデスクトップアプリに送信する。デスクトップアプリはWindowsのオーディオAPIを介してアプリケーションごとの音量を制御し、再生中の楽曲情報をESP32側に返す。ディスプレイの描画にはU8g2ライブラリを使っている。
筐体はFusion 360で設計し、Bambu Lab A1 MiniでPLAを使って造形した。STEP形式の3Dデータと3MFファイルがリポジトリに含まれているため、3Dプリンターがあれば再現できる。
類似のプロジェクトとしてはArduinoベースの「deej」が知られているが、ESP32 Audio Controllerはメディアコントロールボタンとトラック情報表示を備えている点、デスクトップアプリを独自に開発している点が異なる。


