我在ESP32S31开发板上做了一个AI对话的例子,然后想通过蓝牙耳机来进行对话,结果尝试了很多次,蓝牙能够连接,但是对话和在蓝牙耳机中听TTS的语音,声音质量都非常的差,后面查了一下,应该是ESP32-S31的BT控制器(Orca)在 WiFi 活跃时无法维持 SCO TX,日志中 OLC: C:0 sched failed 来自 BT 控制器固件底层调度器——它这里显示的应该不是我们的配置问题,而是射频争抢。TTS 数据通过 WiFi 接收时,射频被占用,SCO 包完全发不出去。对于这个问题怎么解决呢?
我看了一些解决方案,说是将经典蓝牙升级为 BLE 5.4 LE Audio(协议降维)如果你的耳机本身支持 5.4 双模,强烈建议放弃经典蓝牙的 SCO,改走 LE Audio (CIS 单播音频流)。为什么有效:经典蓝牙的 SCO 协议非常古老且死板(时隙几乎焊死)。而 LE Audio 的 LC3 编码 允许极高的配置弹性(可以调整 ISO Interval、SDU Interval 以及重传次数)。在 ESP-IDF v6.0 中,共存管理器(Coex)对 LE Audio 与 Wi-Fi 6 之间的时隙协调做了极其深度且原生的硬件级优化(支持更智能的时分重叠规避)。
麻烦帮我看看这个问题要怎么解决,有没有参考的代码或者方法呢?谢谢
ESP32S31开发板蓝牙实时音频的问题
Moderator: bongjiajun
Re: ESP32S31开发板蓝牙实时音频的问题
这几天一直围绕 ESP32-S31 在“Wi-Fi 流式传输”与“经典蓝牙 SCO 语音下行”同时运行时出现的声音电音、失真及无声问题 进行了非常深度且硬核的底层技术复盘,核心的病因应该是单射频架构的“物理死穴”,试了很多种方法,都无法解决,放弃这个问题了,以为可以省一个蓝牙芯片,现在看来要向实现蓝牙实时音频,这个蓝牙芯片还是必不可少了。
Re: ESP32S31开发板蓝牙实时音频的问题
Hi rianMai
S31 在 Wi-Fi 和蓝牙共存时候的带宽是满足 CD 音质传输的。
您反馈的问题方便提供:复现工程和对应的 IDF commit,我们来分析一下。
S31 在 Wi-Fi 和蓝牙共存时候的带宽是满足 CD 音质传输的。
您反馈的问题方便提供:复现工程和对应的 IDF commit,我们来分析一下。
Who is online
Users browsing this forum: No registered users and 1 guest