音乐研发必备:理解 MIDI 协议与标准 MIDI 文件格式

1. MIDI 简介

MIDI 协议即数字音乐接口(Musical Instrument Digital Interface),是电子乐器、合成器等演奏设备之间的一种即时通信协议,用于硬件之间的实时演奏数据传递。MIDI 协议诞生之初希望解决的事情是通过统一通信协议让不同乐器制造商的设备可以互相兼容,比如把 Roland 键盘接入 Yamaha 合成器。MIDI 协议的编码经过拓展后也可以作为一种记录音乐信息的文件格式,被称为“标准 MIDI 文件格式”。

在音乐技术研发中除了需要与音频打交道之外,许多场景中还需要直接处理音符信息。如果说 wav 与 mp3 记录的是音乐的物理现象,那么 MIDI 协议与 MIDI 文件则记录的是音乐这门语言的“文字”。本文的目的是让开发中涉及到音乐“本体”的同学可以了解这一最通用的演奏信息交互和文件存储格式的编码规则。同时通过对 MIDI 事件流等概念的认识,能在开发中更好地抽象自己的业务逻辑。

1.1 MIDI 数据流 & 编码

和 HTTP 这类协议不同,MIDI 作为传输协议时所有传递的信息都需要被实时响应,比如一个触键信息、一个效果器参数的改变都需要立刻被执行,所以其采用数据流的方式进行数据传输。MIDI 定义了一个 8 位的二进制数据流,许多时候我们可以使用 ASCII 码来将其表示为 16 进制的字符用于传输和保存。

对于 MIDI 标准文件格式来说,其存储的内容也是 MIDI 产生的事件流。一段典型的 MIDI 文件长这样:

4D 54 68 64 00 00 00 06 00 01 00 03 01 E0 4D 54
72 6B 00 00 00 1A 00 FF 03 03 31 32 33 00 FF 51
03 08 7A 23 00 FF 58 04 04 02 18 08 00 FF 2F 00
...

<< · Back Index ·>>

发表回复

相关推荐

角膜異常薄變的白內障手術,醫生竟然在紮馬步……

本文轉載自微信公眾號 白內一把刀作者:北京同仁醫院白內障中心大傢都知道,我們的眼球前表面有一層透明的薄膜,叫做角膜。角...

· 44秒前

裸露≠色情|2015新晉維秘超模全裸出境拍寫真

近日,2015年最新加入維沒有多利亞的秘密大傢庭的幾位超模拍攝全裸寫真照,沒有表現出任何不雅誘惑,而是滿滿的青春風暴。Ste...

· 1分钟前

【訊息·航天】國際航海日 | 遠望號,在波峰浪谷間遙望海天

在中國無邊的海疆上有一隻守護天疆的功勛船隊今天是國際航海日讓我們走近這隻乘風破浪塑造中國航天海上測控傳奇的遠望號船隊...

· 2分钟前

什么是 CRA ?

“ 在镜头选型时,我们必须关注到的一项重要指标就是 sensor 和 lens 的 CRA 是否匹配,当 sensor 和 lens 的 CRA 不匹配时, ...

· 2分钟前

TLI-Taipei Language Institute

對外漢語TLI臺北語文學院是全球排名前十的語言學院,為教授外國人中文的領導者是提供教育服務和文化輸出的教育傳媒集團。TLI...

· 3分钟前