盛大 MS-DOS 游戏 General MIDI 大对决
摘要
本文比较了 Roland SC-55、Roland Sound Canvas VA、Yamaha MU80 和 Yamaha S-YXG50 声卡模块在 MS-DOS 游戏中的表现,评估了它们的 General MIDI 性能和准确性。
暂无内容
查看缓存全文
缓存时间: 2026/09/17 18:13
# 辉煌的 MS-DOS 游戏 General MIDI 对决
来源:https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/
2023年3月5日
- 音频 (https://blog.johnnovak.net/tags/audio/)
- 游戏 (https://blog.johnnovak.net/tags/gaming/)
- midi (https://blog.johnnovak.net/tags/midi/)
- ms\-dos (https://blog.johnnovak.net/tags/ms-dos/)
## 目录
- 引言 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#introduction)
- 参赛选手介绍 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#meet-the-contestants)
- Roland Sound Canvas SC\-55 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#roland-sound-canvas-sc-55)
- Roland Sound Canvas VA (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#roland-sound-canvas-va)
- Yamaha MU80 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#yamaha-mu80)
- Yamaha S\-YXG50 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#yamaha-s-yxg50)
- 录制过程 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#recording-process)
- 捕获 MIDI 数据 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#capturing-midi-data)
- 录制音频 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#recording-the-audio)
- 后期处理 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#post-processing)
- 录音样本 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#recordings)
- 初步印象 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#quick-impressions)
- 最终裁决 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#final-verdict)
- Roland SC\-55 vs Roland Sound Canvas VA (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#roland-sc-55-vs-roland-sound-canvas-va)
- Roland SC\-55 vs 后期 Sound Canvas 型号 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#roland-sc-55-vs-later-sound-canvas-models)
- Roland SC\-55 vs Yamaha MU80 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#roland-sc-55-vs-yamaha-mu80)
- Yamaha MU80 vs Yamaha S\-YXG50 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#yamaha-mu80-vs-yamaha-s-yxg50)
- 结语 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#in-closing)
- 录音、链接及延伸阅读 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#recordings-links--further-reading)
- 文件 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#files)
- 软合成器 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#softsynths)
- 评测 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/#reviews)
## 引言
Roland SC\-55 音源模块是90年代中后期 MS-DOS 复古游戏圈中 General MIDI (https://en.wikipedia.org/wiki/General_MIDI) 音乐无可争议的王者。嗯,本文将对此提出一些质疑,并且我不只是说说而已:作为一台真正的 SC\-55 和它后来的竞争者——辉煌的 Yamaha MU80 的快乐新主人,我将对这两台90年代的“坏小子”以及它们的软件复刻版本进行一番测试。
你可以在我们这个时代伟大的(错误)信息源——互联网上,读到关于这个话题的各种观点和说法,例如:
- Roland Sound Canvas VA (SCVA) 能很好地模拟 SC\-55
- SCVA 的 SC\-55 模式不够准确
- SC\-88、SC\-88Pro 和 SC\-8820 优于 SC\-55
- 在其他任何设备上播放为 SC\-55 创作的音乐听起来都不对
- Yamaha 的模块远胜于 Roland 推出的任何产品
- Yamaha S\-YXG50 是 Yamaha DB50XG 的100%完全复刻
- ……诸如此类。
但与其依赖二手信息、轶事和模糊的个人观点,我将为你呈现**高达46首经典 DOS 游戏原声带的高质量无损录音**,每首都录制了**7种不同的 MIDI 模块**!总共322段录音,天呐!
当然,之后我也会分享我自己关于此事的轶事和模糊的个人观点——无论你是否要求——事情就是这样。但至少现在你可以选择忽略我的话,仅凭录音得出你自己的结论。此外,我还会分享所有的 MIDI 文件和 REAPER 工程文件,以便你在需要时可以创建自己的录音。
## 参赛选手介绍
### Roland Sound Canvas SC\-55
Roland Sound Canvas SC\-55 (https://en.wikipedia.org/wiki/Roland_SC-55) 外置 MIDI 音源模块由 Roland 于1991年发布,作为其 Roland MT\-32 (https://en.wikipedia.org/wiki/Roland_MT-32) 系列模块的后继产品。这是世界上第一款支持 General MIDI 标准的合成器,并迅速确立了其在 DOS 游戏高质量 General MIDI 音频领域的行业标准地位——这一地位在整个 DOS 时代结束前基本未被撼动。
Roland Sound Canvas SC-55 和 Yamaha MU80 General MIDI 模块 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/img/midi-modules.jpg)
Roland Sound Canvas SC\-55(上)和 Yamaha MU80(下)General MIDI 模块。
(我已经把整套设备捆扎好了,就不拆开为它们分别拍照了……)
除了支持 General MIDI (https://en.wikipedia.org/wiki/General_MIDI) 标准(简称 GM),SC\-55 还支持 Roland 自有的 General Standard (GS) (https://en.wikipedia.org/wiki/Roland_GS),该标准通过添加额外的乐器变体和鼓组音色扩展了 General MIDI 乐器列表,并提供了一种标准化的方式来调整合唱和混响效果参数等。
大多数具有 “General MIDI” 音频选项的 DOS 游戏实际上不仅使用了 GM,还使用了 GS 功能。通常会避免使用变体乐器——可能是为了与仅支持 GM 的模块有更好的兼容性——但经常使用每种乐器的合唱和混响设置。因此,在某些不支持此类效果的纯 GM 模块上,一些乐曲听起来可能过于干涩,缺乏空间感和氛围感。而在其他具有这些效果但不允许通过 GS 消息微调其每种乐器级别的纯 GM 模块上,音乐有时听起来就像在山洞里录制的一样!
简而言之,如果你想体验 DOS 游戏中 MIDI 音乐的最佳形式,按照作曲者的意图来体验,你就需要一个支持 GS 标准的设备。
我最近从日本 eBay 上买了一台近乎全新状态的原装 Roland SC\-55——很可能是从一家著名的卡拉 OK 酒吧退役的,经过几十年的忠实服务,周末为醉酒的 CEO 们提供娱乐…… 我的这台设备制造于1991年;它是早期版本之一,前面板上没有 General MIDI 徽标(可能是因为1991年发布的 General MIDI 标准在当时制造时还未最终定稿)。它具有 v1\.21 ROM,这被认为是用于 DOS 游戏的整体最佳版本。
### Roland Sound Canvas VA
Roland 的 Sound Canvas VA (https://www.roland.com/au/products/rc_sound_canvas_va/) 软件合成器 VSTi 插件于2015年首次发布。它提供了对 Sound Canvas (https://en.wikipedia.org/wiki/Roland_Sound_Canvas) 系列中最后一款产品——1999年的 Roland SC\-8820 模块(SC\-8850 的精简版)的软件复刻。它并不直接模拟 SC\-55,但可以像真正的 SC\-8820 一样,切换到 SC\-55、SC\-88 和 SC\-88 Pro 兼容模式。
Roland Sound Canvas VA VSTi 插件
Roland Sound Canvas VA VSTi 插件
尽管并非完美,但这是截至2023年最接近原始 SC\-55 的软件复刻形式。
由于 SCVA 能够模拟后期的 Sound Canvas 模块,而且多年来人们对它们有各种说法,我自然也会测试所有可用的型号。了解某个型号的发布年份*可能*会给你一些提示,告诉你它是否适合某个特定游戏。其背后的普遍逻辑是,比如说在1995年,大多数人(包括作曲者)可能拥有升级版的 SC\-88 而非原始的 SC\-55,因此音乐一定是为大多数人可用的模块进行了优化。这是合理的推理,但根据我的听力测试,我发现支持该说法的经验证据很少,稍后会详述。无论如何,以下是不同型号的原始发布日期:
| Roland Sound Canvas 型号 | 发布年份 |
| :--- | :--- |
| Roland SC\-55 | 1991 |
| Roland SC\-88 | 1994 |
| Roland SC\-88Pro | 1996 |
| Roland SC\-8820 | 1999 |
### Yamaha MU80
Yamaha MU 系列 (https://en.wikipedia.org/wiki/Yamaha_MU-series) MIDI 模块是 Yamaha 对 Roland Sound Canvas 产品线的回应。Yamaha MU80 (https://www.soundonsound.com/reviews/yamaha-mu80) 于1994年推出,作为 Roland SC\-88(SC\-55 的继任者)的竞争者。
除了基本的 GM 支持,MU80 还拥有出色的 GS 兼容模式,在大多数源材料上听起来与原始 Sound Canvas 惊人地相似。此外,MU 系列还支持 Yamaha 远为出色的 XG 标准 (https://en.wikipedia.org/wiki/Yamaha_XG)(扩展通用 MIDI),可惜该标准在游戏中的应用严重不足。因此,本文将只研究其 GS 兼容模式。
虽然 SC\-55 的目标市场明确是计算机爱好者,但 MU80 至少是半专业级的音源模块,在全球许多工作室中都有一席之地。客观来说,它是一个好得多的设备;做工质量更加扎实,可用乐器和效果的范围及品质远超 SC\-55。但是,如果它的 GS 兼容模式听起来不怎么样,那么对于我们 DOS 游戏玩家来说,这一切都白搭!
MU80 是一个不适合游戏用途的高级录音室设备吗?还是它或许能在 Roland 的强项上超越它?别担心!既然我恰好是一台1994年生产的 Yamaha MU80 的快乐拥有者——同样是从日本 eBay 购得——我们将找到这些紧迫问题的答案!
### Yamaha S\-YXG50
2003年,Yamaha 发布了 Yamaha S\-YXG50 软件合成器 VSTi 插件,作为其 SOL2 软件包的一部分。S\-YXG50 是对其早期 DB50XG (https://www.soundonsound.com/reviews/yamaha-db50xg) 波表子卡的软件复刻,后者是其 MU50 (https://www.soundonsound.com/reviews/yamaha-mu50-yamaha-cbx-k1) 外置 MIDI 模块的精简版,而 MU50 又是 MU80 的精简版(MU80 是第一款支持 XG 标准的模块)。从纯粹的 DOS 游戏角度来看,这些差异并不重要;当你只关心游戏时,它们基本上是可以互换的。
Yamaha S-YXG50 VSTi 插件
Yamaha S\-YXG50 VSTi 插件
2016年,一位白俄罗斯程序员创建了一个终极的便携式 VSTi 版本 (https://veg.by/en/projects/syxg50/) 的此软合成器,移除了复制保护,并混合搭配了来自各种 Yamaha 官方软件发布版本的部件。该插件使用了 MU 系列原始的 4MB 波表 ROM,在大多数材料上听起来与 MU80 极为接近。由于 Yamaha 在2003年停产了其所有软件产品,因此 S\-YXG50 在实际意义上可以被视为废弃软件。
## 录制过程
除非采用系统的方法,否则在类似的工作中出现自我欺骗或无心之失的可能性相当高。为了将此练习转变为一个可重复的过程,并能够以离线模式(比实时更快)批量渲染软合成器版本,我首先需要录制游戏的 MIDI 输出。这也确保了在音频录制过程中,所有不同的 MIDI 模块接收到完全相同的 MIDI 数据。
鉴于我打算在接下来的几年里录制大量游戏音乐,我认为最好一次性在此处记录下我的录制过程。
复古游戏男人洞穴 (https://blog.johnnovak.net/2023/03/05/grand-ms-dos-gaming-general-midi-showdown/img/recording-setup.jpg)
复古游戏男人洞穴。左边的台式机是我基于 Pentium MMX 200 的真正的“DOS 盒子”;右边的塔式机是我用于 Windows 98 游戏的 Athlon 64 机器。当然搭配的是 CRT 显示器,因为没有 CRT 的老电脑就像无酒精啤酒——相当没意义 😎🍺
### 捕获 MIDI 数据
- 通过 loopMIDI 从在 DOSBox Staging 中运行的游戏录制 MIDI 数据到 REAPER。REAPER 工程设置为120 BPM 和960 PPQ MIDI 事件分辨率,MIDI 事件量化为60 × 1000 / 120 / 960 = ~0\.52 毫秒。
- 将连续的 MIDI 流分割成单独的歌曲(在需要时),执行必要的最小清理,并在每首歌曲的开头插入一个 “GS Reset” SysEx 消息。
#### 注意事项与例外
- **上古卷轴:竞技场** —— 我并未在游戏内录制,而是使用了 PX Player (https://www.vogons.org/viewtopic.php?f=24&t=37630) DOS 工具,它可以使用原始的 Miles Sound System (https://en.wikipedia.org/wiki/Miles_Sound_System) 驱动程序播放 XMI MIDI 文件。警告:这*通常*会产生相同的结果,但在极少数情况下,速度可能会出错(例如 Discworld)。因此,当采用这种快捷方式时,结果*必须*始终与实际的游戏内音乐或已知良好的录音进行核对!
- **网络奇兵** —— 类似地,我使用 PX 播放了开场音乐,以使结尾过渡到菜单屏幕时更平滑。
- **星球大战:TIE 战斗机** —— 即使在数字音频禁用的情况下,声音驱动程序也会在语音旁白期间降低音乐音量。我手动编辑移除了这些音量淡出,同时注意保留了“合理的”淡出(例如歌曲过渡期间)。
- **英雄传说 III** —— 移除了 Apothecary’s Hut 歌曲开头的淡入效果。
- **魔兽争霸 II** —— 将作曲家发布的官方 MIDI 轨道直接导入 REAPER。
- **休闲套装拉里 6** —— 编辑移除了开场音乐中的音效,因为我觉得它们太令人分心。
- **阿卡尼亚王国** —— 我使用 PX 捕获了开场音乐,因为游戏坚持在乐曲结束前自动退出开场。
- 一些游戏在乐曲的第一个音符之前会发送大量的 MIDI CC(连续控制器)、PC(程序变更)或 SysEx(系统独占)数据。这种突然涌入的 MIDI 消息可能需要一些时间来处理,导致第一个音符被部分截断。也许这对所有 MIDI 模块来说都不是问题,特别是像 SC\-55 mkII 这样后期的型号,但它们在我的第一版 SC\-55 和 MU80 硬件模块上绝对会导致问题。软合成器则完全不受此影响。
### 录制音频
- 在时间线上对歌曲进行排序,并一次性录制所有歌曲。
- 对于硬件录音,MIDI 数据通过 Midisport 2x2 USB 盒子馈送到 MIDI 模块,音频通过 Yamaha MG10XU 模拟调音台(也可用作 USB 音频接口)的内部 DAC 以24\-bit / 48kHz 录制。这是一款“准专业级”的、声音中性的调音台,具有平坦的频率响应和极低的自噪声(远低于 \-96dBFS)。
- Roland SC\-55 的输出旋钮设置为12点钟位置;这是在良好信号电平和避免即使在高音量峰值时驱动模块产生失真之间的最佳平衡点。Yamaha MU80 可以设置得更高一些;3点钟位置被认为是最佳
相似文章
ZX Spectrum 系统之旅:声音
关于 ZX Spectrum 声音编程的技术综述,涵盖 1 位蜂鸣器和 AY-3-8910 芯片,并提供演奏 C 大调音阶的示例。
如何防止Web MIDI导致1983年的合成器崩溃?
文章解释了使用Web MIDI API与20世纪80年代经典合成器(如Yamaha DX7)通信时存在的时序挑战,并提供了控制数据传输速度以及解析厂商特定SysEx格式的技巧。
Wario Synth
将歌曲转换为复古Gameboy风格的游戏机音乐。
ZX Spectrum:实验1位声音
作者在ZX Spectrum上实验PCM和PWM声音技术,以实现多声道1位音频播放,并记录了过程中的成功与失败。
在Amiga上零CPU占用播放Atari ST音乐
本文详细介绍了一种在Amiga上播放Atari ST音乐的技术,通过利用Amiga的PAULA芯片模拟YM2149音效芯片,实现零CPU占用,使CPU能够专注于其他任务,如渲染图形。