从台式电脑到智能手机再到乐器,可以说计算机已经完全融入进了我们的生活。个人计算机都会自带一种处理数字和字母的语言,因此我们可以用它来做电子表格和写文字,但它们却没有用来制作音乐的语言,所以MIDI问世了。
MIDI比以往任何时候都更重要 - 你需要知道它能为你做些什么。
从台式电脑到智能手机再到乐器,可以说计算机已经完全融入进了我们的生活。个人计算机都会自带一种处理数字和字母的语言,因此我们可以用它来做电子表格和写文字,但它们却没有用来制作音乐的语言,所以MIDI问世了。
打个比方,如果我们要用计算机来打印字母的话,那么我们需要先在计算机的键盘上敲下这些字母,之后,一种被称为ASCII(美国信息交换标准代码)的计算机语言,会将与你键入的字母相对应的数据发送到你的计算机。这套标准化的代码表示的就是字母、数字和符号。 因为计算机使用的是ASCII语言,所以文字处理器可以让这些字母在屏幕上显示出来。并且,由于你的打印机使用的也是ASCII语言,所以计算机可以将文字处理器中的数据发送到打印机,因此打印机就能将你要打印的字母打印出来了。
MIDI(乐器数字接口)也是一种语言 - 它是一组代表音乐参数(如音高,动态,节奏等等 )的标准化代码。MIDI与我们上面提到的ASCII语言的工作原理类似:我们在兼容MIDI的键盘上弹奏音符后,键盘就会与我们弹奏的内容相对应的数据发送到计算机;之后,录音或记谱程序对这些音符进行识别,并将它们展示到屏幕上;然后,我们可以将MIDI数据从计算机发送到兼容 MIDI的
音频发生器(可以将其视为音乐打印机),再现我们最初在键盘上弹奏的内容。我们还可以通过将键盘直接连接到兼容MIDI的音频发生器来实时使用MIDI。
再次重申下:MIDI不是音频,而是数据。 MIDI本身不会发出任何声音,它是一种能够触发声音的计算机语言。它跟自动钢琴里的钢琴卷帘窗类似,钢琴卷帘窗本身也不能发出声音,它只会触动钢琴上的音符,钢琴则像是一个音频发生器一样,能够发出真实的声音。
MIDI的起源
每个超级英雄都会有个起源故事,MIDI也不例外。在80年代,合成器变得愈发便宜和受欢迎。但合成器都是带键盘的,虽然它能给舞台带来很好的视觉效果,但也会导致因为要做太多操作而在舞台上手忙脚乱的问题。为了避免这种浪费(和昂贵)的冗余, Dave Smith 和 Chet Wood于1981年向音频工程学会提交了一篇名为“通用合成器接口”的论文,这篇论文的内容就是我们今天的MIDI的基础。这个概念非常简单:我们可以用一个单独的主控键盘来生成与我们弹奏的内容相对应的数据;然后,这些数据会被馈送到能够解析它接收到的数据的音频发生器,从而产生与你弹奏的内容相对应的声音。此外,我们还可以同时触发多个音频发生器来将声音分层,并且,即使我们又购买了新的音频发生器,也无需更换键盘控制器。这种简化的舞台设置显着地降低了合成器的价格,并为音乐家开辟了新的可能性。
除了定义语言外,MIDI还需要有能够发送和接收MIDI数据的硬件,包括可以将MIDI控制器(如键盘)连接到MIDI音频发生器的特定规格的电缆。幸运的是,整个音乐行业都比较认可MIDI的优势,所以电子乐器生产厂家们就生产出了这种简单的硬件接口,只需要花费2美元就可以将其添加到键盘等设备上。制造商们认为,如果这种“新MIDI产品”获得成功,那么只花2美元是非常值的——如果没有成功,那也没什么损失。为了使系统之间的连接更加容易,MIDI被设计成“菊花链” - 换句话说,多个兼容MIDI的设备之间可相互连通,从一个设备输出的MIDI可以成为另一个设备的MIDI输入,并且这个设备的MIDI输出(或是MIDI thru,只是传递数据而不会对数据做任何更改)也可以转到另一个设备的MIDI输出,依此类推。
1983年,最初的MIDI标准被确定。在NAMM(全国音乐商业协会)贸易展上, Sequential Circuits和Roland对两个合成器交换MIDI数据进行了展示,MIDI开始正式进入大家的视野。它立马就获得了极大的关注,并且人们对它的关注热度一直不减。在一个厌倦了格式大战(如Beta vs VHS,Mac vs Windows,FireWire vs USB)的世界,MIDI脱颖而出 - 它代表的不仅是技术成就,更是代表了音乐产业有多新潮,以及当生产商为了客户的利益而共同努力时会产生的巨大的成果。从那时起,通过适应新的技术,它经受住了时间的考验,如使用USB来传输MIDI数据这项新技术的应用,让我们获得了控制大量设备的能力(如图1所示)。
图1:一个典型的MIDI设置。键盘控制器通过标准的MIDI电缆将MIDI数据发送到由MIDI控制的效果设备、桌面合成器,甚至是照明/雾化器控制器。它还通过USB将MIDI数据发送到了一台运行着兼容MIDI软件的电脑上。
但那是36年前的事了——MIDI一定过时了!
实际上,MIDI并没有过时。如下三点可以很好地认证这一点。
MIDI语言表达的是音乐参数,而这些参数并没有改变。人们仍然在演奏音符,音符仍然有音高,歌曲仍然有节奏,推弦音和颤音依然存在,动态控制依然是音乐的一个重要情感组成部分。除非人们停止演奏音乐,否则MIDI的这方面永远不会过时。
因为MIDI是一种语言,所以无论你使用什么技术都对它没啥影响。 MIDI数据可以通过硬件线缆,USB,Thunderbolt,网络上的数据流,甚至是Apple的闪电接口等进行传输(如图2所示)。而且,只要你运行的是一个兼容MIDI的程序,那么你所使用的操作系统也不会对MIDI数据有任何影响。
图2:Nektar的Panorama P6键盘控制器的后面板可通过5针DIN接口(右侧用橙色边框圈出的圆形插孔)或USB(左侧)发送MIDI数据。
由于MMA (MIDI制造商协会)和日本的AMEI(音乐电子工业协会)的密切
合作,促进了全行业的合作,使得MIDI标准得到了进一步发展。从那之后,MIDI甚至扩展到控制照明,触发烟火,为录音室提供自动化操作等等。 硬件MIDI乐器也发展成了能够安装在我们计算机中的基于软件的虚拟乐器。 生成MIDI数据的控制器不再局限于键盘,现在我们还可以使用MIDI鼓控制器,吉他控制器,管乐器控制器,音频MIDI转换器(硬件和软件,见图3)等来生成MIDI数据。
图3:即使是Celemony的Melodyne软件系列的入门版本Melodyne Essential,也可以将音频信号转换为MIDI数据。 在PreSonus Studio One中,Melodyne将吉他上演奏的低音线(标记为1的音轨)转换为MIDI数据,并将数据拖入乐器轨道(2)并在MIDI编辑器窗口(3)中打开,这样它就可以被转换成低八度并驱动低音合成器。
伴随着近期MIDI 2.0的发布, MIDI已经做好了进一步发展的准备。 但MIDI 2.0并没有抛弃MIDI 1.0 - 只是在其基础上进行了扩展。 现有的MIDI 1.0设备除了可以继续在MIDI 2.0环境中工作,还能获得一些新的功能。
语言本身
许多关于MIDI的文章都会提到比特与字节,但我们无需完全弄懂这些,正如我们不需要知道在计算机键盘上键入字母“A”时,组成字母“A”的代码是什么一样。MIDI语言涉及两个广泛的领域:音乐表现和同步。在本片文章中,我们先来了解一下音乐表现,至于同步,我们留到以后再探讨。
音乐表现MIDI数据的两种主要类型是音符和控制器。有些人可能会感到很困惑,因为“控制器”一词有两种不同的含义:A)控制声音发生器的设备(比如键盘),和B)一种特定类型的MIDI消息。为了能让大家更清楚的理解,在讨论MIDI数据时,我们会引用控制器消息或控制器编号两个概念。现在,我们先接着刚才的话题继续往下说…
音符数据表示的是在你弹奏一个音符时,当你释放这个音符时它的音高,以及你敲击这个键的力度(称为速率,对应于动态——也就是说,这个音符应该被演奏成多大声或多柔和)。速率测量动态的方法非常灵活。当你更用力地敲击键盘的琴键时,琴键由上向下移动到键槽的时间就会很短;当你更轻地敲击琴键时,琴键由上向下移动到键槽的时间就会更长一些。 通过测量按键从向上面移动到键槽(即,按下按键的速率)所需的时间,就能得出一个MIDI与该动态相对应的值。
一些键盘还带有能表明你释放琴键的速度有多快的释音速率。
控制器消息会根据一些performance-oriented的指令修改正在弹奏的声音。以下是一些能够生成控制器消息的非常常见的硬件设备。
弯音轮。大多数键盘控制器都有可用来调整音高的调整轮或控制杆(如图4所示),我们可以通过调整它们来改变音高,就像吉他手在音符之间拨动琴弦或小提琴手拉动琴弦一样。
图4:Arturia的KeyLab mkII键盘控制器,用橙色边框标出的就是调整轮,你可以通过旋转它们来改变音高(左)和进行调制(右)。
调制。这也是某种类型的调整轮(如图4所示)或控制杆。我们通常会用它来添加颤音,但也可以用它来打开或关闭滤波器、更改信号处理器的效果(如回波量)或影响其他一些参数。
压力(也称为触后感应)。某些键盘发送的数据是与应用于琴键的压力相对应的。 例如,你可以通过按下这个按键来调整音高或添加颤音。 压力数据可以代表所有按键的平均值,而更罕见的复音触后(如图5所示)可以为每个按下的音符生成单独的压力数据。
图5:CME的Xkey 37键移动键盘控制器结构紧凑,价格低廉,是为数不多的能够提供复音触后功能的键盘之一。
踏板。大多数控制器都有一个脚踏装置,你可以使用踏板来控制参数(通常是音量,但也可能是其他值)。
延音踏板。与踏板类似,延音踏板使用脚踏开关来控制延音,跟钢琴的延音踏板一样。
呼吸控制器。跟演奏管乐器一样,你可以向它吹气,来创建一个控制器信息的MIDI数据流。
控制条。这是一个长条型装置,手指沿着它移动就能发出控制器信息(如图6所示)。
图6:Native Instruments的Komplete Kontrol s系列键盘的弯音轮和调制轮下方的控制条。
但是,由于MIDI标准非常复杂,所以并非所有MIDI设备都能实现MIDI标准的所有方面。 例如,有些键盘可能不带有复音触后功能,而有些家用钢琴则可能没有调制轮。 大多数设备都会随附一个该设备所具备的MIDI控制功能图表,我们可以在图表中查询设备的所有MIDI控制功能。
想要更深入的了解MIDI,那么我们就要从数据处理说起,接下来,让我们来看看MIDI是如何组织这些数据的。
通道数量
当你弹奏了一个音符后,你可以选择通过16个MIDI通道中的任意一个发送它。这种可选择性有很多好处。假设你有一个能发出很棒的钢琴声音的音频发生器一个能发出美妙管弦乐声音的音频发生器,那么你可以将控制器设置为通过通道1进行传输,将钢琴和弦乐模块设置为通过通道1接收,这样你就能同时触发这两个音频发生器。如果你想在一些歌曲中加入些钢琴,在其他的一些歌曲中加入弦乐,那么将钢琴设置为通道1,将弦乐设置为通道2,然后根据你想听到的声音,来选择是通过键盘上的通道1还是通道2进行传输。
通道也是MIDI音序的重要组成部分。 这是将MIDI数据录制到计算机中的过程,跟多轨录音类似。 假设你想要录制数据来触发MIDI控制的鼓声,然后再录制些其他数据来触发MIDI控制的贝斯,最后再录制些数据来触发MIDI控制的钢琴音色模块。 如果没有通道区分的话,那么所有乐器会同时播放所有相同的音符。 但是,如果您在通道1上录制鼓,在通道2上录制贝斯,在通道3上录制钢琴,那么每个乐器就会只播放你为它指定的那个音符。 注意,不同的数字没有特定的含义——这些音符也可以在4、11和16频道录制。鼓声的默认通道值是通道10是唯一一个比较常见的通道分配,但这也不是一个硬性规定。
一些控制器还可以通过多个通道进行传输。例如,MIDI吉他控制器可以在能够让它通过自己的通道为每根琴弦发送数据的模式下运行。所以底部的两根弦可以发出低音,而上面的四根弦可以发出管风琴的声音。
通道对于可以同时播放许多不同的声音的多音色硬件和虚拟乐器来说也很重要 - 例如,能为歌手/词曲作者提供完整的背景音轨和多种乐器声音(如图7所示)。 这些都是能和MIDI音序器一起搭配使用的比较受欢迎的乐器,因为你可以将不同的数据通道录制到MIDI音序器中,将多音色乐器中的声音分配到相应的通道,并播放完整的作品。
图7:IK Multimedia的SampleTank 4可以同时播放16种不同的声音。 此处显示的是这八个声音对通过各自通道传入的MIDI数据做出的响应。
在建立MIDI标准时,16个通道似乎就足够了 - 毕竟,没有多少人可以买得起16太硬件合成器。 但是,随着时间的推移,人们想要使用更多的声音,想要使用通道来触发灯光以及音乐等等。具有多个MIDI端口的硬件接口应运而生,这种设备的每个接口可处理16个通道(如图8所示)。
图8:iConnectivity的iConnectMIDI4 +是适用于Mac,Windows和iOS的4端口MIDI接口(另一个接口位于前面板上)。 它能提供64个MIDI通道,可扩展以容纳更多接口,甚至可以成为计算机网络的一部分。
例如,具有四个接口的MIDI硬件接口可以通过16 x 4 = 64路通道发送数据。MIDI还衍生了一些附件,如 MIDI Merger(拥有不同控制器的乐手可以在一个声音发生器上同时使用这些控制器—参见图9)、MIDI分配器(用于将单个MIDI输入发送到多个MIDI输出)等等。
图9:MIDI解决方案中的Quadra Merge可以合并四个单独的MIDI流,并通过两个MIDI输出分配合并后的流。
匹配通道通常是使用MIDI时的第一步 - 你要确保控制器在与你想要听到的设备相同的通道上进行传输。 如果通道不匹配,那么你就听不到任何声音。
控制器消息编号
控制器消息也是和MIDI的通道相关联的,但由于你可以选择控制多个参数,所以这些消息还与128个各不相同的控制器消息中的其中之一相关联 — 毕竟,当你想要控制颤音的时候,你肯定不会想让你的音频发生器变得混乱和控制音量。 虽然控制器的数字分配并不是一成不变的,但有些数字也已经成为了大家约定俗成的标准默认值:如1表示调制,如颤音,7表示音量,4表示脚踏,64表示延音踏板等。弯音轮非常重要,所以它具有它自己的专用弯音信号。
与通道一样,控制器编号分配哪些用来传输数据,哪些用来接收数据来匹配以获得预期结果。 MIDI乐器和信号处理器将控制器编号与特定参数相关联。 其中一些分配是固定的, 例如,虚拟合成器可能将滤波器截止频率固定在控制器编号74处。因此,如果你要用踏板控制滤波器截止频率的话,则需要给踏板分配传输控制器74号的消息。 如果分配是固定的,则会有相应的文档说明哪些控制器消息影响哪些参数(如图10所示)。
图10:这是从Propellerhead Software’s Reason的控制器分配图中摘录的。例如,在控制Subtractor虚拟合成器时,MIDI控制器#14控制的滤波器包络的起音。
另外,合成器还可以允许你为任何控制器编号分配一个参数。因此,如果你想使用默认为控制器4的踏板来控制滤波器截止频率的话,那么你可以将滤波器截止频率参数赋值为4—如此一来踏板就能控制滤波器的截止频率了。
坚持住,让我们的生活更轻松!
制造商认识到,识别和分配控制器的整个过程可能令人生畏,所以他们采用了三种方法来简化这个过程。
MIDI学习。 这包括选择您想要控制的参数(例如,滤波器共振),并引导其进行“MIDI学习”。通常情况下,你可以通过右键单击希望与硬件控件关联的软件控件来使用虚拟工具调用它( 虽然这并不是标准 - 你可能需要按住Shift键,调出菜单或其他内容)。 一旦你选择了MIDI Learn,参数就会一直等待,直到你移动了你想要使用的硬件控制器(如调制轮或踏板等)。这就是它的全部 - 分配完成了(图11)。 你还可以选择“MIDI Forget”来取消分配参数。
图11:在MOTU的MX4虚拟乐器(也包含在Digital Performer中)中,LFO 1 Delay参数被设置为MIDI Learn。 显示(用橙色框标出部分)显示参数正在学习。 一旦触摸到所需的硬件控制,分配就学习完成。
MIDI映射。许多键盘控制器都带有推子,旋钮控件,开关和其他物理控制器,你可以将它们分配给DAW,合成器或效果处理器中的参数。 虽然你可以自己分配这些参数,但是为了简化问题,一些键盘控制器也会配备将硬件控制器映射(分配)到选定程序中的特定软件参数的模板。
到目前为止,MIDI映射最先进的版本是Native Instruments的NKS 2.0(Native Kontrol System)协议,可在其Komplete Kontrol键盘中找到。 它的最初是提供动手控制,主要使用触摸感应旋钮和八个按钮的预设,以控制Native Instruments合成器中的参数(特别是那些Komplete包中的参数)。 这些都是预先分配的,键盘的显示屏显示哪些旋钮控制了哪些参数,所以你无需知道MIDI或分配,就可以用旋钮和按钮来调整控件。 后来,该标准就对其他乐器和效果开发人员开放了,诸如Waves,Arturia和Applied Acoustic Systems等使用的都是这个标准(如图12所示)。
图12:来自Applied Acoustics Systems的兼容NKS的Chromaphone被加载到Komplete Kontrol主机软件中(以及Waves的Abbey Road Plates效果和IK Multimedia的TR5 Tape Echo插件)。 之后,你可以通过Komplete Kontrol键盘的旋钮和按钮编辑这些插件的参数。
使用Komplete Kontrol系统,我们可以将Komplete Kontrol插件主机加载到计算机的录制软件中,该主机可以显示所有可用的兼容NKS的插件。 我们可以使用屏幕上的用户界面或硬件Komplete Kontrol键盘将插件加载到Komplete Kontrol中。 加载完成后,我们就可以用键盘控制参数了。
请注意,Komplete Kontrol键盘也是通用MIDI控制器,但只有与NKS兼容的插件一起使用时,它们才能真正发挥自身的作用。
使MIDI变得通俗易懂。
PreSonus Studio One会使用其Control Link系统,通过拖放来进行分配。 但在此之前,你要先在图形中定义你要使用的硬件控制器(也就是它的旋钮和开关)。 然后,在将软件参数分配给硬件控件时,单击该参数,它的名称就会显示在窗口中,然后将其名称拖动到你要控制参数的硬件旋钮上即可。
总结
在本篇文章中,我们为大家介绍一些关于MIDI语言的基础知识,以及如何使用MIDI语言在MIDI设备(无论是硬件还是软件)之间交换信息, 然而,MIDI的故事远不止于此 - 我们将来会今后的文章中再跟大家进一步探讨。