求助,CSR8670在官方source代码的基础上增加voice_prompts
大致就是CSR8670做为主机,连接蓝牙耳机。通过串口接收命令,播放提示音,类似“支付宝到账xxx元” 这样的提示音。现在source 可以连接音箱了,就是不知道如何添加voice_prompts功能,有偿求教[帮提供有效帮助者 充话费]。
source的声音是本地播放,还是传送给蓝牙音箱?? 希望DAC输出播放,同时将音频数据发给蓝牙音箱播放 现在还有一个方案是再增加一个语音芯片,播放到CSR8670的ADC输入。 这是目前能快速实现的
但是,
1. 成本增加,音质无保证
2. 有点脱裤子放屁。本身CSR8670 是可以做这个事的。 52bluetooth 发表于 2020-2-28 17:47
source的声音是本地播放,还是传送给蓝牙音箱??
我查到,需要用到csr_voice_prompts_plugin 这个库,但是不清楚,这些库如何调用。
如何将这些音频数据插到蓝牙数据流里面。。。 龙南 发表于 2020-2-28 09:57
希望DAC输出播放,同时将音频数据发给蓝牙音箱播放
听描述是可以修改DSP实现的,8670做发射器,比如aux输入的声音通过8670本地播放,同时也传输到接收端?
是这个需求吗? 52bluetooth 发表于 2020-2-29 10:41
听描述是可以修改DSP实现的,8670做发射器,比如aux输入的声音通过8670本地播放,同时也传输到接收端?
...
不准确,由于声音是固定的几个,把它采集好放到芯片的flash内部,在需要播放时,将这些声音数据读出来,输出到DAC直驱耳机,同时通过source发射给蓝牙音箱端做同步播放。在不播放时,两者做静音状态。
voice_prompts 完成的就是将声音资源存储和管理 到播放的功能。
通过阅读文档,需要做DSP数据的输入输出配置。原理大致是,将voice_prompts 输出连接到DSP,DSP输出连接到DAC,同时这个数据流又传给蓝牙?
现在不知道在VM DSP库的基础上,如何用代码实现
龙南 发表于 2020-2-29 10:50
不准确,由于声音是固定的几个,把它采集好放到芯片的flash内部,在需要播放时,将这些声音数据读出来, ...
这种需求,不一定要改DSP,如果你希望混音播放提示音(播放提示音时同时播放音乐声音出来)那是要改DSP,这种做法估计没人愿意这样给你搞,因为太麻烦了。如果是非混音播放提示音(即播放提示音时音乐停下来,播放完后再恢复音乐)这种做法只要改LIB层代码即可实现。大体是先把提示音代码从sink中移殖过来,播放提示音时,把提示音数据同时streamconnect到喇叭和audio sink就行,播放完再把aux的audio 连接回去,大体思路是这样,剩下的就看你自己慢慢优化调试。反正这类的定制需求比较麻烦,钱少会弄也懒得花时间去弄,因为调试测试很花时间,高级工程师的时间成本又高,经验不足的又玩不来。你也不用想着别人一两句话就可以帮你搞定,没有个5六年高通蓝牙经验就不用想了。 zhaopeng2511 发表于 2020-3-2 10:46
这种需求,不一定要改DSP,如果你希望混音播放提示音(播放提示音时同时播放音乐声音出来)那是要改DSP, ...
首先,感谢你的回复。
目前我大致读懂了voice_prompts的机制。下一步我将自己的语音文件打包到imge里,然后在程序中读取这些文件抛给DSP。当前还有一个节点没有查清楚,就是数据流如何connect到蓝牙这头。
最简单的,可能还是找出mic的ADC缓冲区,将缓冲区的数据人为的篡改成提示音PCM数据。
这部分还在研究中, 我也在搞这个,没有头绪
页:
[1]