请教,stm32下做个混音程序,有什么可以参考

2019-12-11 18:19发布

两个WAV文件,一个做背景音乐,一个做信息播报。

想在有信息播报的时候,背景音乐不停下来,而是声音变小。

信息播报和北京语音混音,一起播出来。

想问有什么可以参考的吗??linux的声卡驱动??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
hameyou
1楼-- · 2019-12-11 18:32
要么用专用混音IC,要么用软件来实现!
lcw_swust
2楼-- · 2019-12-11 19:29
本帖最后由 lcw_swust 于 2016-7-18 12:18 编辑

WAV是由单片机直接读取吗?
那就完全可以软件实现呀:
(假设WAV为8位,以128为中点电平)
out=(ka*(DataA-128)+kb*(DataB-128))/(ka+kb)+128;
改变系数ka、kb即可

如果WAV与单片机无关,那就用数字电位器和加法器来做吧。
eiglxl
3楼-- · 2019-12-12 00:01
lcw_swust 发表于 2016-7-18 12:17
WAV是由单片机直接读取吗?
那就完全可以软件实现呀:
(假设WAV为8位,以128为中点电平)

高人啊!
请问下播放WAV时只改变音量怎么操作?
lcw_swust
4楼-- · 2019-12-12 04:18
eiglxl 发表于 2016-7-18 12:25
高人啊!
请问下播放WAV时只改变音量怎么操作?

是用软件实现吗?
out=ka*(DataA-128)/10+128;//ka=0~10(ka若>10音量也会变大,只是out可能超出范围,需对其加以限制)
eiglxl
5楼-- · 2019-12-12 09:53
 精彩回答 2  元偷偷看……
zenith1032
6楼-- · 2019-12-12 12:23
lcw_swust 发表于 2016-7-18 12:17
WAV是由单片机直接读取吗?
那就完全可以软件实现呀:
(假设WAV为8位,以128为中点电平)

嗯,是想用软件解决这个问题。
想用stm32 混音后,在I2S输出。
想问个,再深入点的问题。
如果两个WAV采样频率不一样,或者位宽不一样。又怎么搞呢?
很好奇,windows和linux怎么可以将这么多软件的声音混在一起输出的?
可以听歌,看电影,打游戏,都不会相互影响。

一周热门 更多>