3D音频引擎

8
尽管3D图形引擎有了很大的进步,但让我感到奇怪的是音频方面并没有得到同样的关注。现代游戏可以实时渲染3D场景,但我们仍然只能听到预先录制好的音频。
想象一下,如果一个3D引擎不仅模拟物品的外观,还模拟它们的音频属性。从这些模型中,根据物品接触的材料、速度、距离等因素动态生成音频。现在,当你躲在沙袋后面,子弹飞过你的头顶时,每一颗子弹都会产生独特而逼真的声音。
这种技术的明显应用是游戏,但我相信还有许多其他可能性。
这种技术正在积极开发吗?有人知道任何试图实现这个目标的项目吗?
谢谢, 肯特
5个回答

10

我曾经进行过改进OpenAL的研究,而模拟3D音频的问题在于你的大脑使用的许多线索——各种角度上略微不同的衰减、前面和后面声音之间的频率差异——对于每个人都是特定的,与其他人并不完全相同!

如果你想要一副耳机真正地让游戏中的生物听起来就像在前方的树叶中,你实际上必须将该玩家带入工作室,测量他们自己特定的耳朵和头部如何改变不同距离下声音的幅度和相位(幅度和相位都不同,并且两者对于大脑处理声音方向都非常重要),然后教会游戏为该特定玩家衰减和相移声音。

确实存在“标准头”,用塑料制成并用于获取围绕头部不同方向的通用频率响应曲线,但平均值或标准值对于大多数玩家来说永远不会听起来完全正确。

因此,当前的技术基本上是销售五个廉价扬声器给玩家,让他们将它们放置在桌子周围,然后声音——虽然不是特别好的复制——实际上听起来像是来自玩家的后面或旁边,因为它们确实是来自玩家身后的扬声器。 :-)

但有些游戏确实会仔细计算声音如何通过墙壁和门被消声和衰减(这可能很难模拟,因为耳朵会在环境中的各种材料和反射表面上接收到略有不同延迟的相同声音,如果要使事物听起来真实,则必须包括所有这些因素)。然而,它们倾向于保密其库,因此像OpenAL这样的公共参考实现往往相当原始。
编辑:这里是我当时发现的一个在线数据集的链接,可以作为创建更逼真的OpenAL声场的起点,来自麻省理工学院。

http://sound.media.mit.edu/resources/KEMAR.html

享受!:-)


谢谢Brandon。听起来确实很具有挑战性。 - Kent Boogaart

2
Aureal在1998年就实现了这一点。我仍然拥有他们的一张声卡,但需要Windows 98才能运行它。
想象一下光线追踪,但用于音频。使用Aureal API的游戏将提供几何环境信息(例如3D地图),而音频卡则会对声音进行光线追踪。这就像听到周围真实的事物一样。您可以将注意力集中在声源上,并在嘈杂的环境中关注特定的声源。
据我所知,Creative通过一系列专利侵权诉讼(所有诉讼都被驳回)的法律费用摧毁了Aureal。
在公共领域中,存在OpenAL - OpenGL的音频版本。我认为开发早在很久之前就停止了。他们采用了非常简单的3D音频方法,没有几何形状 - 比软件中的EAX更好。
EAX 4.0(我认为还有一个更新的版本?)终于在十年后采用了一些Aureal使用的光线追踪的几何信息(Creative在Aureal倒闭后购买了他们的IP)。

1

SoundBlaster X-Fi上的Source (Half-Life 2)引擎已经实现了这一点。

真的很神奇。你绝对可以听到混响在混凝土、木头、玻璃等材质上的差异...


1
一个鲜为人知的领域是VoIP。虽然游戏正在积极开发软件,但你在玩游戏时很可能也会花时间与其他人交谈。
Mumble(http://mumble.sourceforge.net/)是一款使用插件确定与您一起游戏的人的软件。然后,它将其音频定位在您周围的360度区域内,因此左侧就在左侧,背后的声音听起来就像这样。这是一个令人毛骨悚然的逼真补充,而在尝试它时,它导致了有趣的“马尔科,波罗”游戏。
在Vista中,音频发生了巨大的变化,不再允许使用硬件进行加速。这杀死了EAX,因为它在XP时代。现在正在逐渐构建软件包装器。

1

非常有趣的领域。它如此有趣,以至于我要在这个主题上写我的硕士论文,特别是它在第一人称射击游戏中的应用。

到目前为止,我的文献研究表明,这个特定的领域没有太多理论背景。在这个领域并没有进行过很多研究,大部分理论都是基于电影音频理论的。

就实际应用而言,我到目前为止还没有找到任何实际应用。当然,有许多软件可以支持实时音频效果处理,并根据听众所处的环境应用这些效果。例如:听众进入一个大厅,声音样本会应用回声/混响效果。但这还相对简单,类比到视觉方面,当房间里的五盏灯泡之一被关闭(或射击)时,应该将整个图像的RGB值减少20%。这只是一个开始,但完全不真实。

我发现最好的工作是由马克·尼古拉斯·格林肖(Mark Nicholas Grimshaw)在2007年撰写的博士论文,该论文来自怀卡托大学,名为《第一人称射击游戏的声学生态学》。这篇巨幅论文提出了一个理论框架,以及制定了大量分类和术语来分析游戏音频。他还认为,第一人称射击游戏中音频的重要性被严重忽视了,因为音频是进入游戏世界的强大力量。
想象一下,如果你在没有声音但图像完美的显示器上玩游戏。接下来,想象一下听到周围真实的游戏声音,同时闭上眼睛。后者会给你更强烈的“身临其境”的感觉。
那么为什么游戏开发者还没有全心投入呢?我认为答案很明显:这更难以销售。改进图像很容易销售:你只需要提供一张图片或电影,很容易看出它有多漂亮。甚至可以量化(例如,更多像素=更好的图片)。对于声音来说,情况并不那么简单。声音的逼真程度更多是潜意识的,因此更难以营销。
现实世界对声音的影响是下意识地感知到的。大多数人甚至没有注意到它们中的大部分。其中一些效果甚至无法有意识地听到。尽管如此,它们都在声音的感知真实性中扮演着一定的角色。你可以自己进行一个简单的实验来说明这一点。下次走在人行道上时,仔细听听环境的背景声音:风吹过树叶、远处道路上的车声等等。然后,听听当你靠近或远离墙壁时,或者当你走在悬挑阳台下面时,或者当你经过一扇敞开的门时,这种声音会如何变化。认真听听,你会注意到声音的巨大差异。可能比你记忆中的要大得多。

在游戏世界中,这些类型的变化并未得到体现。尽管你(还)没有有意识地错过它们,但你下意识地会感觉到,并且这会对你的沉浸度产生负面影响。

那么,音频与图像相比需要多好?更实际的问题是:现实世界中哪些物理效应对感知到的真实感做出了最大的贡献?这种感知到的真实感是否取决于声音和/或情境?这些是我希望通过我的研究回答的问题。之后,我的想法是设计一个实用的框架,用于音频引擎,该引擎可以根据可用计算能力的数量(动态地)变化地应用一些效果到某些或所有游戏音频上。是的,我设定了很高的目标 :)
我将从2009年9月开始。如果有人感兴趣,我考虑建立一个博客来分享我的进展和发现。
Janne Louw (荷兰莱顿大学计算机科学学士)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接