MIDI接口
概述

MIDI(Musical Instrument Digital Interface)即音乐仪器数字接口,是一种用于电子音乐设备之间相互通信的协议。MIDI协议最初由美国音乐制造商协会(MMA)和日本电子乐器制造商协会(JEMA)于1983年共同制定,用于连接电子乐器和计算机,以便进行音乐制作、演奏、记录和控制等工作。
MIDI协议定义了一组音乐信号的通信规范,这些信号包括音符、音高、音量、音色、节拍、控制指令等信息。通过MIDI协议,不同品牌和型号的电子乐器之间可以相互通信,并能够进行音乐数据的传输和处理。MIDI协议可以实现以下几个方面的功能:
- 传输音符和音高:MIDI协议可以传输音符和音高信息,可以控制电子乐器发出特定的音符和音高。
- 传输音量和音色:MIDI协议可以传输音量和音色信息,可以控制 电子乐器发出不同的音色和音量。
- 传输节拍和控制指令:MIDI协议可以传输节拍和控制指令信息,可以控制电子乐器在特定的节拍上发出特定的指令,如加速、减速、停止等。
- 传输序列数据:MIDI协议可以传输序列数据,可以将电子乐器的演奏和控制信息记录下来,方便后续的编辑和修改。
MIDI基本工作原理
通过MIDI信号传输音乐信息,使不同品牌和型号的电子乐器之间实现相互协作和控制。
基本构成
MIDI信号是一种数字信号,用于电子乐器之间进行通信和控制。MIDI信号的基本构成包括三个要素:命令字节(status byte)、数据字节1(data byte 1)和数据字节2(data byte 2)。
- 命令字节(status byte):MIDI信号的第一个字节称为命令字节,它包含两部分:命令码(command code)和通道号(channel number)。命令码指示了MIDI信号的类型和功能,通道号则指定了MIDI信号的目标设备。
- 数据字节1(data byte 1):MIDI信号的第二个字节称为数据字节1,它用于传输MIDI信号的参数和设置。数据字节1的取值范围为0-127,用于传输音符、音高、音量、音色、节拍等信息。
- 数据字节2(data byte 2):MIDI信号的第三个字节称为数据字节2,它也用于传输MIDI信号的参数和设置。数据字节2的取值范围也是0-127,通常用于传输控制指令、效果设置等信息。
传输方式
- MIDI信号的传输方式有以下几种:
MIDI消息格式
MIDI消息的种类和格式有以下几种:
- 音符消息:用于表示音符的触发和终止,包含音高和力度两个参数,格式为
1001 CCCC 0PPP PPPP 0VVV VVVV,其中CCCC表示通道号,PPP PPPP表示音高,VVV VVVV表示力度3。 - 乐器选择消息:用于改变某个通道的乐器类型,包含一个数据 字节,格式为
1100 CCCC 0XXX XXXX,其中CCCC表示通道号,XXX XXXX表示乐器编号3。 - 控制器消息:用于操作不同的控制器来改变合成器的某个参数,如混响、增益等,包含两个数据字节,格式为
1011 CCCC 0NNN NNNN 0DDD DDDD,其中CCCC表示通道号 ,NNN NNNN表示控制器编号 ,DDD DDDD表示控制器值 3。 - 弯音消息:用于改变某个通道的音高微调,包含两个数据字节(MSB+LSB),格式为
1110 CCCC 0LLL LLLL 0MMM MMMM,其中CCCC表示通道号 ,LLL LLLL + MMM MMMM表示弯音值 3。 - 系统独占消息:用于发送特殊的系统指令或数据给特定的设备或软件,包含一个或多个数据字节(以F7结束),格式为
1111 0000 + 数据 + F7 或者 F7 + 数据 + F7 或者 F7 + 数据 + F7 ... F7 + 数据 + F76。
MIDI接口和设备
MIDI接口是一种计算机与MIDI设备之间连接的硬件,有两种常见的形式,一种是纯MIDI接口,一种是USB接口。
-
纯MIDI接口需要使用专用的MIDI线连接到具备MIDI输入或输出接口的设备,或者通过转接线连接到可以处理MIDI信号的设备(如个人计算机)。DIN-5接口是最早的MIDI接口标准,采用5针DIN接口,用于连接MIDI键盘、合成器、鼓机等设备。
图2:MIDI使用的DIN-5接口 -
USB接口可以直接使用USB线连接到个人计算机或其他支持USB协议的设备,可以传输更多的MIDI数据和音频数据,适用于音乐创作、录制和演出等领域
MIDI应用
- MIDI键盘,MIDI乐器
- 带有MIDI接口的声卡
总结
MIDI协议是一种音乐设备之间的通信协议,可以实现电子乐器、电脑、手机等设备的互联互通,传递音符、参数、效果等信息。MIDI协议采用数据流的方式进行实时传输,具有高效、灵活、易扩展的特点。