一直想用单片机来产生和弦音乐,不用太复杂,有和弦效果就行,但网上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 上传
点击文件名下载附件
是的,完全同意,此处不是用PWM播放WAV。但是发声的原理是一样的,就是用PWM对已经量化的声音数据进行还原,理论依据是香农采样定理(又称奈奎斯特采样定理):为了不失真地恢复模拟信号,采样频率应该不小于模拟信号频谱中最高频率的2倍。 我注意到你的硬件电路中使用了22MHz晶振,而STC12C5A60的PCA生成PWM的频率和其它80512芯片比较高,所以认为和那个AVR(使用Tiny85,Tiny861,内部有高频振荡器供PWM)有相似之处,就是采样(还原)频率较高,音质会比较好。根据使用的GPIO引脚功能和晶振,判断是PWM无疑。
这不是重点。
我听了你帖子里的音频,感觉和玩具(使用语音芯片的和弦功能)比较,并没有更好。只能说,实现多音频的和弦,比单音好听。
值得进一步分析的是:如何编辑出好听的音 {MOD}?
39楼 teddeng 的观点有启发。
一周热门 更多>