zoukankan      html  css  js  c++  java
  • 第一篇:概 念


     3D Sound vs Surround Sound

       在游戏开发中,声音(Sound)的地位并不如图象那么重要。游戏开发者们会发费大部分的时间来增加3D图形的新功能和特效;但是,想要说服他们花更多的时间和金钱,来开发具有高质量音频效果的游戏可以说是非常的困难。同时,在硬件方面,玩家们也更乐意购买最新款式的3D图象加速卡,而对新的声卡似乎也并不是那么感冒。

        然而,随着显示卡的发展正在呈现出顶峰的状态,玩家对游戏也表现出越来越挑剔的姿态,认为优秀的游戏除了具有赏心阅目的图象和绚丽的特效外,音效也是不可缺少的,所以现在的形势似乎有急转的趋势 - 用户和开发者比以往任何时候都专著于音频系统的效果。在现代的游戏开发计划中,声音效果占据了40 %的预算,时间和人力。

        音效芯片制造商和3D音效的开发者们在竭力使用户和应用程序的开发者们相信:良好的3D音效将是现代多媒体电脑的主要组成部分。

        以前的音效是立体的,这是非常模糊的说法;在引如了3D Sound之后,我们全面进入了多通道音频效果的新纪元:4.1,5.1,和7.1通道。

        现在让我们走近3D音效,看它与多通道解决方案的雷同和区别。



    图1:3D 音效的概念

       3D 音效的概念是对听众周围3D空间的音源进行精确的定位。在虚拟游戏世界里,每个能够发出声音的物体都代表了1个音源。

       我们这里以Action发布的典型第一人称射击游戏"Vivisector:Beast Inside"(活体解剖者:人面兽心)为例深入浅出地解释本文中的问题。上面的图象里有观众和音源,其中有些音源是立体声的(例如背景音乐;在这个特别的游戏里,风和丛林的沙沙声都将是主要的环境(噪)声);怪物有8个音源;玩家的射击,脚步等作为1个音源;还有3个环境的音源(昆虫,小鸟等等)。

       为了在场景里获得更加逼真的音效,虚拟世界的3D 音效都被进行了深度的处理:模拟或者夸大现实世界的声音,这里使用到了各种各样的音频处理技术,例如:混响,反射,闭塞,阻碍物,远方传来的声音(音源与听众的距离).....等等。

       3D 音频技术:定位

       每个人能够感知到的声音都是不同的(这依赖于耳朵的形状,年龄和心理状态),因此在1项3D技术里关于不同的声卡或者处理效果不可能只有1个质量的选项。声音是否能够真实地再现,则主要依赖于声卡和扬声器,还有游戏中采用的音效处理引擎。


    图2:3D空间

       现在让我们看看3D 音效是如何产生的,我们首先要从2D Panning(定位) 开始讲起(目前这项技术仍然在ID Software 的Doom中被使用)。在这项技术中,每个单声道的音源都被当作立体声来运行,并且它们左-右声道的音量水平能够互相对调。这样虽然系统里没有垂直的定位,但它还是能够改变声音的效果(例如,进行高频的过滤),所以当声音从听众后面发出来的时候,他能够听到压抑的声音。

        现在硬件已经能够实现这种效果了。声卡能够使用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))。


  • 相关阅读:
    【转】聚集索引和非聚集索引的区别
    【转】【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
    【转】数据库范式(1NF 2NF 3NF BCNF)详解一
    【转】数据库 无损连接分解
    如何防止被路由器限速如何更改电脑网卡的MAC地址
    BZOJ 1497 最大权闭合图
    POJ 1966 无向图点联通度 最小割
    POJ 1815 最小割
    POJ 2987 最大权闭合图
    POJ 2391 floyd+二分+最大流
  • 原文地址:https://www.cnblogs.com/lancidie/p/1949328.html
Copyright © 2011-2022 走看看