OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2730|回复: 4

mp3软件解码内部dac输出

[复制链接]

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
153
金钱
153
注册时间
2016-3-22
在线时间
41 小时
发表于 2017-1-1 00:16:45 | 显示全部楼层 |阅读模式
由于做的板子wm8979被我焊坏了,但是又想要音乐的功能,于是想通过F4的综合例程MP3软件解码改过来。一直改到现在才解决问题。
主要有两个问题,一是pcm的数据都连续放在一起,但是一次是左声道一次右声道,由于我只有一个输出只要取奇数或偶数就行了,如果都输出话,在固定的频率下会放的变慢。
问题二,p[i]=((buf[i]+0x8000)>>4);这是将16位变为12位,右移四位是没有问题的,关键是+8000.在做nes的声音dac输出时要加+0x80(8位输出),一直没加,所以一直有一大堆噪音,然后参考论坛里那位写nes朋友帖子,知道要加0x8000,想了好一会终于明白其中的意思。意思大概是将原有的波形加载一段直流上通过电容渌波可以得到有正有负的声波。附上代码希望对大家有帮助。

Music.zip

88.62 KB, 下载次数: 224

MP3

MyCode.zip

86.37 KB, 下载次数: 213

dac timer

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2017-1-1 10:22:17 | 显示全部楼层
为分享奉献的精神点赞!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-1-1 19:14:18 | 显示全部楼层
不错,谢谢分享。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-6-17
在线时间
1 小时
发表于 2020-6-23 10:36:20 | 显示全部楼层
非常感谢,杂音噪声消除了
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-8-27
在线时间
2 小时
发表于 2024-1-20 16:01:32 | 显示全部楼层
这个在stm32F103上可以吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 12:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表