经过36年的漫长岁月,MIDI标准终于要更新到2.0了

数字电子乐器的标准──MIDI,是科技界少见长期稳定的工业标准,从1983 制定出来就没有再变化,直到36 年后的今年1 月,美国MIDI 制造商协会(MMA)与日本音乐电子业务协会(AMEI)联手公布了MIDI 2.0 标准草案。

36 年没更新?这实在是太神奇了!难道是数字电子乐器的科技进化缓慢吗?当然不是这样啦。让我们回头看看 1983 年 MIDI 1.0 标准诞生的时代背景。此标准是有关“演奏控制码”,配置书只有少少8 页,主要是描述如何让两台合成器(synthesizer)之间发送控制码,控制码包含如何演奏音符与音量控制,除了控制合成器本身,还可控制录音设备与舞台灯光。也就是说,最一开始的MIDI 1.0 只是针对当时新兴的电子科技乐器现场LIVE 演奏而设计(而不是今天通过计算机可做非线性数字编辑),这设计让各厂商制造的电子乐器产品(当时直接联想就是“电子琴”)不会各行其事,互不兼容。

后续延伸标准是在1991 年公开的MIDI 文件标准(缩写为SMF,文件名为mid),因为这时代开始,把演奏方法记录下来,在另外一台音源功能正确自动化重现变得重要,连带音源机(当时除了合成器,采样机也开始流行)的设计标准GM(General MIDI)也被制定(要有128 种特定的标准乐器音色等),伴随而来的就是编曲、作曲核心从传统手写转变到编曲机(Sequencer,最早是专门机器,例如Kawai Q80)再变迁到以通用计算机作业,此外就是变迁到也能用USB、FireWire、Wi-Fi 传递MIDI 信号等。 MIDI 1.0 就这样不知不觉用了 36 年,虽然 MIDI 关于描述音乐的语义(semantic)演奏控制指令已定义到相当完善,但围绕 MIDI 的科技环境已经变迁,因此有必要推动下一代 MIDI 标准。

现在让我们来看看MIDI 2.0 草案,变革主要是自动设置(configuration)能力、与新一代数字音乐工作站(DAW)/网站(web)的集成、演奏更细致的“精度”、增强的表现力、更严格的时间精准度。

MIDI 2.0 实做有3 个B 开头英文本的基本准则:

  • Bidirectional(双向沟通):MIDI 1.0 的设备是单向发号司令,2.0 则是设备之间可以对话。
  • Backwards Compatiable(向后兼容性):过去36 年的任何旧MIDI 2.0 设备还是能使用,而MIDI 2.0 设备还要能回退成MIDI 1.0 模式运行。
  • Both:MIDI 2.0 也能强化 MIDI 1.0 的既有特色功能。

MIDI-CI 解释图。 (Source:MIDI )

MIDI 2.0 最核心的是名为MIDI-CI(MIDI 功能查询,原文MIDI Capability Inquiry)的新机制,有3 个P 功能:

  • Protocol Negotiation(通信协议协商):当两个MIDI 设备(含计算机软硬件)链接起来(且通电)时,MIDI-CI 机制会先假设是双向通信,开始互相查询对方及回应,如果协商失败,就回退到安全的MIDI 1.0 通信协议。
  • Profile Configuration(配置设置):双方是MIDI 2.0 设备的话,可自动设置GM、钢琴、管风琴、MPE、MSC 等。
  • Property Exchange(资产交换):这是MIDI-CI 很重要的特色,设备可回应链接的“对方”自己是什么品牌型号、有哪些音色(patch)、控制器对应、有哪些合成参数、MIDI 实做程度为何等,这使设备连上Windows、macOS、GNU/Linux、iOS 等系统甚至网页浏览器的DAW 软件时,就能自动对应设置好,不像传统用户必须具备一定技术知识来手工设置,甚至得使用特定设置软件。这种新机制让软硬件之间自行“交谈”:“你有什么?我有什么,我们自己接一接吧。”

注 1:MPE 是 MIDI Polyphonic Expression 标准的缩写,是 MIDI 控制器的新标准,让乐手有多维度方式来演奏。

注 2:MSC 是 Midi Show Control 的缩写,是等灯光声响舞台自动控制的标准。

MIDI 2.0 在消息指令方面的进化有哪些东西?首先继承自MIDI 1.0 的部分有这些“升级”(也可转译回MIDI 1.0 格式):

  • 力度(Velocity):MIDI 1.0 时代是7 进制,力道变化的“刻度”是0~127,MIDI 2.0 则是16 进制,刻度范围是0~65535,更为细腻。
  • 多音、触键后压力、音高挤音控制(poly&Channel pressure,pitch bend):MIDI 1.0 时代精度也是只有7 进制,MIDI 2.0 则是32 进制,细腻度大增。
  • RPN / NRPN的音色参数:演奏时,RPN 或NRPN 只能各自从16,384 种之中挑出4 种;MIDI 2.0 则可同时使用16,384 个控制器(Register Controllers)或可指定的控制器(Assignable Controllers)。
  • Control Change Messages:相应的,控制RPN参数变化的Control Change Message 也从MIDI 1.0 的7 进制升级到32 进制。

注3:RPN / NRPN 是音色控制参数,RPN 是标准的力道(velocity)、音量等;NRPN 是各家厂商能自行实做的非标准控制参数。

那 MIDI 2.0 消息控制码又有哪些新功能呢?

音色控制的技法(Articulation):比方说拉小提琴时是上弓?下弓?跳弓?用手指拨?各会发出不一样的声响效果,高品质的小提琴独奏,真人小提琴手一次拉完展现出各种技法就OK,但用MIDI 1.0 表现在,一段小提琴独奏旋律要分拆成好几个MIDI 轨,各指定不同演奏法的音色,分别录制,才能呈现差强人意的独奏;MIDI 2.0 添加了以下参数,使一个MIDI 轨内就能展现一个乐器的各种技法:

    • 8 进制的Articulation Types(音色技法类型)。
    • on / off:一个音符是否使用该技法。
    • Articulaiton Data:音色技法的数据,有 16 进制。

单一音符的高精度控制器(Extended Resolution Per-Note Controllers ) :承袭MIDI 1.0 配属单一MIDI 轨的控制器以外,MIDI 2.0 还有高端的单一音符控制器:

    • Extended Resolution Per-Note Registered Controllers:类似RPN,有256 个,数据精度是32 进制。
    • Extended Resolution Per-Note 的Assignable Controllers:类似NRPN,有256 个,数据精度是32 进制。
    • Per-Note Pitch Bend Message:每个音符能有各自独立的挤音控制,像是吉他等多弦复音乐器,就可以用MIDI 完整表现,而不用像MIDI 1.0 时代用多轨“仿真”。
    • Per-Note Management Message:属于单一音符的管理消息。

共存封包:一个MIDI 消息封包可同时包含MIDI 1.0 与2.0 的消息,MIDI 2.0 的3 种新式起始消息不但对MIDI 2.0 有影响,甚至也能替MIDI 1.0 的设备加上新功能。更进一步,MIDI 1.0 时代总共只有16 轨;MIDI 2.0 则同时有16 个群组/链接阜(groups / ports,后面单称“群组”),每群组各有16 轨,以群组为单位,可设置成MIDI 1.0 或使用MIDI 2.0 通信模式,有巨大的弹性。

MIDI 2.0 的群组让MIDI 1.0、2.0 设备共存。 (Source:MIDI )

因此崭新的MIDI 控制器变成可能,MIDI 2.0 的小提琴、吉他、鼓等控制器,将可让乐手以自然方式演奏,就录下完整的音符、音色控制细节,例如:小提琴的上下弓、断奏等技法;吉他的真实刷弦、不同弦演奏同音符(但音色不同)、不同弦做不同程度的挤音;单一鼓的不同敲打手法、打不同位置产生的不同音色,在一个MIDI 轨就可处理。

MIDI 1.0 时代,编曲人要使出浑身解数,才能让演奏出来的声响不会假假的(俗称很MIDI),看起来MIDI 2.0 可完美表现出世界上任何乐器了吧?不过目前 MIDI 2.0 也才只是发布草案,实在迫不及待落实的那一天呢。