杰理蓝牙PCM混音方法

前段时间客户给我们一个项目,要求播放一段语音,语音必须混合在蓝牙音频之中播放出来。

据我所知,杰理的所有蓝牙的音频播放(除了按键音)都是阻塞播放,没有什么特别好的方法实现混音。

依据按键音播放方式,我们预先录制好PCM语音数据保存在flash中,需要播放的时候在dac中断dac_isr_callback

中使用一些pcm合并方法直接pcm数据合并,如叠加法,归一法等。我使用的是归一法合并,效果还是不错的。

这里我们也遇到了一些问题,比如,我们预先录制保存在flash中的pcm数据是44.1Khz采样率的,在蓝牙状态下,dac

出来的数据也是44.1khz,这个可以直接合并,但是在tf卡或者U盘状态,播放的歌曲并不一定是44.1Khz采样率,所以并不能直接合并否则会出现变音的情况。要在这种情况下混音播放,只能是对44.1KHZ的语音PCM数据进行重采样,因为杰理这个鬼平台,没有找到什么好的重采样算法,大多数都是linux平台的,或者是rtos平台但是不开源的,没有想到什么好的办法在读卡读U盘情况下进行混音,所以客户直接去掉了这个功能,只在蓝牙状态下播放。大侠们有什么好的办法混合音频播放,或者在杰理蓝牙平台进行PCM重采样算法?欢迎加我一起讨论

你可能感兴趣的:(蓝牙音频)