【python脚本系列】Midi数字化乐器接口

【python脚本系列】Midi数字化乐器接口

      Hallo大家好~~我是Lampard猿奋

      最近接到一个好玩的需求,需要制作一个有点类似于“节奏大师”的音游玩法。不知道大家有没有玩过这个游戏,想当初博主可是4key之王,所有难度的曲目都不在话下。然后官方就出了5Key,6Key......看着B站那些十指操作的大神,不禁发出一句C语言

      AnyWay,能够接到这个需求真的是爷青回。而实现功能的第一步,就是把一首歌曲转化成为我们看得懂的代码,此时就要引出今天的主角Midi

(一)什么是Midi

      MIDI是英语Music Instrument Digital Interface的缩写,翻译过来就是"数字化乐器接口" 。它是一组代表音乐参数(如音高,动态,节奏等等 )的标准化代码,是音乐与计算机之间交互的语言,可称为“计算机能理解的乐谱

(二)Midi的起源

      七零年代末电脑音乐迎来了第一个真正的繁荣时期,同时也迎来了一个难以解决的问题:那就是各种电子乐器之间的通讯问题。各生产厂家都按照自己的规格生产电子乐器,当您单独使用某一厂家的产品时,您还不会遇到什么问题,可是当您同时使用几家公司的设备构成一个电脑音乐系统的时候,麻烦就来了,您怎么能使一台美国E-MU的音源发出您在日本ROLAND键盘上弹奏的一个标准A呢?

      为了解决这个问题,戴夫·史密斯Dave Smith(现在美国合成器品牌Sequential的CEO及创始人)在1981年向音频工程学会提交了一篇关于“通用合成器接口”的论文      

       1982年,国际乐器制造者协会的十几家厂商(其中主要是美国和日本的厂商)会聚一堂,各抒己见。会议通过了美国Sequential Circuits公司的戴夫·史密斯Dave Smith提出的“通用合成器接口”的方案,并改名为“音乐设备数字接口”,缩写为MIDI      

      1983年,MIDI协议1.0版正式制定出来。此后,所有的商业用电子乐器的背后都出现了几个五孔的MIDI插座,乐器之间不再存在“语言障碍”,它们同装上MIDI接口的电脑一起,构成了一个更加繁荣昌盛的电脑音乐大家庭,以上就是Midi的起源历史

(三)Midi的交互原理

      上文谈及了Midi出现的时间和原因,各种厂商都会在其乐器上提供Midi的接口。那么数据究竟是如何通过Midi进行交互呢?

(1)输入设备

      为了符合人们的原有演奏习惯,人们制造了许多基于传统乐器的MIDI输入设备,如MIDI键盘,MIDI吉他,MIDI吹管,MIDI小提琴等,人们可以按照演奏传统乐器的方法去演奏它们,而演奏的内容则会通过MIDI OUT出口(上图),传送到音序器记录为音讯内容

(2)音序器

      音序器的任务是记录下人的旨意,实际就是记录了音乐的基本要素:速度,节奏,音色,音符的时值等,这样在播放的过程中,音序器就会根据其内容只会播放设备在什么时候用什么音色发多长的音,这样就能听到完整的歌曲了

(3)音源

      音源实际就是输出设备,一个装了很多音色的东西,比如我们的电脑也可以是其中一种音源。它可以听从音序器的指令进行播放,从演奏录入,到音源输出,midi的交互过程实际就是如此

(四)Midi协议实现原理Todo

      今天先做一个对Midi的简要介绍,我们知道了音序器就是制作midi的关键,明天我们接着更新midi协议的实现原理

      感谢阅读,点赞,关注!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值