« MD 架构 (index)

MD 架构

Chapter 5: 音频


目录

  1. 功能
    1. 雅马哈YM2612
    2. 德州仪器SN76489
    3. 混音器
  2. 执行器
  3. 破解采样
  4. 辅助FM合成
  5. (额外内容)Mega CD声效

可以说,这款游戏机的音频功能设计颇为独特。 一方面,它沿用了上一代主机的成熟音频技术; 另一方面,又在既有技术基础上新增了一种新颖(却复杂)的合成技术。 因此从某种程度来说,它同时兼具两代主机的音频特性。

具体而言,MD搭载了两块声音芯片:一块雅马哈YM2612和一块德州仪器SN76489

功能

让我们看看每个芯片各自能提供什么,毕竟它们哪个都非常的特别。

雅马哈YM2612

Video
(Video) FM通道

Video
(Video) PCM通道

刺猬索尼克(Sonic The Hedgehog)(1991)

雅马哈YM2612是一款FM合成器,提供6个FM通道(其中1个可替换为PCM采样播放)。 该芯片以68000处理器主频的六分之一运行,虽然每次只能输出1个声道,但通过每4个时钟周期轮换1个声道的方式,营造出6声道同时发声的效果。 因此,YM2612的有效采样率约为53kHz。 此外,它支持9位精度的PCM采样, 但由于第9位缺乏官方文档支持,商业游戏实际仅使用8位采样。 值得注意的是,其数据总线仅与Z80处理器相连。

频率调制(FM)合成是专业音频合成技术之一,这种在80年代迅速走红的技术开创了全新的音色领域(该时期流行金曲中处处可闻其声)。

简而言之,在极其简化的情况下,FM算法采用单一波形(载波),并使用另一个波形(调制器)来改变其频率。 结果是具有不同声音的新波形。 载波-调制器组合被称为运算符,并且多个运算符可以串联起来形成最终的波形。 不同的组合达到不同的效果。 YM2612 的每个通道可配置四个运算器(operator)。

相较于传统的PSG,这堪称质的飞跃:开发者终于摆脱了预设波形的束缚。

德州仪器SN76489

Video
Video - PSG 通道.
刺猬索尼克(1991年)。

德州仪器SN76489是一款可编程声音发生器(PSG),可生成三路脉冲波和一路噪声。

这实际上是原始Master System的声音芯片,它嵌入在VDP中。 它以Z80的速度运行。

对PSG的编程只需向单个8位寄存器(称为PSG端口)写入数据,且两颗CPU均可执行此操作。 虽然其数据总线仅与68000相连,但当Z80进行写入时,总线仲裁器会自动无缝处理访问请求。

值得注意的是,本例中"脉冲波3"通道处于闲置状态。 这是因为游戏使用了一种噪声通道模式,该模式保留了第三个脉冲通道用于调制,这也是SMS中的一项功能。

混音器

Video
Video - 所有音频频道.
音效. 刺猬索尼克(1991年)。

这两块芯片可同时输出音频信号,此时由一个称为音频混合器的额外组件负责接收两路信号并进行混音处理。

最终生成的模拟信号将通过音频输出接口传输。

执行器

Z80本身是一颗独立的处理器,因此需要运行专用的程序(存储于其8KB RAM中)来解析来自68000或卡带ROM的音乐数据,并有效控制两块音效芯片。 该程序称为音序器驱动程序

不过,音频驱动的基础架构并不局限于Z80处理器。 虽然Z80的内存映射表明它是唯一能同时控制两块音频芯片的处理器(这对已经疲于处理其他任务的68000而言或许是一种解脱), 但总线仲裁器仍可暂停Z80以允许68000直接访问YM2612芯片。 这种方案效率较低,但为程序员提供了额外选择。 例如,初代《刺猬索尼克》将音频驱动部署在68000上,而后续作品则将该任务转移至Z80。

破解采样

一些音乐作曲家可能会决定专注于PCM频道以播放更真实的声音,为此,游戏需要使用剩余的可用RAM不断对其音乐进行排序和流式传输。 主要限制是要填充该内存,必须先将主总线阻塞(因此在该时间范围内无法将命令或采样发送到音频芯片)。 否则,可能会出现声音异常(静音、冻结音符、低采样率等)。

出于这个原因,我决定将本节专门举一些成功克服上述限制的游戏例子。 一些游戏并没有仅仅满足于普通的鼓点套件,而是找到了惊人的方式来为单个PCM声道流传输更丰富的采样,看看这些例子:

Video
(Video) PCM 通道。

Video
(Video) 所有音频通道。

刺猬索尼克3 (1994).
这是据说由Michael Jackson共同撰写的音轨之一。 无论如何,整体的配乐相比其前辈有着独特的节奏感。

Video
(Video) PCM通道(唯一使用的通道)。
玩具总动员(1995)。
这是在68000 的帮助下实时测序的。 一个非常密集的任务,这意味着它只能在游戏的非常特殊的点(即主菜单)进行。

我知道这些声音远达不到CD质量(16位,44.1 kHz),但请记住,这些声音曾经被认为在这台游戏机上是不可能复制出来的,我甚至还没有强调与上一代相比这代表了多少的进步,所以它们至少值得一些赞誉!

辅助FM合成

若说通过雅马哈DX7控制面板编写FM合成器程序已属不易,那么仅用68k/Z80汇编语言创作音乐更是令人头痛至极......

幸运的是,世嘉后来为MS-DOS PC分发了一款名为GEMS的软件,以方便MD音乐的创作(和调试)。 这是一个非常完整的工具,其中包括许多补丁(可供选择的预配置运算符),这也可以解释为什么一些游戏具有非常相似的声音。

更重要的是,这些音频驱动程序还实现了突破硬件限制的通道管理机制:游戏可以实例化超出物理限制的通道数量,并为每个通道分配优先级数值。主机播放音乐时,会根据优先级动态分配这些通道到可用硬件音轨上。 此外,可以自动跳过具有高优先级但没有音乐的频道。

通道还包含一些逻辑,通过在其数据中实现条件,使音乐能够根据玩家在游戏中的进展方式"进化"。

(额外内容)Mega CD声效

这里有一个有趣的事实:Mega CD扩展设备提供了额外的2个通道用于CD音频(还有其他功能)。 其中一个最著名的游戏《刺猬索尼克CD》拥有非常出色的音乐质量,但和其他游戏一样,音乐也需要循环播放。问题在于,在1倍速的CD读取器上循环播放音乐会导致明显的间隙,因此游戏包含了循环填补音轨,这些音轨在CD头返回起点的同时由另一个PCM芯片执行。

这些填补音轨仅出现在游戏早期测试版本中,并没有被包含在最终发行版中;直到2011年的重制版才最终加入了这些填补音轨。 这是游戏的其中一关:

Click to listen
Audio - MegaCD版本(1993)。

Click to listen
Audio - 重制版(2011)。

你注意到Mega CD版本的差异了吗?


Previous: 4. 图形

Next: 6. 游戏


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站