Kristian8606/esp32-airplay2-surround
硬件与物联网用每个扬声器一块 ESP32-S3 板,搭建无线 5.1/7.1 AirPlay 音响。
这个项目把低成本的 ESP32-S3 板变成 AirPlay 2 接收器,每个扬声器一块板,让 Apple TV 无需 AV 功放、中枢或扬声器线缆就能驱动无线 5.1/7.1 环绕声。每块板宣告支持 5.1/7.1,接收完整多声道流,只解码自己负责的声道并在两路输出上播放;同步依赖 Apple TV 的 PTP 时钟,板与板之间无需通信。
实际使用中有什么不同
不再是单台 AV 功放推动八个有线扬声器,而是给每块板刷同一份固件,再在网页里设置它的位置(前左、中置、低音、后右等),播放中也能修改。组建环绕组就是把这些板加入 Apple TV 的 AirPlay 分组;中置值得优先搭建,因为大部分对白由它承担。作者称一个 7.1 扬声器约占单核 31–34%,这是因为修改过的 Fraunhofer FDK AAC 解码器只合成所选声道 技术细节。
每个扬声器的要求
每个位置都需要一块 8 MB flash、8 MB PSRAM 的 ESP32-S3 板(N8R8);没有 PSRAM 或只有 2 MB 的板不能用,因为仅音频流缓冲就占 6 MB。还需要 I2S 功放(如 MAX98357A),或 I2S DAC(如 PCM5102A)加任意功放,一只 4–8 Ω 扬声器或高低音单元组合,以及合适的电源 所需材料。接线是五根 I2S 线,默认 GPIO 可在 menuconfig 中修改 接线。
5.1 用六块板,7.1 用八块,从两三块起步也可以 所需材料。环绕声必须由 Apple TV 发送;iPhone、iPad 和 Mac 只会向这些板发送立体声。网络必须是 2.4 GHz,且每块板都接收完整音频流,所以每个扬声器位置的信号质量都很重要。
安装与更新
固件按 Espressif 的安装指南用 ESP-IDF v6.0.2 构建 安装。首次通过 USB 烧录后,后续版本可通过板的网页进行 Wi-Fi 更新。初始设置可在手机或笔记本上完成:连接板子发出的 ESP32-AirPlay-Setup 热点,选择 Wi-Fi 网络,然后给板命名并选择扬声器位置 首次启动。
网页界面包括 EQ 与分频(每路输出最多 24 个 biquad 滤波器)、响度、输出延迟、固件更新和实时日志 设置。在 menuconfig 中设置 Web UI 管理密码后,固件更新、重启、Wi-Fi 和名称修改、延迟测试都要求用户 admin 和该密码 设置。
已知限制
项目是实验性的,只用一台 Apple TV 测试过;多声道只在 Apple TV 上出现过 限制。没有低音管理:低音炮位置只播放 LFE 声道,不包含其他扬声器的低频,所以前置扬声器需自行还原低音。音乐中后置和侧置声道往往几乎无声。7.1 的前置/侧置命名尚未通过听音测试确认。Mono mix 会解码所有声道,可能跟不上 7.1。44.1↔48 kHz 切换时 I2S 重新配置会有短暂静音。
许可
FDK AAC 组件是 Fraunhofer FDK 许可下的第三方修改库;该许可不授予专利权利,AAC 专利许可需另行取得 许可。仓库其余部分没有许可文件,因此除在 GitHub 上查看外未授予任何许可——若计划再分发或基于代码开发,这是重要限制。
本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。