为虚拟现实创造引人入胜的混响

空间音频

I在这个系列中我们广泛地审视了过去现在以及新出现的混响技术并且从沉浸式和空间化的角度评论了他们在之前的文章中我们讲到了沉浸式混响在虚拟现实中如此有挑战性的原因讲到了经典混响算法背后的一些技术也讲到了我们可以怎样通过虚拟声学算模拟声音传播。在这篇文章中,我们会讨论如何结合这些方法来创造高效而又引人入胜的空间混响特效。这篇文章也是Audiokinetic即将到来的空间化混响技术的预告。 

 

spatialaudioWwise.png

在之前的文章中我们讲到了创造新混响算法背后的推动力以及一些背景理解了这些新工具是怎么产生的理解经典混响算法的局限性以及声音传播模拟法的各种分支在我们使用这些新特效时会非常有价值。就像随着双耳声和ambisonics空间化声像摆位的出现,新的声音设计指南也出现;使用动态空间混响也需要有新的设计范式

虽然新颖空间音频技术的需求是由虚拟现实的沉浸式质感所激发的但它们用于任何非VR平台的互动声音设计时依然是非常强大的工具我们怎样将混响空间化又怎样让这一特效为未来的混音做出贡献让我们探索一下在几篇文章中讲到的一些技术的实际意义并且研究一下在Audiokinetic即将推出的动态早期反射技术开发过程中得到的一些经验教训吧

 

混合混响器

用空间混响器我们的目标是通过和直达声一样的声摆位算法将混响空间化为了使其成为可能混响器需要提供一些关于关键反射方向和距离的信息虽然有些技术——比如基于光线的模拟和基于波的方法——能获得很好的空间感但它们也有一些局限性比如 光线法非常善于模拟早期反射但对于后期反射没办法提供真实的渲染另一方面,随着我们开始计算高频的传播,基于波的方法就会变得愈加昂贵有趣的是随着回声密度在混响器中增加输出也会越来越趋于漫反射空间精度也就不那么必要了由于这些原因,将混响视为随时间变化的连续阶段是很有用的,这让我们能在每个阶段选择最合适的混响方法。为了做到这一点,我们也需要保证这些阶段能很好地混合在一起,而且能够形成一个完整的混合混响算法

看看我们手中的各种技术我们发现基于波的方法最突出的一点就是模拟精度这些技术在基于游戏几何空间生成不同冲激响应IR)时会很有用,这样会最小化在大型虚拟空间指派混响属性时的工作量。不幸的是,这些方法的计算成本对于大部分实际应用来说还是高到无法执行。在现实中,经典混响的灵活性和感官优势还是弥补它们使用上不便 。因此,经典多声道混响器,比如ambisonics冲激响应,对于后期混响是很棒的选择。大部分多声道后期混响器共有的局限性就是缺乏互动性早期反射。通过结合光线法来为早期反射提供信息,我们可以组成一个混合混响器。出于混合混响器的目的来使用基于光线模拟好处之一就是能对每条独立的反射有很好的控制,这类方法因而成为了潜在的强大声音设计工具。

走向新的沉浸式声音设计范式

使用基于光线的早期反射我们能模拟这些反射的起始位置在虚拟几何空间内有了听者和发声两者的位置我们就能通过每个反射的延迟时间和空间定位来生成特效独立的定位让双耳摆位器中能进行合适的HRTF空间化反射达到听者所经过的距离会为延迟设置长度模拟声音缓慢移动的特性每个反射的幅度也可以根据距离进行调整比如,紧挨着一个离房间角落很近的声源意味着声源在很短的延迟后就能听见这样会让声音听起更大想要调整特效的频率内容系统中也可以添加音频滤波器,以此来模拟基于频率的墙壁吸收。通过这些参数,基于光线的声音传播模拟法的信息可以用于创造一个有很多活动的系统。确实,在合理的计算成本提供空间提示的同时,空间混响也应该有适应性。混响仍然是一种特效,而它的审美品质必须优先于它的模拟精度

和其它混响类似空间混响特效也需要调整来适应各种设计情境比如有的时候特效需要微妙一些让混音中的空间更有利于语音清晰度;又或者可以模拟当您接近声源时产生的临近效应。

别的场合当太多声音同时播放时为进入混响器的声源进行优先级划分是比较好的 因为每个声源的反射路径单独进行计算并不是很好的计算资源应用方式

在另一种情况对于关键反射进行超过物理学的夸大会更为合适比如主角走过狭长走廊时, 脚步声反射处理可以加强对近身两堵墙的感知度以此制造出一种听觉张力。也许几何空间是一个小房间的样子,但如果我们模拟更大空间的声学特性,效果听起来更好。

想要保证特效的频率响应有助于整体混音的效果关联到每堵墙的音频滤波器不会只复制不同物质的吸音特质而是也要组成整个目标混音的一部分

基于所有这些例子我们能看得出保持创意上的灵活性对于这种空间特效的重要性如果没有这种灵活性,则空间特效就只能由虚拟几何空间和模拟算法驱动

 

动态早期反射

现在我们来详细研究这些动态基于光线早期反射以及如何保证它们能带来创造性的机会。如果我们再次看看混响器的IR,目标是调整前几个回声,那么这些反射在时间上依然足够稀疏,可以被视为是镜面反射(清晰可辨的),而后期混响更密集,混合在一起形成漫反射混响。我们首先想调整的是幅度。通过各种设置,比如墙壁吸收和距离衰减,可以让每个反射都遵从一个可调的衰减。幅度这个参数强大,强调衰减效果突出某些反射也可用于单独控制这些反射,让它们独立于通常用于控制后期混响干湿比的距离参数。比如在邻近效应中,听者非常接近声源,为了真实感,我们可能会想静音后期混响,只保留一定程度的空间化早期反射。

Modulating the amplitude of early reflections. Modified image from [1].

调整早期反射幅度来自【1】的修改图像

 

每个早期反射之间的时间延迟也需要调整到各种反射表面的距离、声速、听者的位置,以及发声源的位置可以一起使用,来计算各种延迟的长度。声速也是一个很有趣的参数,可以用于夸大或最小化感觉到的空间大小

因为每一帧上定位都可能改变所以延迟长度需要是动态的这些被称为时变延迟线,或分数延迟。当分数延迟的长度增加或减少时,只要变化足够大有时能听到多普勒效应 。这是由于需要读取更多或更少采样并插值到新的延迟长度中,基本就是重采样。Modulating the time delay of early reflections. Modified image from [1].

调整早期反射的时间延迟来自1】的修改图像

 

最后所有这些反射需要单独做空间化做到这点的简单方法是使用中间空间总线比如反射可以输出到一个更高阶的ambisonics总线以此来保存它们的入射方向之后这个更高阶的ambisonics总线可以使用一个特定的双耳声插件输送混音到耳机中这个程序会保证各条反射听者旋转的全过程中始终连贯统一同时最小化反射上使用HRTF滤波器的计算成本

 

Spatialized intermediate early reflections patterns before going through HRTF based on their incoming angles.

根据其入射角度通过HRTF之前的空间化中间早反射模式

 

所有这些设置可以集中到一个界面上对特效做参数化控制在下面的例子中我们可以看到各种距离衰减曲线被用于确定衰减和散布基于反射距离和听者到发声距离)。我们可以改变时间伸缩来调整延迟,以此影响感知到的房间大小。每堵墙都可以单独打开和关闭,这样就可以solo一面特定的墙并合适地调整它的设置。

 

Prototype spatial early reflection interface in WwiseWwise空间化早期反射界面原型设计

 

虚拟几何空间

虚拟几何空间控制早期反射行为关键信息来源双耳声插件比较流行的一个方法就是使用一个环绕听者的固定矩形的房间。确实,将双耳声特效限制在直达声路径上,会导致比较差的空间化声音效果,所以这些特效需要一定程度的空间化反射。为了做到这点,使用各种大小的固定房间预设值会是一个简单的解决方案,不用依赖游戏内的几何空间信息。这些静态定位的反射只需要通过同样的一组HRTF滤波器进行滤波。

Fixed room around a listener. The positioning of each reflection is static

环绕听者的固定房间每个反射的定位都是静态的

想要有更为精细的特效我们可以使用游戏内的光线投射来找到最近反射表面的位置。这通常是通过从一个点发出各种方向的光线来做到的。一条光线就是一条直线,而光线投射就是找到游戏中与这条线相交的表面和对象的操作。这个操作通常由游戏引擎进行。为了生成这个特效,目标声音将被混音到一条单声道总线中,这条总线的输出此后会作为反射算法的输入值。混音后的声音之后会在阻挡光线的最近表面上反射,根据传播的距离延迟声音并将输出定位在射线的方向上。比如,这一方法可以用在从主角身上发出的声音。因为主角经常是声音设计的焦点,所以这是一个只增强这些声音的好方法。这个特效也被Blizzard(暴雪)用在了他们的游戏《Overwatch(守望先锋)》上。在这个例子中,它被称作四线延迟quad delay,因为使用了四条由光线提供信息的延迟线【2】。

Sending rays at fixed angles around the listener to locate reflective surfaces.围绕听者发出固定角度的光线来定位反射表面

为了更为复杂的空间化渲染我们可以允许声音引擎直接访问一些几何空间信息在这个例子中一个代表简化版几何空间的三维方盒就足够了因为我们要模拟早期反射而不是完全漫射的声场能够使用简化几何空间就意味着早期反射算法能够确定多个声源的关键反射路径这比对多个声源进行光线追踪要更为高效。

有了独立的早期反射我们可以创造丰富的特根据每个声源位置进行调整通过分隔各个声源我们也可以为它们分别创造自定义的设置在某些情况下比如为了尽可能减小计算成本或为了美学考虑也许只产生两反射会更好最接近的墙壁可以针对这些声源被优先处理而其它声源可能需要使用每一堵墙来产生不同的特效

在试验过程我们发现天花板和地板的反射在标准环绕立体声系统中输出时可能会有不理想的效果。确实,由于在上方和下方没有声道,这些反射只能被重新定位到水平围绕听者的位置,而且会加重方向上的错误。在这种情况下,最好还是静音天花板和地板反射 。所以,必须要考虑到所需的输出声道设置。

通常的参数分组方式是创建一组从主角视角的设置,再创建一组外部声音的设置。这个方式背后的逻辑是在外部声音离听者非常近的时候要静音掉反射,这时要让声音从听者位置传出保持住效果。

 Individual reflection paths for different sound sources. Using less reflections for one source.不同声源的独立反射路径对一个声源使用更少的反射

独立反射路径需要在声音引擎和游戏引擎间更好的通信声音引擎负责持有声源类别的不同设置,以及不同墙壁材质和后期混响参数这些信息之后会传给游戏引擎游戏引擎可以信息作为属性关联到几何空间上去比如在游戏编辑器中来自声音引擎的一列声学材质会用于标记不同的墙壁。随后,游戏会将关于几何空间、关联的声学属性以及定位的信息发送给声音引擎。至此,声音引擎就有了渲染特效所需的所有信息,而早期反射也可以和后期混响结合了。

Data flow between the sound engine and the game engine

声音引擎和游戏引擎之间的数据流

 

 

声音示例

这里有两个很短的声音片段展示了特效是如何被感知的第一段声音是普通混响不带有任何空间化元素而第二段有四个完全空间化的早期反射两个示例都使用了Auro®-HeadPhones双耳声插件。敬请期待体验这种特效的更多机会很快就有了

 

砖头小巷中的脚步声

 

 

 

 

带有动态ER的砖头小巷中的脚步声 

 

总结

使用动态早期反射我们可以创造多样性的空间化特效能够在它们所基于的技术基础上大大加强沉浸感。确实,通过对关键反射的谨慎参数化,我们可以打造出广泛类型的丰富美学。通过将它们和多声道混响结合,我们可以再现完全沉浸式的音景,以此制作出无疑会和新出现的空间化平台共同演进的新的声音设计范式。更多关于Audiokinetic即将推出的早期反射技术的详情将在Game Developers Conference(游戏开发者大会,GDC)以及后续博客文章中发布。

 

注释

[1] V. Välimäki, J. D. Parker, L. Savioja, J. O. Smith, J. S. Abel,Fifty years of artificial reverberation(人工混响的五十年)》, IEEE Transactions on Audio, Speech and Language Processing, vol. 20, no. 5, pp. 1421–1448, 20127月,可参阅: https://aaltodoc.aalto.fi/bitstream/handle/123456789/11068/publication6.pdf

[2] https://blog.audiokinetic.com/overwatch-game-audio-using-wwise-part-2/

本诺 阿拉里 (Benoit Alary)

研究员、博士生

芬兰阿尔托(Aalto)大学

本诺 阿拉里 (Benoit Alary)

研究员、博士生

芬兰阿尔托(Aalto)大学

Benoit Alary是芬兰阿尔托大学信号处理和声学系的研究员和博士生。他专注于沉浸式和空间混响算法的研究。在 2011 年到 2016 年间,Benoit 担任过 Audiokinetic 研发团队的软件开发人员和声学专家。

 @benoita

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

在Unreal 中使用 Wwise Reflect模拟基 于几何信息的动态早 期反射

在 Wwise 2017.1引入的空间音频新特性中,Wwise Reflect 插件...

10.10.2017 - 作者:塔丽•凯克里基安(THALIE KEKLIKIAN)

《除夕:双鱼玉佩》(Immortal Legacy: The Jade Cipher)音频设计 – 第 2 部分

请阅读博客第 1 部分。

20.5.2019 - 作者:刘海宜

《使命召唤手游》的空间音频探索

当我们提起“空间音频”的时候,我们在聊什么?

15.6.2020 - 作者:腾讯天美工作室群

Wwise 中针对 Spatial Audio 所作的改进 – 第 3 部分:后期混响

Wwise 中针对 Spatial Audio 所作的改进 – 第 1 部分:距离建模和早期反射Wwise 中针对 Spatial Audio 所作的改进 – 第 2 部分:衍射...

17.6.2021 - 作者:路易斯-扎维尔·布法尼 (Louis-Xavier Buffoni)

Impacter 与 Unreal | 利用游戏物理控制 Impacter 插件

简介 Impacter 是最近针对 Wwise 开发的一款撞击建模插件原型(详可参阅这篇博文)。在本文中,我将介绍如何使用 Impacter 来实现声音并整合到采用 Unreal Engine...

14.9.2021 - 作者:肖恩·索拉汉(SEAN SORAGHAN)

Wwise Spatial Audio 2023.1 新增功能 | Reverb Zone

Reverb Zone 简介 在 Wwise 23.1 中,我们为 Wwise Spatial Audio 增添了一个名为 Reverb Zone 的工具。Reverb Zone 本质上来说是...

10.1.2024 - 作者:托马斯•汉森 (Thomas Hansen)

更多文章

在Unreal 中使用 Wwise Reflect模拟基 于几何信息的动态早 期反射

在 Wwise 2017.1引入的空间音频新特性中,Wwise Reflect 插件...

《除夕:双鱼玉佩》(Immortal Legacy: The Jade Cipher)音频设计 – 第 2 部分

请阅读博客第 1 部分。

《使命召唤手游》的空间音频探索

当我们提起“空间音频”的时候,我们在聊什么?