最早接触midi音乐是51的蜂鸣器音乐,音源单一(一般只有一个音轨),制作麻烦(乐谱要么抄别人的要么自己扒),
并且时间还短,要想放个牛X点的音乐还得弄很久,于是在一次偶然机会下了解到MIDI音乐文件,简直把我开心坏了。
网上找了一些MIDI文件结构的资料,网上一大堆,用一个stm32F407的核心板开始了MIDI音乐的探险之旅。
MIDI音乐包含多个音轨,多种乐器,目前不支持其他声音,只支持多音轨和通道的音符和力度解码,播放多路的音频,
打算后期做个声音曲线播放(将各种乐器一个周期声音重复DAC播放)或者做个电磁敲击的迷你架子鼓。
先上个最开始验证的效果视频,因为解码时间问题还有小毛病(这个验证没有采用Tick机制,而是单纯延时,后来的已经修复)。
我去,咋不支持视频文件,我没有上传视频到别的网站。转了个MP3听听(就是用几个蜂鸣器播放一个音轨内的钢琴音符)好吧也不会弄上来。。我传百度盘试试。。只有效果图了。
通道解码和音轨解码还有显示都在程序文件里面,还有一个自己做的表,等会压缩上传。。。。。
我也不太了解音乐,有什么错误帮忙改下,还有一些乐器不是很了解,比如什么9通道架子鼓。
架子鼓音符咋弄不懂。。。
如果有大神有更加优化的说下,我好用。。。。。程序包楼下。。。。 |