|
这段时间在搞单片机音乐,也参考了一些原理,也写成功了,但是觉得有什么不对劲。一直在那里bibi的,好像不是我要的那种。
于是,我想到了音频解码。当然考虑到单片机的运行速度和存储空间,还有仿真软件的极限,音频解码的算法复杂度等等,决定做一个最简单的WAV音频解码,
这只是抛砖引玉。
还是单片机的运行速度和存储空间,所以选择WAV是8Kbps的,单声道文件,时间1分钟左右的。
我先后做了三个版本,最开始是单片机片外数据,可以完整的播放这个WAV文件,此时WAV数据全在片外存储器上,结果音质效果不好,一顿一顿的~~
我想会不会单片机运行速度不匹配。。。
于是我做了第二个版本,硬件片外数据。利用移位器,时钟来标准的读WAV数据,结果还是音质效果不好,一顿一顿的。。。我马上想到了电脑配置不行,
电路较复杂,同时刻在处理7个文件,明显CPU吃紧。
最好我做了单片机片内数据,将WAV数据直接烧到程序中,我仿真的最大单片机是80c58,也就32K的,对多播放4s时间,这也没办法啊。
结果效果好多了。。。
PS:文件中有一个“8KHZ-8bit-1channel-含头信息.bin”的文件,你可以将.bin改成.wav,是可以播放器播放的,为什么会这样?因为WAV编码太简单了~~~
对了,有兴趣的话,你可以去解码MP3试试,用arm或是avr,它们带DA等接口,效果会好些吧~~~
有兴趣可以研究下哦~~~呵呵~~
请多指教了~~~
点击此处下载 ourdev_666687AVL9C9.rar(文件大小:180K) (原文件名:单片机片内数据.rar) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|