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条回答
rom
1楼-- · 2019-12-17 05:38
电脑软件处理的浮点啊,而且还有有符号和无符号的差别,直接移位是不行的。
zyw19987
2楼-- · 2019-12-17 07:13
 精彩回答 2  元偷偷看……
yyinfo263
3楼-- · 2019-12-17 12:39
一直想做个wav播放器出来 对stm32还是刚入门 只有慢慢学习 一步一步来了
why800
4楼-- · 2019-12-17 15:47
zyw19987 发表于 2013-11-14 20:13
呵呵不错,和我理解的一样,
25楼有真相!
不愿意试的可以用UE打开一个8bit的静音WAV文件,绝对能看到大 ...

谢谢,估计就你一个看懂了我说的意思了。这都是发生在几年前的事情了。
armsyx
5楼-- · 2019-12-17 20:18
int16 buffer1[];
我的16位转12位的       
buffer1[i]/=16;   //波形压缩16倍
buffer1[i]+=1024; //波形上移
我的播放时候没有杂音。停止播放时候有点杂音正在研究中
TrulyZhu
6楼-- · 2019-12-18 00:21
原来是按无符号表示的

一周热门 更多>