然而,随着显示卡的发展正在呈现出顶峰的状态,玩家对游戏也表现出越来越挑剔的姿态,认为优秀的游戏除了具有赏心阅目的图象和绚丽的特效外,音效也是不可缺少的,所以现在的形势似乎有急转的趋势 - 用户和开发者比以往任何时候都专著于音频系统的效果。在现代的游戏开发计划中,声音效果占据了40 %的预算,时间和人力。
音效芯片制造商和3D音效的开发者们在竭力使用户和应用程序的开发者们相信:良好的3D音效将是现代多媒体电脑的主要组成部分。
以前的音效是立体的,这是非常模糊的说法;在引如了3D Sound之后,我们全面进入了多通道音频效果的新纪元:4.1,5.1,和7.1通道。
现在让我们走近3D音效,看它与多通道解决方案的雷同和区别。

图1:3D 音效的概念
我们这里以Action发布的典型第一人称射击游戏"Vivisector:Beast Inside"(活体解剖者:人面兽心)为例深入浅出地解释本文中的问题。上面的图象里有观众和音源,其中有些音源是立体声的(例如背景音乐;在这个特别的游戏里,风和丛林的沙沙声都将是主要的环境(噪)声);怪物有8个音源;玩家的射击,脚步等作为1个音源;还有3个环境的音源(昆虫,小鸟等等)。
为了在场景里获得更加逼真的音效,虚拟世界的3D 音效都被进行了深度的处理:模拟或者夸大现实世界的声音,这里使用到了各种各样的音频处理技术,例如:混响,反射,闭塞,阻碍物,远方传来的声音(音源与听众的距离).....等等。
3D 音频技术:定位
每个人能够感知到的声音都是不同的(这依赖于耳朵的形状,年龄和心理状态),因此在1项3D技术里关于不同的声卡或者处理效果不可能只有1个质量的选项。声音是否能够真实地再现,则主要依赖于声卡和扬声器,还有游戏中采用的音效处理引擎。

图2:3D空间
现在硬件已经能够实现这种效果了。声卡能够使用HRTF(头部相关传输函数)技术在两个扬声器或者耳机中模拟音源的位置;通过过滤或者其它转换来模拟人类的听觉。
HRTF(头部相关传输函数)- 使用两个耳朵决定音源在空间位置中传输的函数。在声音的传递过程中,我们的头和身体实际成了改变声音的障碍物,我们的耳朵藏在音源的后面,能够感知到声音信号的改变;接着声音信号会进入我们的脑子,并被解码来决定音源在空间中正确的位置。

图3:HRTF(头部相关传输函数)
在上图的你可以看到从左耳到右耳各有不同的3个HRTF(头部相关传输函数):音源定位,135度数和36度数。而这些数据的所有处理过程基本上都是一致的,通常的做法是在特殊的耳麦下使用特殊的方法把这些数据记录起来。Sensaura ,在平滑的法则下((例如,在2500 Hz的峰值,和5000 Hz的低谷下使用间隔)利用人工合成HRTF,而其它的公司通常都使用平均的HRTF。
上面的HRTF系统由两个FIR 滤镜组成,而HRTF就是它们的传输函数。既然HRTF具有智能,那么我们储存容量巨大的HRTF似乎就显得浪费了,因为真实音源的定位能够通过HRTF插补来实现。
逐渐没落的HRTF
1、声音会发生严重的扭曲
2、处理的进程非常慢
3、如果音源是固定的,那么它们的位置将不能够精确地定位, 因为人的脑子需要移动的音源(音源的移动或者在听众脑海的移动)才能够知道音源在几何空间的精确定位。
人们突然其来地向音源转过头去,这是常有的事情;而就在头转过去的一瞬间,脑海里就能够知道声音在空间的确切位置。在前后的HRTF函数之间,如果音源没有产生特殊的频率,那么脑海就会忽略这样的声音;相反,它会把这样的数据与记忆中的数据进行对比,并定位音源在空间中的位置。
4. 耳机能够获得最理想的音频效果。耳机能够很好地解决把声音的信号从1个耳朵输送另外1个耳朵的问题。然而,大部分人并不是很喜欢耳机,即使是无线的型号。
此外,玩家带上耳机之后,会使声音听起来更近一点,这个问题还有待解决。

图4:最佳听音位置和串话干扰
音响学的发展可以避免耳机出现的这些问题,然而新的难题又出现了:首先,不明确怎么使用扬声器生成立体声的声音。例如,在HRTF传输之后,怎么让声音信号的一部分在两个耳朵之间互相输送呢?当我们使用扬声器而不是耳机之后,两个耳朵就会获得相同的声音,这里解决该问题的办法就是串话干扰(crosstalk cancellation (CC))。
在最佳听音位置(sweet spots)听众能够理想地听到所有的3D音频效果,而在其它的区域声音会发生失真。这样我们在倾听声音的时候就就需要选择正确的位置。对于一对音箱来说,有一个平衡、声带、细节、立体感最好的听音位置,称作Sweet Spot。录音和制作的时候始终在这一点对监听具有重要的意义。Sweet Spot通常位于一对立体声音箱中间,前方数英尺的地方。许多专家认为从高音头的上方到听音者的鼻尖构成一个虚幻的等边三角形,就是Sweet Spot的所在。因为受到许多客观条件的影响,这个位置可能有一些偏移,例如调音台面板的反射就会有影响,音箱的差异也会影响到Sweet Spot,一些音箱具有较宽大的最佳位置。准确的实际位置通常要经过连续的试听和调整来确定。Sweet Spot的范围越广阔,效果就越佳,这也是为什么开发者们在努力寻找能够扩展Sweet Spot覆盖范围的方法。

图5:多扬声器的配置
在多扬声器系统(4.1,5.1)里,声音从听众周围的扬声器里分布式的传出来;声音从不同的扬声器系统里传出来,听众就能够定位音源的所在了。 在规则来说,使用Panning就足够了,i.e.所有的扬声器同步地播放数个流(根据扬声器的数量),但是却在不同的音量水平 - 因此效果就产生了。例如,杜比数字(Dolby Digital)在5.1和7.1配置分别利用6和8个音频流。
Sensaura MultiDrive, Creative(创新) CMSS(Creative 创新多音箱环绕)技术,能够使用4个或者更多的扬声器重现使用HRTF 函数的声音。
Sensaura MultiDrive3D音效技术基本上都必须至少透过4声道以上喇叭来表现3D音效的定位临场感,而每一只喇叭所输出的音效内容都是不一样的。Creative 多音箱环绕(CMSS)技术可将任意的单声道或立体声音源处理为 360 度的音效。
扬声器的每部分有前后两个半球。既然声场是基于HRTF函数,那么sweet spot允许听众每边的音源和前后轴的音源定位具有最佳的感知觉。随着覆盖角落的拓宽,Sweet Spot的空间也会变得足够大。
没有串话干扰(crosstalk cancellation (CC)),音源的定位是不可能的。既然HRTF在MultiDrive技术上主要是用于4个以上的扬声器,那么在所有的4个扬声器上应用CC运算法则就显得非常必要了,但这需要音频处理芯片有非常强大的计算能力。
在使用了HRTF之后,后置的扬声器也能够如前置的扬声器般获得精确的定位。前置的扬声器通常放在显示器的附近,重低音的单元则可以放在中心的地板上,而后置的扬声器可以放在听众喜欢的任何地方,但我相信没有人会把它放在身后吧。
要记住,HRTF和CC用在4个扬声器系统的时候会需要非常强大的计算能力,所以厂家们想出了很多的应对方法。例如傲锐(Aureal,已经被创新给收购了)在后置扬声器上使用了Panning算法,因为对后置扬声器的定位并没有那么严格。
NVIDIA在3D 音响上使用了Dolby Digital 5.1。在定位的时候,整个音频流会解码为AC-3格式,接着会以数字的格式输送到外部的解码器(例如,家庭影院)。
最小/大 距离,空气效果,Macro FX(Min/Max Distance, Air Effects, Macro FX)

图6:距离模式
声音引擎的主要特点之一就是它的距离效果,音源的距离越远,声音就显得越安静。其中采取最简单的办法是在远距离的时候降低音量级;在声音开始淡出的时候,声音效果的设计师必须分配给它一个最少的距离。当声音在该距离范围之内,它仅改变方位;每当他穿越1米的距离,声音的强度将降低6 dB。在最远的距离之前,声音会一直减弱,而在最后声音会因为距离太远而听不见。在声音接近1个音量级的时候,引擎会把声音关掉以释放资源。最大的距离越远,听到声音的消逝也会越持久。 在大多数情况下,音量级是有对数相关性的。设计师能够鉴别较大的声音和安静的声音,音源也可以被区分为最小和最大的距离。例如,蚊子的声音在50cm之外就听不见了,而飞机引擎的声音在几公里之外还是能够清晰的听见。
