找回密码
 立即注册
搜索
查看: 8019|回复: 32

[原创]:再论GBA的音频技术

[复制链接]
发表于 2003-3-6 10:21 | 显示全部楼层 |阅读模式
再论GBA的音频技术

好久没有写文了,只是近日在电软上看见一篇论GBA音频技术的文章之后,颇觉其说法有点牵强(是真的牵强嘛……?)故特作此文,以述本人的观点。笔者不是硬件出身的,应该说是技术出身的,所以在一些看法上有一些出入,或者其他的希望大家能够见谅。那么笔者就开始对那篇文章所说的PCM格式的音频作一次讨论,再来进一步地论述游戏中的音频。
对于那篇文章中所说的PCM(脉(冲)码调制(技术,法);[脉码调变]Pulse Code Modulation的缩写。),如果大家在使用Windows自带的“录音机”这个程序时,查看某个WAV(Windows 声音文件)文件时,一般说来,这个文件的音频解码都是PCM。当然,也许还有一些其他的解码格式,如Windows Media Audio V2、MPEG Layer-3等格式。在这里,笔者提到了WMA(V.2)和MP3压缩格式(不是以MP3为后缀的文件)。那么WMA和MP3压缩格式又是什么呢?这就是我们所熟悉的流媒体,对于流媒体笔者想也稍做一下解释:首先,流媒体格式是相对于地址而言的,也就是说,我们在用“Windows Media Player 9系列”或WINAMP播放器在播放WMA或MP3等流媒体格式音乐/动画时,CPU是从文件的最始端开始处理文件直到文件的最后,CPU的寻址只要从某个字节处开始,一直一个一个字节有顺序的往下找就行了。就比如说从“01”到“02”再到“03”而不会向其他类型的文件需要重新寻址如“02”到“AA”再到“05”之类的。另外,MP3、WMA、RM、WMV等现在网上流行的音乐和动画都是进行过频率与位率压缩的。那么,现在回到PCM格式上来,比如一首4.00M,44KHz,128Kpbs(MP3/WMA/RM格式的CD音质)的“Secret of my heart.mp3”(长度为4:27)以PCM的CD音质(PCM格式,44.100KHz,16位,立体声,172 kb/s)写入,让我们来看看需要多少空间。结果需要44.9M的空间。寒,不过呢,前面说的是MB(MBate)不是Mb(MBit),这个Mbit是兆位,Mb与MB的换算为1:8,所以,再加以换算……44.9MB*8=359.2Mb。天哪……我们的GBA卡一般也只是128Mb(以下仍旧简称为M)或256M的啊,如果以这种高质量格式的文件放入,以256M卡算,也只能放0.7首同样长度的歌曲(晕了,一首也放不下~)……现在笔者就要打笔者的问题提出来了,像机战似的游戏,BGM有N多首的,并且比较长的游戏,如果以WAV(PCM格式)存放,一般说来,也只能有4~5首歌了。那么,笔者也进行了音质降低再压缩(录音机音质:PCM 22.050 kHz, 8 位,单声道)。先声明一点,GBA游戏中的BGM多数都是立体声的!这样的文件大小为:5.82M(其兆位是46.56Mb)。同样以256M的卡估算一下,可以放入这样大小的文件有5首半(以46Mb计算)。寒了,这个容量还是不够哦,不要急,继续往下看!
那么,现在应该怎么办呢?呵呵,不要急嘛,还有没有人记得到一种文件容量很小的,就可以模拟出上百甚至上千种乐器或声音的文件格式呢?(喂……你是说……?)哼哼,没错!Midi!MIDI的全称是:音乐器材数字接口,MIDI 厂家协会 (MMA) 的规范。此规范定义用于描述音乐数据的协议(如音符打开和音符关闭消息)、存储音乐数据的文件格式(称为标准 MIDI)及标准硬件接口。怎么样?想不到吧?现在笔者再把MIDI的软波表大致说一下,首先,Windows 自带一个软波表,在Windows XP下的软波表是叫做“Microsoft GS 波表软件合成器”。那么,现在笔者要给大家的耳朵体验一下MIDI软波表的魔力了。首先,请大家去下载这么一个MIDI包:http://game.5see.com/wpage/files/03113_1314.zip,这个MIDI包是《超级机器人大战α外传》的MIDI包,据了解,这个MIDI包是使用日本人开发的PsxMC从PS盘中抓出来的MIDI,所以这些MIDI不会与游戏中的效果(不是声音效果哦~)有什么大的变化,先下载这个MIDI包,随便打开一个MIDI文件,或者打开第22号文件(STR069.mid)这首MIDI的名称是《ダ[/url]`クプリズン》,小白的战斗主题背景音乐。怎么样?现在用Windows 自带的软波表听这些个MIDI是不是几乎各个都很失望?(你这家伙耍我们啊?不想活了?)寒,不要急嘛,等我话说完嘛。现在让我们去YAMAHA的官方网站去下载YAMAHA的软波表,下载地址是在:http://www.yamaha.co.jp/xg/download/s-synth/download.html(日文,日本下载点);http://www.yamaha.co.uk/xg/html/midplug/m_syg50a.htm(英文,美国下载点)。什么?你不懂日文也不懂英文?寒……那么笔者推荐你先去英文下载页下载,往下拖,拖到Download[/url] S-YXG50 V3.0 (for Windows 95/98/Me)这里,现在应该能看懂了吧?笔者的电脑是XP的,所以就进入2000/XP的下载页(寒……进去一看……目标地点一样……晕~),那么,把页面到拖到最后,按自己的操作系统点击下载。在日文站点中的嘛,就要多个文件下载了,希望在日文下载点下载的朋友多看一下安装方法(不懂日文的还是跟笔者走吧,去英文站下)。下载好了,安装完毕后,重启之后,在Windows 右下的状态栏出现了一个XGSoft的图标,先右击点它,选择SoftSynthesizer 安装程序,在详细设定中,把复音选为128,接受效果全打上,音质为CD音质- 44K,CPU最大应用为50%~80%间就行了,确定之后。WIN2K/ME和XP的用户在状态栏上的音量“调整音频属性”中选择音频选项卡,把MIDI 音乐播放选为“YAMAHA XG SoftSynthesizer”,WIN98的用户进入控制面板的好象是叫做“音频设备”之类的设置中,反正不是“声音”的那个,在“调整音频属性”中的音频选项卡把MIDI 音乐播放选为“YAMAHA XG SoftSynthesizer”,同样确定。现在再让我们来打开播放器,继续听STR069.mid这首《ダ`クプリズン》。怎么样?是不是很强呢?与机战中的BGM差不了多少呢?另外,笔者还要说一下,在MIDI中,有一种声响是叫做“人声”的,其他还是诸如“枪声”之类的模仿音。这一点是对于在机战OG中的《EVERYWHERE YOU GO》(该MIDI包中第73首曲子)出现的“GO”的声音的说明,不过在YAMAHA的这个软波表中没有这个人声模拟,所以不要指望会出现“GO”了,呵呵。在这个MIDI包中的所有MIDI的占用空间为2.2M(17.6Mb)与PCM或者MP3,WMA等格式的音频文件的差距可想而知。
综上所述,笔者的观点已经十分明确了,那就是GBA游戏的背景音乐,基本上都是以MIDI加上一个专用的软波表来完成的,这样就可以省去了许多的空间!最后,这篇文件虽然不长,只有3千来个字,但是,笔者只是给大家一些更多一些的消息。更多的GBA的音频好坏,就在这MIDI与软波表之间了,多说也没用,大家也应该能够在刚才的那段MIDI之旅中去体会到更多的东西。另外,感谢Thor君替笔者指出GBA是以位为计量,而不是字节,谢谢了。
回复

使用道具 举报

     
发表于 2003-3-6 11:16 | 显示全部楼层
记得以前有个玩家告诉偶,GBA是可以和PS一样的音效,偶寒,原来又是被杂志误导%……
回复

使用道具 举报

发表于 2003-3-6 13:25 | 显示全部楼层
首先声明,不买电软已经数月了,本人根本没看过那篇文章,也不知道里面到底说了些什么。

到底是MIDI还是PCM,最后虽然认定是MIDI,但说到头来还只不过是一种猜测,如果要下结论的话,还是去反汇编GBA的游戏代码吧。

PCM也可以有很多参数,最重要的是采样频率、采样精度和声道数目。只要采样频率设得低些,播放时的数据传输量可以很小的,例如16KHZ,8bit,双声道,播放的数据量为32KB/S,1MB可以播放32秒,8MB则为4分钟多。这些数据存储进卡带时,再使用一些压缩技术,容量完全可以控制在一定范围内。当然,我这些也只是猜测。

猜测GBA游戏是使用MIDI即时换算成音频采样输出,当然可能有游戏这样做,问题是这可是要占用大量CPU资源的,GBA的CPU虽然是32bit,而且是RISC架构,但主频毕竟不过16MHZ而已,能够在处理其它游戏数据的同时还兼顾从MIDI到采样的转换吗?即使N64,要处理复杂场景时,音频都必须采用不做计算的直接采样输出,GBA有这个能力吗?

GBA音源的主要硬件输出是两个DIRECT SOUND通道,采样频率可以由时钟中断控制,只要游戏容量足够,采样频率可以超过上千KHZ。去专门的网站看一看吧。

采样频率只是一个硬数据,低频率也未必代表多么差的效果。就好象SFC256色的画面,只要有了一流的美工,照样可以做得美丽动人,甚至和PS游戏一比一样。

另外,MIDI决不是很多人想象中多么低级的标准,MIDI文件中记录的是乐谱,而不是低级而不值钱的音频采样数据,是面向作曲和乐器的格式,国际通用标准。MIDI类似乐谱,声卡中的硬波表或安装的软波表则类似乐器,只有两者都够好,才有好的效果。高级和低级声卡的最明显的差别之一就在于MIDI的播放效果,很多低级声卡支持的乐器不超过20种,而且转换也极其简单,而真正壮丽的乐曲动辄用到上百种乐器,效果怎能不差。

MIDI标准支持同时16声道的输出,只要是乐声,各种古代、现代乐器能够演奏出来的,不管多么优美华丽,MIDI都可以一丝不差的做到。
回复

使用道具 举报

发表于 2003-3-6 13:31 | 显示全部楼层
GBA的一个小喇叭怎能做成立体声的?
回复

使用道具 举报

发表于 2003-3-6 13:46 | 显示全部楼层
两个DIRECT SOUND通道是为耳机而设的,分别连向左右耳。使用喇叭时,两通道全部经喇叭输出,当然没有立体效果了。不过音场效果还有可以很强的,建议去试试METROID FUSION,音响效果GBA目前最强,和其它游戏比简直就是脱胎换骨的感觉。
另外,通道不等于声道,多声道可以通过CPU计算即时叠加,经两通道输出。METROID中,脚步、背景音、各种效果音、极为清晰的人语广播,全部即时计算叠加。
回复

使用道具 举报

发表于 2003-3-6 13:54 | 显示全部楼层
那就是说GBA的声音不是立体声?
回复

使用道具 举报

发表于 2003-3-6 14:09 | 显示全部楼层
其实这里提到的midi和字典压缩技术本质上没有区别.
我宁愿认为GBA是有专用的硬件进行了音频压缩和解压缩.
回复

使用道具 举报

     
发表于 2003-3-6 20:27 | 显示全部楼层
好象不是楼主的原创吧
回复

使用道具 举报

发表于 2003-3-6 23:47 | 显示全部楼层
…………

SONY某技术可以让双喇叭达到接近5.1的效果
现在晓得了
回复

使用道具 举报

~0~ 该用户已被删除
发表于 2003-3-7 10:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2003-3-7 10:52 | 显示全部楼层
最初由 TriForce 发布
[B]那么,现在回到PCM格式上来,比如一首4.00M,44KHz,128Kpbs(MP3/WMA/RM格式的CD音质)的“Secret of my heart.mp3”(长度为4:27) [/B]

几位采样?
MP3/WMA/RM格式的CD音质指的是什么?
回复

使用道具 举报

发表于 2003-3-7 10:58 | 显示全部楼层
我觉得楼主对MIDI的基本概念还很模糊,PS里带的midi波表(软硬未知)就是yamaha的,所以说ps上的midi音乐都是在yamaha波表上开发的。当然用yamaha的XG标准的波表回放出来的效果是最佳的,因为它和音乐制作人听到的效果是最接近甚至一样的(不管是YSXG-20,50,100还是1000,YAMAHA波表的原始wav波形文件其实是一样的,所不同的只有效果器。)。

而相反windows自带的波表是roland开发的,与其著名的软波表vsc-88(sc-88音源的软件版)相差不大,但是众所周知roland的波表是采用GS标准的。把XG格式的midi在GS的波表上回放,非但效果不好,而且根本不兼容,比方说两者乐器的bank号和patch号就无法对应,重播时乐器会发生紊乱。

要比较roland和yamaha软波表高下的话,拿一首两者都兼容的GM标准的midi来回放一下才行。可以说两者各有千秋,一般公认roland的弦乐器比较强,而yamaha的长处是管乐和打击乐器。所以midi乐曲的风格决定了哪个软波表回放的效果更好。

一般国外的商业midi中都包涵了这首midi是在哪个音源上制作的,比方说日本有数不清的for sc88 pro的midi。如果你用sc88听可以得到完美的效果,当然如果你用vsc88或者是hypercanvas甚至是windows自带波表听,效果也不错。

midi=Musical Instrument Digital Interface,它实际上指的是一种协议,目前有三种标准,最简单也是通用的General Midi,roland制定的General Standard以及yamaha的XG标准,后两种标准都比GM复杂的多,但是都对GM向下兼容。任何GM标准的波表都有128种最常用的乐器以及音效,XG和GS可以有多达几千种,还有一个重要的指标是复音数,也就是同一时间内最大允许的声音数量,如果复音数为128,并不代表在一刻内可以有128种乐器同时发声,即使不考虑
和声乐器,就是单音乐器它演奏时占用的复音数也很可能是大于1的。

还有一个MIDI文件中包含的信息不光有乐谱中的音高,时值等等,它实际上要远远复杂的多。但是如果要最简单的理解的话,可以把midi文件理解为一个乐谱,而波表理解为一个乐队。同样的乐谱演奏的好坏就要看乐队的水准了,当然首先要乐队能正确识别乐谱(上述的兼容性问题)。
回复

使用道具 举报

发表于 2003-3-7 11:17 | 显示全部楼层
如果真是用midi,就不会在很多游戏中出现杂音和噪音,而一些大容量(比如黄金太阳2)游戏音质却大为提升。
回复

使用道具 举报

发表于 2003-3-7 16:32 | 显示全部楼层
为什么我用耳机听GBA是总是有一个很大的噪音呢,效果珍视不怎么样,难道是我的耳机问题?
回复

使用道具 举报

发表于 2003-3-7 17:10 | 显示全部楼层
楼上
一你用的电池可能不好
二你用的不是任天堂发售的GBA专用的耳机
三你可能玩的是D卡或烧录卡
回复

使用道具 举报

发表于 2003-3-7 17:56 | 显示全部楼层
古怪的原因……
回复

使用道具 举报

 楼主| 发表于 2003-3-7 18:48 | 显示全部楼层
最初由 newtype 发布
[B]好象不是楼主的原创吧 [/B]

你回108……我再和你说……
你不会让我带着不是我的头像的ID出场吧?
回复

使用道具 举报

 楼主| 发表于 2003-3-7 18:50 | 显示全部楼层
最初由 jjx01 发布
[B]几位采样?
MP3/WMA/RM格式的CD音质指的是什么? [/B]

……你压过MP3吗?
去看看超级解霸的抓轨设置~
回复

使用道具 举报

发表于 2003-3-7 18:55 | 显示全部楼层
最初由 RIS057 发布
[B]……你压过MP3吗?
去看看超级解霸的抓轨设置~ [/B]


几位采样?
MP3/WMA/RM格式的CD音质指的是什么?
回复

使用道具 举报

 楼主| 发表于 2003-3-7 19:00 | 显示全部楼层
最初由 jjx01 发布
[B]几位采样?
MP3/WMA/RM格式的CD音质指的是什么? [/B]

MP3,WMA,RM格式文件中的采样率如果是
44KHz,128kbps,双声道的话,这样就是所谓的CD音质。
回复

使用道具 举报

发表于 2003-3-7 19:05 | 显示全部楼层
》比如一首4.00M,44KHz,128Kpbs(MP3/WMA/RM格式的C
》D音质)的“Secret of my heart.mp3”(长度为4:27)以
》PCM的CD音质(PCM格式,44.100KHz,16位,立体声,172
》 kb/s)写入,让我们来看看需要多少空间。结果需要44.9M的空
》间
为何前一个4M后一个44M?

128Kbps的MP3音质比起CD音质还是有差距的
回复

使用道具 举报

 楼主| 发表于 2003-3-8 11:40 | 显示全部楼层
最初由 jjx01 发布
[B]》比如一首4.00M,44KHz,128Kpbs(MP3/WMA/RM格式的C
》D音质)的“Secret of my heart.mp3”(长度为4:27)以
》PCM的CD音质(PCM格式,44.100KHz,16位,立体声,172
》 kb/s)写入,让我们来看看需要多少空间。结果需要44.9M的空
》间
为何前一个4M后一个44M?

128Kbps的MP3音质比起CD音质还是有差距的 [/B]

是啊,不过这个是在技术上被称做是CD音质……

哦,忘了说一下了……WMA9P(Windows Media Audio 9 Professional)的CD音质技术是192Kbps 48KHz的说……

空间的差距就在于不是MP3等技术压缩了,PCM……
回复

使用道具 举报

     
发表于 2003-3-8 15:24 | 显示全部楼层
最初由 RIS057 发布
[B]MP3,WMA,RM格式文件中的采样率如果是
44KHz,128kbps,双声道的话,这样就是所谓的CD音质。 [/B]
采样率44.1KHz是没错,但是音质并非128Kbps
压MP3最低的音质是32Kbps,最高320,前者音质太差,后者体积庞大,128作为两者结合最佳的一个交点而被广泛采用,是最流行的压缩质量,不代表CD音质就是这个。
真正的CD音质是不经压缩的150KByte/S数字化数据
回复

使用道具 举报

     
发表于 2003-3-8 16:23 | 显示全部楼层
最初由 jjx01 发布
[B]》比如一首4.00M,44KHz,128Kpbs(MP3/WMA/RM格式的C
》D音质)的“Secret of my heart.mp3”(长度为4:27)以
》PCM的CD音质(PCM格式,44.100KHz,16位,立体声,172
》 kb/s)写入,让我们来看看需要多少空间。结果需要44.9M的空
》间
为何前一个4M后一个44M?

128Kbps的MP3音质比起CD音质还是有差距的 [/B]


这个CD音质是指当你要转换CD到MP3或其他格式所应取的采样率.
如果,你要转的是语音对话,收音节目就没必要有很高的要求.

而CD的音质也是由录音技术来区分的,ADD,DDD,HDCD各有不同的录音采样.也并非可以一概而论的.
回复

使用道具 举报

发表于 2003-3-8 18:30 | 显示全部楼层
一个4M一个44M的差距从何而来?
回复

使用道具 举报

     
发表于 2003-3-8 19:08 | 显示全部楼层
最初由 jjx01 发布
[B]一个4M一个44M的差距从何而来? [/B]

人耳不能轻易分辨的高/低频。。。。。。
回复

使用道具 举报

发表于 2003-3-8 19:10 | 显示全部楼层
最初由 太白汤 发布
[B]人耳不能轻易分辨的高/低频。。。。。。 [/B]

没听懂
回复

使用道具 举报

     
发表于 2003-3-8 19:15 | 显示全部楼层
MP3就是把CD中那些人耳不能轻易分辨的过高/低频声音删掉了,用普通耳机听的话,128Kbps的MP3和CD音质没区别。。。。。。。你不会真不知道吧-______-
回复

使用道具 举报

发表于 2003-3-8 20:07 | 显示全部楼层
不知道,想知道MP3音乐的容量具体计算公式
比如WAVE格式的容量=(采样频率X采样位数X声道数)/8
这样的

反正自己用工具CD转MP3的效果都不好,可能是工具差……

别处下的128Kbps的听起来就很强,眼红
回复

使用道具 举报

     
发表于 2003-3-8 21:55 | 显示全部楼层
最初由 jjx01 发布
[B]不知道,想知道MP3音乐的容量具体计算公式
比如WAVE格式的容量=(采样频率X采样位数X声道数)/8
这样的

反正自己用工具CD转MP3的效果都不好,可能是工具差……

别处下的128Kbps的听起来就很强,眼红 [/B]
MP3容量计算:bps÷8×s
bps是Bit Per Second,8 Bit = 1 Byte(字节),再乘以秒数就是字节数,就这么简单
回复

使用道具 举报

发表于 2003-3-9 11:26 | 显示全部楼层
没有什么的
只要大容量的卡一出来,音质肯定会很好的。
回复

使用道具 举报

发表于 2003-3-9 19:39 | 显示全部楼层
楼主真是很厉害
8过对我这种88来说
一点也看8懂!
回复

使用道具 举报

     
发表于 2003-3-14 18:28 | 显示全部楼层
最初由 RIS057 发布
[B]你回108……我再和你说……
你不会让我带着不是我的头像的ID出场吧? [/B]



-_____-

寒。原来是
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-5 14:59 , Processed in 0.236978 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表