用51实现的真正和弦音乐

2020-01-12 17:21发布

一直想用单片机来产生和弦音乐,不用太复杂,有和弦效果就行,但网上100%的单片机产生音乐都是假和弦,基本都是单调的7个调加上时间控制,难听。
直到我听到这个:

隐形的翅膀.rar (2.56 MB, 下载次数: 1237) 2015-6-24 14:47 上传 点击文件名下载附件
金属弦效果,很接近吉他音 {MOD}.rar (2.61 MB, 下载次数: 868) 2015-6-24 14:49 上传 点击文件名下载附件

这个是真的和弦,效果非常好,无奈联系不上作者,只有HEX文件,用的STC12C5A60S2单片机。我自行下载测试也是和录音的相同效果。
STC12C5A系统自行反编译明显出错,只好花钱网上找人反编译,反编译出的汇编代码编译出来的和原来的HEX文件效果一致,到这一步已经有希望了。

但问题来了....我已经忘记汇编了,寄存器一多就乱,只好花了些时间把数组提取出来,放上论坛,有精力的莫友可以一起帮把汇率转成C的。
汇率代码不多,就只有100行左右寄存器多的我看不过来。
能转成C语言也是一件好事,毕竟这是目前的最好效果了。
MIDI.rar (108.34 KB, 下载次数: 524) 2015-6-24 14:55 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
bangbangji
1楼-- · 2020-01-16 11:29
很多年以前,咋坛子里有一个类似的帖子,是有c语言源码的。电路比这还简单,输出直接pwm无滤波。我还修改到avr上玩过。
你搜搜“和弦”,可能还能搜到。
xiaoxu191
2楼-- · 2020-01-16 15:05
本帖最后由 xiaoxu191 于 2015-6-24 22:19 编辑

AVR PWM 和弦产生器的来源是这个:
255-Voice PCM Sound Generator

u123321
3楼-- · 2020-01-16 15:48
 精彩回答 2  元偷偷看……
xiaoxu191
4楼-- · 2020-01-16 18:03
和这个使用STC12C5A60S2 相同之处在于,STC这款通过PCA实现的PWM,也有较高的频率,因此声音会好听一些。一般的AVR时钟频率不够高,所以音质差一些。

还有这个:
Simple SD Audio Player with an 8-pin IC
xiaoxu191
5楼-- · 2020-01-16 23:42

当然AVR 的官方文档也说了:
AVR131: Using the AVR’s High-speed PWM
amazing030
6楼-- · 2020-01-17 04:59
xiaoxu191 发表于 2015-6-24 22:16
和这个使用STC12C5A60S2 相同之处在于,STC这款通过PCA实现的PWM,也有较高的频率,因此声音会好听一些。一 ...

不,不是PWM播放WAV方式的,你看数据大小就知道了,播放WAV的话你存储空间够吗? 8K的采样率单片机那种存储你能播放多久?

一周热门 更多>