MIDI全名Musical Instrument Digital
接口,
中文译名“乐器数字接口”是早期为了满足
电子乐器之间交换信息的需求而制定的一种数字化接口标准。它最早是由戴维·史密斯和切特·伍德在1981年提出的,随后由MIDI生产商协会(MIDI Manufacturers Association)在1983年制定并推出。MIDI标准是
美国、日本电子乐器协会经过再三协商制定的,随后推广到各国成为国际标准 。
MIDI定义的数字音乐可以把声音记录为数字方式,并用八位
字节存放一个声音单元。MIDI就是包括硬件的接口、声音的数字描述以及通讯的标准等。MIDI信息实际上是一段音乐的描述,当MIDI信息通过一个音乐或声音合成器进行播放时,该合成器对一系列的MIDI信息进行解释,然后产生出相应的一段音乐或声音。MIDI能提供详细描述乐谱的协议(音符、音调、使用什么乐器等)。
MIDI协议广泛应用于音乐、电影、电视剧、电视文艺晚会、
广播剧、广播电视广告等领域。在电视晚会上,可以利用MIDI功能辅助音乐的创作和演奏。采用MIDI技术后,省去了许多人力、财力、时间,提高了工作效率。
历史发展
问世
在20世纪80年代早期,随着数字音乐合成器的生产数量激增,不同厂家生产的设备之间的
兼容性成为一个重要问题。由于每个厂家的合成器内部设计规范不同,音乐家在尝试组装拥有不同设备的网络时面临困难。为了解决这个问题,一些技术制造商决定合作,致力于开发一个统一的乐器数字接口。
1981年,戴维·史密斯和切特·伍德在美国第70届音频工程协会会议上提出了“数字乐器互连标准”。1982年正式改名为MIDI(Musical Instrument Digital
接口),即乐器数字接口。
1983年,MIDI制造商协会(MIDI Manufacturers Association)发布了MIDI(Musical Instrument Digital Interface)标准,它确立了一套
电子乐器与
计算机之间连接和通信的统一规范。第一件MIDI乐器于1983年初投放市场。同年8月份,
日本与美国合成器制造厂商联盟公布了MIDI1.0版本的规范。
发展
1985年11月,国际乐器制造者协会公布了《MIDI1.0版的细节规定》,为MIDI的推广打下坚实基础。
1991年,为了更有利于音乐家广泛地使用不同的合成器设备和促进MIDI文件的交流,国际MIDI生产者协会(MMA)制定了通用MIDI标准——GM,该标准是以日本Roland公司的通用合成器GS标准为基础而制订的。GM标准的提出得到了Windows操作系统的支持,使得数字音乐设备之间的信息交流变得简化。
1994年YAMAHA公司推出了自己的
音源标准XG(
X波段 General MIDI)。XG在兼容GM的基础上进行了大幅度的扩展,提供了更丰富的音色选择和编辑功能。XG标准包含了至少480种音色,并支持使用音色库号进行进一步的扩充,这使得音乐家可以在创作过程中拥有更多的声音选择。与GS类似,XG也具备音色编辑功能,可以实时改变乐器的音色,并加入了亮度、调和度等编辑参数,以实现更细致的音色调整。XG还引入了音色选择功能,允许在一个XG音色上叠加多种音色,从而增加了音乐表达的可能性。此外,XG标准还涵盖了数字
效果器的使用规定,使音乐家可以对音色应用数字效果器进行处理,创造更丰富多样的音响效果。
根据MIDI标准,可以利用合成器将MIDI文件中包含的指令转化为声音。然而,并不能保证所有设备在重现声音时完全一致,因为不同合成器和
音源可能存在差异。为了解决这个问题,1996年,MMA(MIDI Manufacturers Association)通过了GM(General MIDI)标准,以一定程度上解决这个问题。GM标准将音色编号与乐器之间的对应关系固定下来,确保在符合GM标准的设备上,相同的音色编号会得到相同的乐器声音。
1997年MMY确实通过了可下载样本(Downloadable Samples)的DLS(Downloadable Sound)标准,它扩展了GM(General MIDI)的概念。DLS标准允许在MIDI文件中引入特定的声音样本,并使用这些样本进行合成。
2019年,全球的MIDI制造商协会(MMA)和
日本的音乐电子
行业协会(AMEI)共同宣布,经过了多年的协调和研发,MIDI 2.0草案在2019年初问世。
2020年,MIDI 2.0是对MIDI 1.0规范的全面提升。相较于MIDI 1.0中的单向通信,MIDI 2.0允许两个MIDI设备之间进行双向通信。这意味着设备可以相互发送和接收消息,实现更复杂和灵活的互动。
2023年,MIDI协会宣布,全新MIDI 2.0详解说明书已公开,MIDI 2.0详解说明书的发布确实标志着MIDI 2.0规范的进一步发展。这些文件提供了关于MIDI 2.0的核心规范以及全新的MIDI 2.0 SMF(Standard MIDI
File)Clip文件规范的详细介绍。
传输协议
端口
MIDI端口通常由三个
接插件组成:进(IN)、出(OUT)和旁通(THRU)。这些连接器通常是五针的DIN插孔,而非普通音频DIN
电缆。根据MIDI协议的规定,MIDI端口的配线是专门为MIDI标准设计的。其中两根针连接到接收端口(MIDI IN),而第三根针连接到MIDI输出(MIDI OUT)的
PE线上。这种设计允许MIDI电缆的遮蔽距离达到15米,并且能够避免接地不良的问题。通过MIDI端口,可以将MIDI消息从一个设备发送到另一个设备。
在MIDI端口中,UART芯片承担着主要的工作任务。MIDI以一次收集一比特的工作方式,把输入的若干比特集合或者组成几个10比特的包,其中包含一个8比特的数据
字节。每个字节都以一个起始位(逻辑0)和一个停止位(逻辑1)进行标记,用于传输一个完整的MIDI数据字节。开始位和停止位是用来帮助接收设备进行数据解析和同步的。当MIDI设备接收到完整的MIDI数据字节后,它会将其传递给内部的微处理器或其他音频处理单元(如合成器、
采样器、
效果器等),进一步进行解码和处理。
接口
串口调试软件以一次一个比特的方式从
计算机发送和接收数据,而MIDI协议也是通过串行接口进行数据传输的。MIDI计算机接口通常是通过串行端口与计算机连接的简单设备。该接口包含一个UART芯片,负责生成MIDI数据的时钟脉冲,并将数据发送给
外部设备;同时,它还包括一个光学隔离的输入阶段,用于接收来自外部设备的MIDI数据。
并行端口是一种与计算机的并行接口相连的接口,每次可以传输8个比特的数据。相对于串行接口,它的传输速度更快。并行端口的高速传输能力使得
计算机能够快速发送和接收MIDI数据,并将空闲时间用于处理其他任务。因此,并行MIDI接口可以处理一部分MIDI数据的发送和接收工作。需要注意的是,尽管通过并行连接可以实现快速传输速度,但当MIDI信息发送到其他设备时,其基本传输
速率并不改变。这意味着在MIDI链中,在连续传输到其他设备之前,并行接口必须对计算机发送的数据进行缓冲。
使用多端口接口可以让计算机与多个独立的MIDI线路相互连接。每个MIDI线路都可以被视为一个独立的MIDI网络,并且具有16个通道。通过将某些
音序器与多通道接口结合使用,可以突破MIDI协议中对通道数量的限制。传统的MIDI协议规定了16个通道,每个通道用于控制不同的音频或MIDI设备。然而,在实际应用中,可能需要连接多个MIDI设备并在它们之间进行
路由和控制。这时,多端口接口可以在路由和控制方面简化很多问题。
驱动程序
每个带有MIDI协议的合成器,或者
DSP芯片都包含一个微处理器。这个微处理器的其中一项工作就是解码通过UART传输的信息,并根据命令做出相应的反应。微处理器首先通过其输入部分感知演奏者的动作,然后将这些动作转化为有序的MIDI信息,并通过输出部分发送出去。MIDI驱动程序是负责处理MIDI输入和输出功能的
软件。它定义了输入和输出端口,并负责管理MIDI信息的传输。所有的MIDI信息都是通过MIDI驱动程序进行发送和接收的。当
计算机运行MIDI软件时,也需要安装相应的MIDI驱动程序,以实现与合成器、DSP或其他MIDI设备之间的通信和控制。
通道
MIDI通道是MIDI协议中用于区分和控制不同音频或MIDI设备的逻辑通道。MIDI协议规定了16个标准MIDI通道,从1到16编号。每个MIDI通道都可以独立地传输音符、控制器、程序变换和其他MIDI消息。通过将不同的MIDI设备与不同的MIDI通道相关联,可以实现多个设备之间的同时控制和通信。使用不同的MIDI通道可以将音符和控制消息分组发送到特定的设备上,从而实现多声部演奏、多设备控制和多轨录制等功能。每个MIDI设备可以选择接收特定的MIDI通道信息,以便作出相应的响应。MIDI通道与物理连接无关,它们是在MIDI消息中进行逻辑划分和标识的。通过正确设置和配置MIDI设备与MIDI软件,可以实现灵活的音频控制和交互。
MIDI信息标准
常见的MIDI标准包括GM、GS和XG,它们之间存在竞争关系。1990年,日本ROLAND公司制定了GS标准,该标准基于早期产品MT-32和CM-32/64,规定了MIDI设备的最大同时发音数不少于24个,将鼓擦等
打击乐器作为一组单独排列,以及统一排列128种乐器音色等。在这些规定中,最重要的是128种音色的统一排列方式。有了这种排列方式,只要是在支持GS标准的设备上制作的音乐,在任何一台支持同样标准的设备上都可以正常播放。
CM标准的全称是“通用MIDI标准系统第一级”(General MIDI System Level 1),该标准于1991年制定,在GS标准的基础上,主要规定了音色排列、同时发音数和鼓组的键位,并将GS标准中音色编辑和音色选择的部分剔除。CM的音色排列方式基本上延续了GS标准,只是在名称方面做了一些修改,例如将GS标准中的Piano1改为Acoustic Grand Piano等。虽然CM标准功能不如GS强大,但它是世界上第一个通用的MIDI乐器排列标准,由于简化了
ROLAND GS标准,使得更多的MIDI
设备制造商能够生产符合该标准的设备。因此,一旦GM标准制定,就得到了MIDI厂商,特别是
多媒体设备厂商的热烈响应。
YAMAHA于1994年9月提出了
音源标准-XG,在兼容GM的基础上进行了大幅度扩展,例如添加了"音色编辑"功能,使作曲家能够实时改变MIDI音乐中的乐器音色;还加入了"音色选择"功能,在每个XC音色上可以添加多种音色。
MIDI文件
MIDI设备间传送MIDI消息是通过MIDI文件进行的,MIDI文件类似于音乐的乐谱,MIDI设备通过它来产生音乐。MIDI文件以.MID为扩展名,它属于
二进制文件,这种文件的基本结构为文件头+数据描述。文件头一般包括文件的类型、长度等信息,数据描述部分则是文件的主体。一个MIDI文件由一个头块(HeaderChunk)和紧接的一个或多个音轨块(TrackChunk)组成。头块以“MThd”为标志,音轨块以“MTrk”为标志。一个确定的MIDI文件,它的各个块的长度也是确定的。MIDI文件中的数据了“MThd”块和“MTrk”块外,不包含其他内容,MIDI技术要求应用软件能够处理意想不到的块,并忽略掉不符合规定的整个块,这一要求使MIDI文件的可靠性得以提高。MIDI文件的格式分为三种,它们分别被称为格式0、格式1和格式2。格式0,该格式的MIDI文件包含一个头块和一个音轨块,而音轨块包括所有的音符和节拍信息;格式1,该格式的MIDI文件包含一个头块,但音轨块不是一个而是多个,所有的音轨块同时播放。在该格式中,第一个音轨块是专用的,它包括所有的
后设event,即拍子记号、拍子、音序、Track名称、音序号、标记、SMPTE扁移量;格式2,该格式的MIDI文件也包含一个头块和多个音轨块,但每个音轨块表现出独立的播放次序。
工作原理
既然MIDI是一套指令集合,那么
乐音必定是由此指令驱动某种设备发声而来的,这种设备就称为音乐合成器。合成器主用来生成乐音,其工原理大致有两类:一类是FM合成法,一类是波合成法(乐音样本合成法)。
FM合成
FM合成法是由John Chowning教授于20世纪70年代在美国
斯坦福大学发明的。这种合成方法通过调制一个音频信号的频率到另一个音频信号上来生成复杂的声音。FM合成器的内部包含多个
信号发生器、
振荡器和运算器等逻辑部件。
波表合成法
波表合成法(
乐音样本合成法)的主要原理是将各种真实乐器的声音录制下来,并进行数字化处理,形成
波形数据。当需要模拟某个具体乐器的声音时,合成器通过查找相应的波形数据来生成对应的声音。在发声过程中,合成器根据输入的指令选择相应的波形数据,并经过一系列的处理操作,如调制、滤波、再合成等,以产生逼真的乐器声音效果。
功能用途
将输入设备与音源分离
MIDI的出现将输入设备(如音乐键盘)与音源(合成器或
采样器)分离开来。这种分离使得每个合成器不再需要自带一个
键盘。通过MIDI接口,可以连接一个独立的音乐键盘或其他类型的控制器到多个合成器或音源设备上。这样,使用者只需一个键盘就可以同时控制和演奏多个合成器或采样器,而无需为每个音源设备配备一个键盘。
MIDI的出现对音源和输入设备之间的联系提供了更大的灵活性。由于MIDI协议能够传输各种控制指令和音符信息,几乎任何一种输入设备都可以用来控制合成器。呼吸控制器、吹管乐器、鼓垫、
吉他等都可以通过连接到合适的MIDI接口或转换器来作为MIDI输入设备。其中,音高-MIDI转换器(pitch-to-MIDI converter)的出现使得话筒也可以转变为MIDI输入设备。
追踪拾取声音生成相应的MIDI音符
音高-MIDI转换器可以追踪话筒拾取的声音,并根据检测到的音高或频率生成相应的MIDI音符。当话筒与转换器连接时,转换器会接收和处理话筒捕捉到的声音信号。通过分析声音的频率和音高信息,
反激式变压器能够确定发出的音符,并将其转换为相应的MIDI信号。生成的MIDI信号可以发送到合成器或其他MIDI设备,以控制这些设备产生与输入声音对应的音符,这样就可以通过演奏乐器或唱歌来控制合成器。
编写乐谱
通过将MIDI软件安装在
计算机上,并将计算机与合成器连接,可以进行各种操作和应用,如互动演出、算法作曲、乐谱编辑、音高编辑和音序。在这样的系统中,可以使用MIDI软件来编写和编辑乐谱,包括调整音符时长、音高、力度等,或者编辑已录制的MIDI演奏轨道。还可以使用软件进行实时的互动演出,例如使用控制器或
触发器来触发合成器生成特定的音符或声音。
MIDI使开发定向音乐软件变得更加容易
MIDI的引入使开发一般音乐软件变得更加容易和灵活。一般音乐软件可以在个人电脑上运行,并与不同公司生产的合成器交互。例如,
音序器就是一种常见的音乐软件。它允许音乐家一次一行地录制多声部作品。这些作品可以使用一组合成器进行编排,也可以使用单个多音色(multitimbral)合成器。(多音色合成器能够同时演奏多个不同的
声部或声音)一般的音乐教育软件通常只需教授基础的音乐概念,而不需要关注使用哪种类型的合成器或
采样器来阐明这些概念的过程。
MIDI使开发定向音乐软件变得更加容易。定向音乐软件包括针对特定设备设计的软件,例如音高编辑器管理程序等。这些软件并不是本质上取代了合成器、采样器或效果处理器面板的功能。通过MIDI,定向音乐软件可以实现与特定设备之间的通信和控制。例如,在音高编辑器中,你可以使用鼠标点击图形化的按钮和调整屏幕上的旋钮图像,就像真正操作合成器一样。这些操作会通过MIDI消息发送到目标设备,从而实现音高的编辑和其他控制操作。
其他
除了合成器,MIDI编码可以在其他设备中重新解释,比如
信号处理效果器(如
混响器)。这样就可以实现对某种效果进行实时控制,比如改变延迟和
混响时间等参数。通过发送相应的MIDI消息,可以在音乐演奏或录制过程中实时调整效果器的参数。此外,MIDI还可以实现合成器与其他媒体的同步,例如灯光系统。通过MIDI协议,音乐软件可以与灯光控制设备进行通信。MIDI还可以与其他同步协议连接,例如SMPTE时间码,以便协调音乐、视频和图形等多种媒体元素。另外,MIDI还可以用于控制音频
调音台。
通过MIDI、乐谱、音序器和采样数据,可以在不同厂商生产的设备中进行交换和共享音乐数据。
应用领域
MIDI协议广泛应用于音乐、电影、电视剧、电视文艺晚会、
广播剧、广播电视广告等领域。在电视晚会上,可以利用MIDI功能辅助音乐的创作和演奏。通过按照MIDI标准生成音乐数据传播媒介,可以直接进行乐曲演奏。如果在计算机上安装了高级的MIDI软件库,就可以实现音乐的创作、乐谱的打印、节目编排、音乐的调整、音响的幅度、节奏的速度、各
声部之间的协调和混响等功能。通过利用MIDI技术将电子合成器、电子节奏机(
电子鼓机)和其他电子
音源与序列器连接在一起,可以演奏出音响效果。同时,还可以将演奏过程中的多种按键数据存储起来,从而极大地改善了音乐演奏的能力和条件。
MIDI数据优缺点
优点
相比于CD质量的数字化声音文件,MIDI文件通常要小很多。由于MIDI文件的特性,它们不会占用过多的
内存、外存空间和CPU资源,这使得MIDI文件在一些资源受限的环境下非常有用。在某些情况下,如果所用的MIDI声源较好,MIDI有可能发出比数字化声音更好的质量。
由于MIDI文件只包含音乐的描述信息,因此可以通过改变其速度来改变文件的长度,而不会改变音调或降低
音质。通过修改MIDI数据中的时间信息,可以加快或减慢音符之间的间隔,从而改变演奏的速度。这样就可以在不改变音乐的基本结构和音调的情况下,使整个演奏过程变得更快或更慢。
创建数字化声音所需要的准备和编程工作相对较少,不需要掌握太多音乐理论知识,而MIDI则要求比较多。在应用软件和系统支持方面数字化声音都有更多的选择,不管对
麦金塔还是Windows平台均如此。
缺点
因MIDI数据并不是声音,当使用不同的
音源设备或软件合成器进行回放时,可能会导致音色、
音质的差异,甚至在某些情况下,回放的结果与原始创作时的预期相差较大,仅当MIDI回放设备与产生时所指定设备相同时,回放的结果才是精确的。