MIDI版本问题

我听说过GM,GS,XG,据说还有MIDI 88,我想知道这几个版本分别能干什么?MIDI 88又是什么?

1赞

按我的理解,MIDI不同的版本,或称不同的标准,代表不同的音色配置。
因为 MIDI 的本质只是一些控制电子乐器播放声音的信号,同一个信号在不同厂家生产的乐器上可能代表不同的含义,比如有的厂家数据 1 代表钢琴,有的数据1 代表吉他。这样就比较混乱,多种设备不便协同工作。所以需要有个标准,大家共同遵守就好很多。

那,GM就是干这个事的。GM 中定义的127种音色是最基础也最通用的,基本每个厂家都支持。
GS 是罗兰公司在GM的基础上做了一些扩展,增加了更多的乐器和其他控制信息。
XG是雅马哈公司在GM基础上做的扩展,也是增加了更多的乐器和控制信息。

MIDI-88 我还没研究过,同问。

1赞

翻译一篇来自 Cakewalk 论坛的帖子,解释的更详细。


基础的MIDI规范只是一种通信协议。它定义了一大堆叫做“事件(Event)”的东西,以及这些“事件”在MIDI线缆中的传输方式。比如说,当我们在MIDI键盘上按下一个琴键时,键盘就会通过 MIDI 线缆给发声设备发送一个“音符事件(Note Event)” 。发声设备收到这个“音符事件”就开始播放这个音符。其他的事件还包括“音色更换事件(Patch Change Event)”。当控制器给发声设备发送一个“音色更换事件”时,发声设备就会切换到那种“乐器”,把声音从钢琴声切换到小号声什么的。

随着人们开始越来越多地使用MIDI,他们意识到他们遇到了问题。例如,合成器 A 可能将其音色排列为1 = 钢琴,2 = 风琴,3 = 小号等。合成器 B 可能将其音色排列为1 = 吉他,2 = 钢琴,3 = 风琴等。他们可能编好了一首MIDI乐曲,通过合成器 A 播放时听起来不错。但是,当通过合成器 B 播放时,乐器“全部混乱”了。

为了解决这个问题,人们设计了 “GM” - “通用 MIDI (General MIDI)” - 规范。该规范指定了每个音色的排列。例如,第一个音色总是钢琴。不同的 GM 设备可以将该音色实现为不同类型或质量的钢琴,但它必须是钢琴。其余的乐器音色,一直到255,都以此类推。这意味着为 GM 设备编写的任何 MIDI 片段都可以在任何 GM 设备上播放,并且播放正确的乐器声音。

GM 规范还包含了鼓组的标准规范。鼓组基本上是一个特殊的音色,每个音符对应一个不同的打击乐器。此音色中乐器的顺序由 GM 标准定义。

Edirol VSC 就是一种 GM 设备。它能够播放任何 GM 音乐,音乐听起来也不错。Dreamstation 就不是 GM 设备了。它会产生很多声音,与 Edirol VSC 中的声音非常不同,Dreamstation 并没有试着创建 GM规范中指定的所有音色。因此,如果你尝试通过 Dreamstation 播放 GM 乐曲,你将听到不可预测且很可能巨难听的结果。

随着人们开始越来越多地使用 GM ,他们又意识到 GM 太有限了。255个可用的音色太有限了。所以Roland 公司开发了一个名为 GS 的 GM 扩展。GS 规范与 GM 几乎相同,但它“扩展”了可用的选择。实际上,它有255个声音“银行”。原始 GM 规范中指定的每个音符可以有多达 255 种变体。如果你看看Edirol VSC中可用的声音选择,你会发现它实际上是一个 GS 设备。您可以在 Patch 1 中选择三种钢琴 - 它们在 Edirol 中显示为“001 001”,“001 002”和“001 003”。如果你通过 Edirol 播放 GM 文件,它会把所有音色1钢琴的声音对应为音色 “001 001” 播放。GS规范中还有一些用于打开和关闭一些基本效果的规定,例如混响,这些必须以特定于设备的方式完成,例如 GM 中的专用 Sysx 或 NRPN 消息。GS还有一些其他差异,例如更多的复音(在切断发生之前保证同时可用的声音的数量)。

注意,GS 是 GM 的“超集”或扩展。GS 设备可正常播放 GM 文件,但 GM 设备播放 GS 文件的结果不可预测。

但还是不满意,雅马哈公司又制定了另一个 GM 规范的扩展,称为 XG。除了发烧友之外,它与 GS 基本相同。现在它内置了全面的效果总线支持,甚至更大的复音,还有一些其他的微小差异。虽比 GS 更新,但它与GS非常相似。不幸的是,它不是 GS 的超集。许多音色是相同的,但也有许多是不同的。因此,当通过 XG 设备播放 GS 文件时,就需要通过更多的调教才能使其听起来效果保持一致。这很糟糕,但这是雅马哈的设计决定,当时它似乎是一个好主意。然而,就像 GS 一样,XG 也是 GM 的超集。因此,就像 GS 设备一样,XG 设备可以播放 GM 文件,但 GM 设备不能播放XG文件。


有些术语可能不标准,英文原文在此:

http://forum.cakewalk.com/GM-GS-XG-what-are-they-m400202.aspx

4赞

MIDI88指的是Roland的Sound Canvas系列音源的音色表,不是某种MIDI标准(因为MIDI标准不只规定了音色种类)。GS是罗兰SC系列音源所支持的最基本MIDI标准。但高级的音源一定有更多种类和更好品质的音色,这时就要将音源的音色表切换成不同的映射。比如SC-55音色表就是在最普通的GS音色上扩展了其他一些,SC-88和88Pro就扩展了更多的音色。

不信?那就自己去发掘真理吧——去搜索SC-55、SC-88、SC-88Pro这三款音源的Owner’s Manual,找到里边页数靠后的Instrument List,您就一切了然了。什么?不想啃英文?区区英文怎能妨碍您找寻真理的脚步~切~【傲娇脸】

3赞

至于这几个标准都能干什么。您得先知道什么叫“标准”——“标准”是一种大家都要遵照执行的规定。所以“标准”里规定了什么,那么支持某种标准的音源,就能提供这个规定里所确定的功能。

再细说。我记得应该是罗兰先提出的GS标准,然后在此基础上简化而得GM,后来雅马哈又自己提出一套XG。所以GM是最简单的,称为General MIDI,通用MIDI。既然通用,就一定简单易行,使用虽然广泛但功能、性能却不佳。

再说GS。它最早,但功能却一点儿不差。除了规定了音色排布之外,它还明确了若干种MIDI控制器号的功能,明确了一些RPN事件的内容,更是通过系统码SysEx,提供了对声音和音色的更广阔的调校参数。

后来到了XG。XG和GS很多地方都是保持兼容,但有些如效果器使用、系统码具体规定等,则是根据雅马哈自己的设备而修改。

是不是看不明白?看不明白就对了。要知道:你手里的综合性硬音源,甚至电脑上的综合性软音源,或者很多软插件与DAW共同构成的东西,它不是一个仅仅发声的东西,是一个“演奏者 + 效果器 + 调音台”的综合体,是一个小型的录音系统,是舞台、录音棚等场合中各种设备的集大成。MIDI协议,就是控制这个集大成小设备的指令系统。所以它不只是告诉音源选择哪个音色发什么音符的声,它还可以告诉音源把这个声音调节成什么味道(通过叠加多个振荡器,设置每个振荡器的触发条件,添加滤波器、低频振荡器,修改他们之间的控制关系,创建包络控制等),不同声音之间的音量、平衡等等都怎么配比,哪个声音发送给哪个效果器(混响、合唱、延迟、甚至哇音或者旋转扬声器等各种类别),效果器之间的级联方式是什么(是全局还是插入式效果器,插入到哪个通道),效果器的发送量、不同效果器的具体效果控制值、干湿混合比等都是什么,发送给哪个总线,最终从哪个端口出去,等等等等。而这些MIDI标准,就是规定了这个小系统能实现什么样的功能和性能,以及告诉使用者如何来使用和发挥这些功能和性能。

恭喜入了编曲坑。因为编曲就是这样一个艺术性与技术性两者同等重要,缺一不可的行当。也正因为这个特点,做编曲的人都是需要学习最多知识的,做最多事情的,赚钱最少,活儿最多,默默无闻的可怜虫,但也是最有学识和成就感的大拿级人物。要学的东西依然很多,不只是您,也是我,也是每一个编曲者。所以共勉。加油~

3赞