STM32内部DAC播放WAV音频文件

2019-12-10 18:22发布

用STM32的DAC播放WAV,WAV文件放在SD卡中。现在已经能实现播放,在网上下的8位采样的声音文件播放完全没有问题,但是播放16位的文件时,因为DAC最高位数是12位,所以我读取数据后只取高12位送去DAC,但发现放出来的杂音非常大,很大的哒哒哒的背景声,我也尝试了取低12位播放,效果更糟。请问下有什么办法可以播放16位的文件么,或者可以用什么软件将16位的WAV转成12位以下的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
71条回答
why800
1楼-- · 2019-12-13 02:37
信我的没错,肯定可以搞定。原理就是先将数据平移到0点,然后放大到12bit,再平移回中间去。
solidsky
2楼-- · 2019-12-13 06:39
24楼的做法和直接将无符号数的8bit左移4位有区别么?那不是一样的么?
直接取高12位理论上应该是不会出问题的。19楼说的处理不过来倒是很有可能的。LZ可以试试在电脑上用这种算法重新生成一个WAV文件,然后在电脑上播一下,如果还有杂音,就是处理算法的问题,否则就是与电路有关的问题(性能问题可能性应该不小)。
solidsky
3楼-- · 2019-12-13 10:32
 精彩回答 2  元偷偷看……
fendouzhonga
4楼-- · 2019-12-13 10:49
正在学stm32中的DAC,有好多的不懂,
xingyunma
5楼-- · 2019-12-13 13:37
mark
flyingcys
6楼-- · 2019-12-13 13:41
mark

一周热门 更多>