【应用方案】音频应用

从传统蓝牙音箱、车载多媒体中控,到新一代 LE Audio 耳机、助听器与广播音频接收终端,音频正在从“能播放”走向“高音质、低延迟、多设备同步、双向交互”。ESP32-S31 面向这一趋势,在经典蓝牙、LE Audio 与系统集成能力上进行了增强,可帮助开发者用一颗芯片覆盖更多音频产品形态。

基于 ESP32-S31 的蓝牙音频 Demo 展示了其应用能力:经典蓝牙 A2DP 音乐播放、HFP 双向通话、AVRCP 播放控制与媒体信息获取,以及 LE Audio 单播、广播和双设备同步播放等场景。



实测 S31 跑 Audio Demo 的表现!


音频应用亮点

广播放歌.gif


LE Audio 广播音频接收演示


双模蓝牙音频

相较于仅支持 BLE 的 ESP32-S3,ESP32-S31 实现了双模蓝牙 (Classic BT + BLE 5.4) 的全面支持,极大地扩展了芯片的音频生态适配能力,并提供了更强大的本地音频编解码性能。


经典蓝牙音频 (BR/EDR)

ESP32-S31 原生支持经典蓝牙音频生态,覆盖 A2DP 音乐流、AVRCP 媒体控制与 HFP 免提通话,可对接已有的海量成熟手机、PC 及车载多媒体中控系统

在解码性能上,ESP32-S31 搭载了 320 MHz CPU,并集成了 128 位宽数据通路与 SIMD 矢量指令集加速,这使得运行 AAC、SBC 等 高品质音频解码 时的 CPU 占用率控制在极低的个位数级别


LE Audio (BLE 5.4)

ESP32-S31 支持 BLE 5.4,其 LE Audio 功能支持基于 CIS 的单播音频与 BIS 的音频分发,适用于 TWS 耳机、智能助听器、多房间同步广播 (Auracast) 等新型音频产品。

作为 LE Audio 的核心,LC3 编解码器能以传统 SBC 减半的码率提供更出色的音质。得益于 RISC-V SIMD 矢量指令加速,LC3 编解码在 ESP32-S31 上的 CPU 开销微乎其微,为回声消除 (AEC) 和语音降噪 (NS) 等高级声学算法释放了富余的算力。


统一的 Bluetooth Audio 应用接口

esp_bt_audio 组件为 蓝牙音频应用提供统一封装,可管理经典蓝牙与 LE Audio 相关角色,并通过统一事件机制向应用层上报连接状态、音频流状态、播放控制、音量和通话状态等信息。


硬件 ASRC

在音频开发中,由于不同音频源的采样率不同,系统采样率在不同业务场景间需要频繁变动。ESP32-S31 集成专用音频采样率转换器 (ASRC),可 通过硬件方式完成不同采样率音频流之间的转换,并结合 DMA 提升音频数据搬运效率。


CPU-Loading 对比

指标ESP32-S31 硬件 ASRCESP32-S3 软件 SRC对比
平均 CPU-Loading0.79%2.35%S31 约为 S3 的 33%
最大 CPU-Loading1.86%14.17%S31 峰值约为 S3 的 13%

总内存消耗对比

指标ESP32-S31 硬件 ASRCESP32-S3 软件 SRC对比
平均总内存消耗539 B19400 BS31 约为 S3 的 2.8%
最大总内存消耗672 B87000 BS31 峰值明显更低

ESP32-S31 的硬件 ASRC 相比 ESP32-S3 软件 SRC,CPU-Loading 和总内存消耗都明显更低。ESP32-S31 在 100 个测试组合中的 CPU 峰值低于 2%,总内存峰值低于 1 KB。


典型应用场景

ESP32-S31 将经典蓝牙音频、LE Audio、硬件 ASRC、I2S 音频接口和统一蓝牙音频软件组件结合在一起,为开发者提供了完整的音频应用基础。对于需要兼容现有手机蓝牙生态的产品,它可以快速实现 A2DP 播放、AVRCP 控制和 HFP 通话;对于面向下一代蓝牙音频的产品,它又能 进一步支持 LE Audio 单播、广播和多设备同步播放

接下来,我们将通过几个典型应用场景,进一步展示 ESP32-S31 的音频应用能力。


经典蓝牙多媒体中控

该 Demo 基于 ESP32-S31 构建一个多媒体交互终端,将 经典蓝牙音频、通话控制和屏幕 UI 渲染结合在一起。用户通过手机蓝牙连接设备后,可以播放音乐、查看歌曲信息和专辑封面、进行免提通话,并在屏幕端完成基础交互。


A2DP 音乐播放

ESP32-S31 可作为 A2DP Sink 接收手机或 PC 推送的蓝牙音乐流,并通过板载或外接音频 Codec 输出到扬声器。


手机放歌.gif


专辑封面与歌词信息

在多媒体中控场景中,ESP32-S31 不仅负责音频播放,也可以承载更完整的用户界面。Demo 支持接收并显示手机侧传递的媒体信息,例如歌曲元数据、歌词和专辑封面,使小型嵌入式设备具备接近消费电子终端的交互体验。


获取歌词.gif


音乐控制

通过 AVRCP 协议,ESP32-S31 不仅是被动的音频接收设备,更能作为独立的蓝牙多媒体控制终端实现双向音乐控制。

用户无需操作手机,通过设备端的屏幕 UI,如上一首、播放/暂停、下一首 等入口,即可控制手机音乐 App 的播放状态,且该控制状态会在两端实时同步,例如在设备端点击暂停,手机侧会同步暂停,同时设备屏幕上的按钮状态也会随之更新。


S31 切歌.gif


S31 暂停.gif


音量控制同样可以与手机侧联动。用户在手机端调节系统媒体音量后,ESP32-S31 可接收音量变化并更新本地播放输出,使音量调节、播放状态和歌曲信息在手机与设备之间保持一致,提升带屏蓝牙音频产品的交互完整性。


音量调节.gif


HFP 双向免提通话

当手机来电或发起通话时,ESP32-S31 可通过 HFP Hands-Free 角色接入通话,将下行语音输出到扬声器,并通过外接麦克风采集上行语音。在上行链路中,ESP32-S31 能够凭借其 320 MHz 的 CPU 算力实时运行回声消除 (AEC) 算法,确保即使在 免提模式下,也能向通话对端传递 清晰、无回声的上行语音。结合屏幕 UI,设备可以展示通话状态,并支持拨号、接听和挂断等操作。

在手机侧发起通话后,用户可以将通话音频切换到 ESP32-S31,设备端同步显示通话界面,并接管免提播放与麦克风采集。该能力适合带屏蓝牙音箱、车载中控、桌面会议终端等需要“手机连接 + 本地免提”的产品形态。


手机打电话.gif


ESP32-S31 也可以作为主动拨号入口。Demo 在设备屏幕上提供数字拨号盘,用户可直接在设备端输入号码并发起呼叫,手机侧同步进入拨号/通话流程,使 ESP32-S31 从音频外设进一步扩展为蓝牙电话控制终端。


S31 打电话.gif


通话过程中,ESP32-S31 可实时显示通话状态,并支持设备端一键挂断


S31 挂断.gif


LE Audio 多设备同步播放

LE Audio 的价值不仅在于低功耗和新编解码能力,更在于它面向多设备音频分发与同步播放的体系化设计。ESP32-S31 可用于构建 LE Audio 单播接收端、广播接收端,以及左右声道分离的同步播放设备。


单播音频:面向 TWS 与助听器

基于 CIS 的 LE Audio 单播适合点对点或多设备的低延迟音频连接。对于 TWS 耳机和智能助听器,左右两个 ESP32-S31 设备可以分别接收对应音频流,并依靠 LE Audio 的时序机制和本地音频输出链路完成同步播放


单播放歌.gif


单播连接.gif


广播音频:面向共享收听与空间音频分发

基于 Auracast 的 LE Audio 广播适合“一发多收”的音频分发。一个音频源可以向多个 ESP32-S31 接收设备广播音频流,接收端无需传统配对即可加入广播音频,适合展厅讲解、会议同传、公共电视收听、多房间同步播放等场景。


广播放歌.gif


多设备音频控制同步

在 LE Audio 场景中,ESP32-S31 实现了多设备音频控制的实时同步:手机播放音乐时,歌名可同步显示在 ESP32-S31 设备屏幕上;用户可通过 ESP32-S31 终端直接控制切歌与暂停;此外,在手机端调节音量时,音量状态也会实时同步至 ESP32-S31。


单播暂停.gif

调音量.gif

切歌.gif


多设备播放同步

下图展示 LE Audio 两个设备播放同步。测试中观察短促周期性脉冲提示音频在左右设备输出端的波形对齐情况,可用于评估多设备播放时的起播一致性和长时间同步稳定性

短促提示音同步测试 中,左右两路波形起始位置基本对齐,说明两个接收设备可以在同一音频事件上保持一致的播放时序。


lr_sync_1_bip.png


左右两路音频脉冲在 整个观察窗口内持续保持对齐,体现了 ESP32-S31 在 LE Audio 多设备同步播放场景中的稳定性。


lr_sync_12s.png


开源资源

esp_bt_audio:https://components.espressif.com/components/espressif/esp_bt_audio/versions/0.8.2/readme
esp-gmf:https://github.com/espressif/esp-gmf