从各自的接口到共同草案

1983年,电子键盘上的微处理器已能记录按键、调用音色和驱动音序器,但不同厂商的接口往往不能直接相连。连接问题不只是插头形状:早期模拟设备的控制电压和触发极性不同,数字设备又各有数据格式。乐手若想用一架键盘控制另一架合成器,常常需要专门的转换电路。

Sequential Circuits的戴夫·史密斯与切特·伍德在1981年提出USI,即通用合成器接口。它把传送整组键盘状态的办法改成发生按键等事件时才发消息。经过厂商讨论,Roland联络Yamaha、Korg和Kawai,与Sequential继续交换草案。日方方案加入更丰富的控制操作,以及区分状态字节和数据字节的办法;共同规范由这些协作逐步形成。

参考:[1] [2]

演示、流通文本与正式文档

MIDI是Musical Instrument Digital Interface的缩写,中文通常译作乐器数字接口。1983年1月安纳海姆冬季NAMM展上,Sequential的Prophet-600与Roland的Jupiter-6连接演示。这个时点显示跨品牌传送已经可以工作,却不等于后来所有细则已经确定。

同年7月,鲍勃·穆格在《Keyboard》中已经介绍了厂商交换草案、向业界提供文本以及早期产品的情况。国际MIDI协会名下的初始规范文件署1983年8月5日;当年的流通草案、该署日期文档和10月版规范应分别辨认。1984年5月《Electronics & Music Maker》完整重印的就是10月版。1月的跨品牌演示、此前草案的流通与8月署日期文件,属于同年规范形成和传播中的不同阶段。

参考:[2] [3] [4]

传过去的是演奏动作

一条音符开启消息可以分成三字节:第一字节说明消息种类及通道,后两字节给出键号和按键速度。1983年5月刊出的数据表把中央C规定为键号60;键号和速度各使用0至127的数值范围。这里的速度是触键参数,接收乐器可用来控制力度等表现,并不是歌曲的节拍速度。消息告诉乐器如何演奏,声音仍由接收端自身的发声电路产生。

这也解释了MIDI记录与录音的区别。音序器能储存音符和控制动作,随后重新发送,却没有因此保存扬声器发出的声波。节目切换可以调用接收乐器的音色位置,但不同合成器的振荡器、滤波器和包络设计并不相同,同一组指令不会保证发出相同音色。厂商专属数据则为自己的设备保留了额外交换格式。

参考:[1] [2]

一根串行线路,十六个逻辑通道

10月版规定,线路以每秒31,250比特异步串行传送,每个字节加起始位和停止位后占十位,需320微秒。接口采用五针DIN插座,标作MIDI IN和MIDI OUT;接收端光电隔离,减少设备互连时地回路带来的问题。一个输出驱动一个输入,可选的MIDI THRU转送输入数据,使设备能够串接,但长链还要考虑信号边沿累积误差。

十六个通道是消息中的逻辑编号,并非十六条电缆,也不等于乐器必有十六个发声单元。接收端可听取全部通道,或只响应选定通道;单音、复音方式再决定怎样把消息分配给内部声音。系统时钟和启停消息用于协调音序器、鼓机等设备;早期文本已经列出每四分音符二十四个时钟脉冲,让不同机器能按照共同节拍前进。

参考:[1] [3]

兼容要在具体机器之间实现

1983年5月的表格仍把某些状态列为未定义,并把一组控制器仅标成开关。这种文本状态提醒读者,不能拿多年后扩充的消息表倒填初始规范。穆格当时报道,部分产品是在原有设计上加装MIDI,并非所有面板功能都能从接口访问;厂商还需要把设备接在一起,检查实际行为。

共同接口使键盘控制、音序记录和不同品牌的声音模块能够组合,然而其成果依赖协议和实现同时配合。最早的文档建立的是基本消息、线路和响应约定。可通连的乐器开始出现,与功能完全一致、音色统一或后来的文件交换标准,仍是不同层次的问题。

参考:[1] [2] [3]