mp3软件解码内部dac输出

2019-10-15 20:26发布

由于做的板子wm8979被我焊坏了,但是又想要音乐的功能,于是想通过F4的综合例程MP3软件解码改过来。一直改到现在才解决问题。
主要有两个问题,一是pcm的数据都连续放在一起,但是一次是左声道一次右声道,由于我只有一个输出只要取奇数或偶数就行了,如果都输出话,在固定的频率下会放的变慢。
问题二,p[i]=((buf[i]+0x8000)>>4);这是将16位变为12位,右移四位是没有问题的,关键是+8000.在做nes的声音dac输出时要加+0x80(8位输出),一直没加,所以一直有一大堆噪音,然后参考论坛里那位写nes朋友帖子,知道要加0x8000,想了好一会终于明白其中的意思。意思大概是将原有的波形加载一段直流上通过电容渌波可以得到有正有负的声波。附上代码希望对大家有帮助。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。