MIDI通信协议
概述MIDI命令字节MIDI通道 MIDI数据字节原文:/weixin_43572492/article/details/84966690
【修订记录】
1、0810,翻译文本本地化
2、0430,文本优化
概述
音乐数字接口(Musical Instrument Digital Interface,简称MIDI)是电脑CPU为8bit时期的产物,MIDI数据以字节为单位进行单项传输。(高端的MIDI芯片可能同时支持发送和接收)
MIDI数据以UART通信:波特率=31250,数据位=8b,开始位=1b,停止位=1b,无校验。
通常,MIDI数据包由两部分组成:①命令字节,②数据字节;但也有一些MIDI数据包不含数据字节。
表1 MIDI数据包的组成
命令字节的最高位为1,数据字节的最高位为0,可见,用二进制或十六进制来查看更直观。
命令字节是MIDI消息序列的第一个字节,后面跟着一定数量的MIDI数据字节。数据字节用于传送诸如音高、音量、音色、力度等信息。
例如,以第100级力度演奏C4的MIDI数据包是:0x90→0x3C→0x64。0x80是命令字节,它表示“演奏”。后跟有2个数据字节:前者是“C4”的常数,后者是“以第100级力度”的常数。
注意:A4=440(Hz)
MIDI命令字节
命令字节可按照高低位,拆分为表示命令的高4位、表示某条通道的低4位。如前文所述的“演奏”命令,高4位是0b1001,表示“演奏”,低4位是0b0000,表示“在通道1上”,所以0x90的完整意思是“在通道1上演奏”,进而,上述数据包的完整意思是“在通道1上,以第100级力度演奏C4”。
表2 命令字节的分解
MIDI通道
要使用多条音轨发声时,往往要用到MIDI通道。即:将不同的声部交给不同的通道去处理和演奏。可以像理解电视频道一样去理解MIDI通道的概念。
表3 命令字节简表
MIDI数据字节
参见下列文章
MIDI数据字节:找到中央C(音名:C4)
MIDI数据字节:GM1旋律乐器音色库(带中文名称)
MIDI数据字节:GM1打击乐器音色库(带乐器中文名称)
如果觉得《MIDI通信协议(翻译)》对你有帮助,请点赞、收藏,并留下你的观点哦!