General MIDI,简称GM,是MIDI的统一规格。虽然MIDI自己本身提供了使不同仪器能够在基础水平上互用的协定,但General MIDI提供了更进一步的规范:它要求所有的GM相容仪器达到一些共同的特点,像是能够同时演奏至少24个音符(复音),而且它包含了许多未在MIDI中规范,关于参数和控制讯息的解释,像是定义仪器可以拥有128个发声数。
General MIDI最初被标准化是在1991年,由MIDI Manufacturers Association(MMA)以及Japan MIDI Standards Committee(JMSC)共同制定,此后就被采用作为MIDI标准的追加。他被要求至少能满足以下条件:
允许同时24个发声数(包含16个旋律,和8个打击乐的声音) 能对应音符力度 能同时使用16个频道(频道10被预留为打击乐用) 每个频道能够演奏复音。
概要
在GM被制定以前,MIDI的音色讯号以及控制讯息会因MIDI音源的制造商以及机种而不同。这使的不同的仪器之间并没有互换性。由不同的MIDI仪器做出来的曲子,在其他的MIDI仪器上播放会导致与结果可能与作者原本想表达的不同的问题。为了解决这样的问题,在1991年时,MIDI Manufacturers Association(MMA)与Japan MIDI Standards Committee(JMSC)共同制定了GM。除了GM以外的规格,还有Roland推展的GS、YAMAHA推展的XG等。 这些几乎都是为了扩张GM的衍生规格,对GM来说是能够向上相容的。现在有了GM2(General MIDI Level 2)规格,也是对GM的延伸。
参数GM仪器必须遵循以下关于乐器音色(program)以及控制事件(controller events)的惯例:音色转换事件(Program change events)以下的表单,列出各乐器音与与相应的音色编号(program change number)。旋律音色(Melodic sounds)
| | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | Chromatic Percussion(半音阶打击乐器) |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | |
展开
打击乐音符(Percussion notes) 在General MIDI中,频道10被保留作为打击乐器使用,不论音色编号为何。 不同的音符对应到不同的打击乐器。见下表:
控制器事件(Controller events) GM也同时规范了数个控制器的工作 | | | | | | | | | | | | | | | | | | | | | Reset all controllers(重设所有控制器) | | |
RPN(Registered Parameter Number) 设定登录的参数需要传送(数字是十进制): 两个控制转换讯息(Control Change messages),使用控制号码101和100去选择参数跟着任何1或2bytes的资料入口讯息(Data Entry messages)(MSB = 控制器 #6, LSB = 控制器 #38)最后是"End of RPN" 讯息,即表示结束之讯息以下的全球Registered Parameter Numbers (RPNs) 是经过标准化的(参数由RPN LSB/MSB对规范,值则由Data Entry LSB/MSB对设定): | | | | | | | | Channel Fine tuning(频道细调) | | | Channel Coarse tuning(频道粗调) | | | Tuning Program Change(转换调节音色) | | | Tuning Bank Select(转换调节群组) | | | Modulation Depth Range(颤音深度范围) | | | |
例:用RPN控制串设定粗调(coarse tuning)至A440(参数 2,值 64) 101:0, 100:2, 6:64, 101:127, 100:127
|