【研究】GBA平台机战音乐音效系统全解析

×××【本文发表在机战世界论坛,请勿任意转载,作者水平有限,有错误欢迎指出,谢谢】×××

开门见山,这是科普帖……对GBA的音响系统和GBA上机战作品的音响部分现象做一些解释。【GBA的音响系统】

GBA是怎样发出声音的呢?下面来说明一下:

GBA内部一共有6个声音通道,其中包括4个GBX互换音源通道2个DirectSound PCM通道,下面具体来解释一下这些通道的工作原理。

首先,GBX互换音源是一种FM(调频)合成音源,通过程序给定一种波形和频率,进入包络放大器后发出声音。
举例来说:我们设定波形为方波(Square Wave),然后通过一个频率和音高的对应关系表(注意,这个对应关系不是线性的)来设定频率,振荡器产生声音,声音通过包络放大器来调整攻击、保持和释放时间,选择声道相位,并放大输出。
那么方波是什么声音呢?大家可以打开FC模拟器随便载入一个游戏,你通常听到的那种“嘟嘟”的声音便是方波了=V=除此之外,GBA还可以发出白噪声……
嗯……肯定有人问,为什么还要发出噪声=V=?嗯嗯,这是早期的家用机音源共通的,在只有FM音源的时代,打击乐不能用以上任何一种波形来产生,因此就需要“呲呲”的白噪声来模拟咯=V=
那么GBX互换音源的特点是……嗯,它能够发出很纯粹的声音(=V=因为是单一波形的很纯粹的波),清晰,可以很响,另外就是占用CPU资源很低,非常低=V=
那么缺点也很明显,那就是,它根本就不像任何一种乐器,而且,同时只能发出一个音(也就是没有复音,不能演奏和弦)。不过GBA有4个GBX音源通道,因此组合起来使用也可以达到不错的效果。
另外有一点需要注意的是,这4个通道是有分工的,具体大概是2个通道负责脉冲波形,1个通道用作波形记忆,另外1个通道用来发出噪声=V=

好,下面说说DirectSound通道,DSound大家都很熟悉了,其实GBA不是用了DSound技术,只是很像而已(那技术可是微软的东西=V=),要不我们还是叫它PCM通道吧XD……PCM通道顾名思义,就是可以直接播放WAV,不难解释,那些音效啦,语音啦,包括有人把MP3烧进GBA全都是用这个通道在播放。不过这个PCM通道可以支持的格式很可怜,是8位,单声道……
说到这里,又有人问了,这两个通道播放音乐的话,岂不是要占用很大空间来储存?没错,如果机战的音乐都是WAV的话,那就完蛋了=V=1G的卡带也不够用,因此,我下面又要提到波表合成了。
所谓波表合成,就是通过读取预先存储好的样本(Sample),使用软件运算进行变调,重复,加上包络放大,合成,最后输出声音。举个例子:我们事先录制一个钢琴的声音,然后做成样本存储在卡带里面,当我们需要用钢琴这个音色来演奏的时候,只要把样本调出来,根据所需要的调值对样本进行变调,输出,就可以了,真方便。
那么波表合成的优势在于什么呢?显而易见嘛,只要有样本,就可以模仿各种乐器的声音,人声也可以做成样本(比如,Everywhere You Go里面的“GO!GO!”),乐曲就很丰富。缺点呢……样本多了也很庞大=V=而且实时运算非常消耗CPU资源,声音占用了过多的资源,图像部分就……呵呵=V=

【关于GBA平台上的机战】

好,通过以上科普教学,大家知道了GBA怎么发出声音=V=那么下面我们来看看GBA平台上的机战作品。
也许不用我来说,大部分玩家都会把A、R、D、J的声音分为一类(下面简称Type-A),OG、OG2的声音分为另外一类(下面简称Type-B)。这种分类方法的确没错,下面我就是要说为什么会这么分类:

首先要说的是,GBA平台上所有的机战作品,都是采用FM合成波表合成两种方式混合产生声音的,只不过引擎的工作方式不同

Type-A的音乐部分以FM合成为主,大家仔细听的话会发现,主旋律基本都是方波来演奏,贝司都是低频的波=V=而PCM通道在干什么呢?一个PCM通道负责敲鼓,另外一个负责演奏和弦(电吉他之类,分散和音)还有音效。
这样我们就解释了为什么在播放复杂的音效的时候,音乐会出现部分缺失的问题。因为播放音效也是通过其中一个PCM通道进行,自然会把原来播放的音乐挤掉。大家可以用模拟器打开机战J的ROM进行实验:
首先用音频菜单中的声音选项关闭除了Direct音频通道A之外的所有通道,然后你进入战斗画面去听,当有音效出现的时候,原来的音乐就中断,音效播放完毕以后音乐继续=V=

大部分玩家都觉得Type-B的音乐质量好,下面我们再来解释一下Type-B到底先进在哪里。
按照刚才的方法打开OG2的ROM,还是只保留Direct音频通道A,看看你能听到什么?没错,你可以听到音乐的大部分内容。这是为什么呢?因为Type-B的音频引擎是真正实现了“复音波表合成”。
简单说,Type-A是这样使用PCM通道的:读出一个样本,变调,输出,很简单吧。Type-B是这样使用的:把需要同时发声的若干样本取出,分别变调,然后软件缩混为一个音频流,再输出到PCM通道。因此在OG2中,我们只打开PCM音频通道A就可以听到鼓、电吉他、弦乐等等很多音色在同时演奏,而J里面,我们只听到了一种音色在演奏,这就是Type-B音频引擎最大的先进之处了。在Type-B作品中,PCM通道A被用来演奏大部分乐曲内容,而两个脉冲波形通道用来演奏装饰性的音符(大家都可以只开启相应的通道听听看),低频通道通过低频波演奏贝司,噪声通道演奏辅助打击乐,后面两个通道和Type-A中分工一致。哈哈,有人发现了,PCM通道B完全没用?呵呵,这个通道专门留给音效啦,因此采用Type-B引擎的作品不会出现播放音效的时候音乐部分缺失的问题。

【再说几句废话】

好了,相关技术问题说到这里。关于眼镜厂在J中为什么没有使用Type-B引擎这个问题,我和大家一样想不通。理论上说,Type-B引擎的确需要消耗更多的CPU资源(可以说对于CPU的消耗远远超过Type-A引擎),然而就OG2的画面表现来看,流畅度并没有受到严重的影响。当然,对于这两种引擎所产生的音乐质量,不同的玩家也有不同的评判,不过我相信大部分玩家是喜欢Type-B的,至于眼镜厂为什么没有以Type-B替代Type-A,有没有高人出来说说看呢?

另外,关于用模拟器改善音质的问题,低通滤波器的确是一个不错的选择。这个东西好像一个闸门一样,可以把GBA振荡器产生的极高频谐波过滤掉,这样可以让波形更加圆滑,可以有效减少杂音,推荐使用。

(完,Shyujikou~2005年9月25日)

永恒传说OST入手,Fire Emblem封印之剑始动

今天终于入手了TOE的OST,双CD的盒子很厚,有质感,不过里面的小册子感觉单薄了一点,仔细想想OST又没有歌词的,小册子也自然没什么好印。还有一个疑问就是小册子里面竟然没有樱庭统的名字,他是传说系列御用啊,名字怎么都没有……奇怪

GBA投入测试使用,今天开始打Fire Emblem封印之剑,嗯……第5关我都要吐血了……谁叫这游戏死人不能复活呢,死了谁我都可惜……现在已经挂掉2人了,好在还不是我非常重点培养的人……>_<

用于购买GBASP的资金入手

今天jamo给了1000块,剩下那500块其实给不给都无所谓了,本来就是个象征而已,何况我承认jamo比我的贡献大,呵呵。明天某同学回家,准备让他帮我入手SP,松江这地方不方便啊……

周四网管会要发这个学期的工钱了,这学期做了不少东西,累是累的勒,不过有收获就好。其实重要的收获不是钱,而是收获一种成就感和工作的乐趣,这是我最希望得到的东西。

上次的网页制作比赛学校下达了追加奖励,据说是每人300左右的实物奖品,这还真的为难,300块钱能买啥东西呢,关键是我现在想要什么,估计无非是IT相关的东西,我得考虑一下了,要物有所值……

仔细算算,我的奖学金还没取出来,加上爱云打过来的300块稿费,还有点积蓄嘞(怪不得他们说我小资- -|||)。手里没钱就不痛快,虽然我不太爱花钱,不过一花就是大数目咯,呵呵……