首页 >> 大全

STM32学习100步之第三十二步——MIDI音乐程序

2023-07-22 大全 68 作者:考证青年

什么是MIDI音乐

MIDI音乐的产生原理

编写MIDI音乐

代码解读

什么是MIDI音乐

HIDI( )乐器数字接口

是20世纪80年代初为解决电声乐器之间的通信问题而提出的。

MIDI是编曲界最为广泛的音乐标准格式,可称为“计算机能理解的乐谱”。

它用音符的数字控制信号来记录音乐。一首完整的MIDI音乐只有几十KB大,

而能包含数十条音乐轨道。几乎所有的现代音乐都是用MIDI加上音色库来制作合成的。MIDI传输的不是音乐信号,而是音符、控制参数等指令,它指示MIDI设备要做什么,怎么做,如演奏哪个音符,多大音量等、。它们被统一表示成MIDI消息。

传输时采用异步串行通信,标准通信波特率32.25×(1±0.01)Kbaud。

MIDI音乐的产生原理

MIDI音乐的产生的原理和上一节蜂鸣器发声的原理相同,都是让单片机控制蜂鸣器的端口产生高低变化的方波,来产生一定的频率周期,通过频率周期的改变发出不同音调的声音和改变周期的数量来改变声音的长短,把不同频率的声音组合在一起,就组成了声音的长短。

编写MIDI音乐

如果要编写某个MIDI音乐,我们需要找到该音乐的音乐简谱,把简谱上的每一个音符转换为相应的频率,再根据每一个音符的节拍,来控制该音符发出时间的长短,然后让单片机按照声音的顺序以此播放(依次输出高低电平,控制方波),如此便放出相应的MIDI音乐了。

相应程序的大致思路如下:

通常音符转换为的频率存放在数组中,以及该频率的音符执行时间的长短均放在数组中,二者相邻,然后对数组进行操作即可

利用双重循环:

第一个循环代表有多少个音符需要播放。

第二个循环代表该音符需要执行时间的长短

例子如下(出自洋桃电子)

uc16 music1[78]={ //音乐1的数据表(奇数是音调,偶数是长度)
330,750,
440,375,
494,375,
523,750,
587,375,
659,375,
587,750,
494,375,
392,375,
440,1500,
330,750,
440,375,
494,375,
523,750,
587,375,
659,375,
587,750,
494,375,
392,375,
784,1500,
659,750,
698,375,
784,375,
880,750,
784,375,
698,375,
659,750,
587,750,
659,750,
523,375,
494,375,
440,750,
440,375,
494,375,
523,750,
523,750,
494,750,
392,750,
440,3000
};void MIDI_PLAY(void){ //MIDI音乐u16 i,e;for(i=0;i<39;i++){for(e=0;e

代码解读如下:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了