Wwise 中針對(duì) Spatial Audio 所作的改進(jìn) – 第 3 部分:后期混響



在本系列博文前兩部分中,我們探討了設(shè)計(jì)師如何模擬與早期反射相關(guān)的聲學(xué)現(xiàn)象,并利用?Wwise Spatial Audio?來根據(jù)需要調(diào)節(jié)所構(gòu)建的音頻。接下來,我們說說如何對(duì)后期混響執(zhí)行同樣的操作。

圖?1 -?沖激響應(yīng)?(IR) [20]
利用 Room 和 Portal 發(fā)送環(huán)境信息
Wwise Spatial Audio?對(duì)后期混響的設(shè)計(jì)跟使用?Auxiliary Send?設(shè)定環(huán)境的傳統(tǒng)方法很像,兩者都是通過調(diào)節(jié)混響效果器的設(shè)置來確保與游戲的畫面效果和美學(xué)風(fēng)格協(xié)調(diào)一致。只不過對(duì)前者來說,引擎會(huì)自動(dòng)實(shí)施空間化處理,并借助?Room?和?Portal?加以實(shí)現(xiàn)。
利用傳統(tǒng)的?Auxiliary Send?方法,可將帶有混響效果器的?Auxiliary Bus?指派給各種環(huán)境或環(huán)境類型,并將聲部發(fā)送到環(huán)境或聽者所屬的總線。Room?對(duì)此做了進(jìn)一步的擴(kuò)展。在設(shè)有?Room?和?Portal?時(shí),可將?Portal?用作兩個(gè)?Room?之間的連通媒介。聲音會(huì)激勵(lì)相應(yīng)的?Room?,并通過?Room?和?Portal?網(wǎng)絡(luò)傳向聽者。從信號(hào)流的角度來說,聲音會(huì)被發(fā)送到相應(yīng)?Room?的?Auxiliary Bus,并經(jīng)由?Auxiliary Send?鏈路抵達(dá)聽者。在這當(dāng)中,Portal?會(huì)負(fù)責(zé)處理相鄰?Room?混響聲場的衍射、空間化和散布。我們團(tuán)隊(duì)的內(nèi)森?(Nathan)?在其博文中對(duì)這一系統(tǒng)進(jìn)行了簡要的闡述?[21]。
Spatial Audio 的兩種范式
本系列博文前兩部分中提到的射線投射引擎和上文所述?Room?和?Portal?系統(tǒng)遵循兩種不同的范式,每一種都有各自的設(shè)計(jì)工作流程和性能考量因素。具體來說,前一系統(tǒng)遵循“通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬”范式,后一系統(tǒng)遵循“利用聲學(xué)參數(shù)控制混響效果器”范式。
通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬
此范式主要涉及三角形和材料。藉此,設(shè)計(jì)師可在?Wwise?中控制材料吸收以及距離曲線和衍射曲線。?
在采用基于射線的方法渲染后期混響時(shí),計(jì)算的復(fù)雜程度會(huì)呈指數(shù)級(jí)增加。事實(shí)上,如果只是對(duì)這種方法進(jìn)行簡單的擴(kuò)展,恐怕連實(shí)現(xiàn)后期混響都無法做到。因?yàn)槠浞瓷涞拿芏忍?,?huì)導(dǎo)致聲音出現(xiàn)顆粒化。在現(xiàn)實(shí)生活中,“在達(dá)到一定反射階數(shù)之后,表面散射和邊緣衍射往往會(huì)蓋過鏡面反射”[22]。也就是說,最終抵達(dá)聽者的波前要比簡化射線模型預(yù)測的多得多,也比其所用簡化幾何構(gòu)造允許的多得多。
通過將細(xì)節(jié)層次提高到微觀層面來解決這一難題是不現(xiàn)實(shí)的。相反,基于射線的方法通常會(huì)向其模型添加隨機(jī)元素以獲得更為逼真的效果,就像圖形會(huì)借助于著色器和漫反射光照技術(shù)而非僅靠?Mesh?來增強(qiáng)畫面一樣。
音頻1:https://www.audiokinetic.com/media/blog/WwiseApproachToSpatialAudio/Sixteenth_order_specular_only_reflections.wav
音頻?1 - 僅包含?16?階鏡面反射的?IR。為此,需針對(duì)略有梯度的長方體禁用衍射,并將數(shù)字脈沖饋送到?Wwise Reflect?中。

圖?2 - CPU?成本與模擬長度。模擬長度與混響時(shí)間有著松散的聯(lián)系。不過,這也意味著射線要與更多的幾何構(gòu)造交互。實(shí)線代表直接取值法。可見準(zhǔn)確計(jì)算后期混響的成本會(huì)呈指數(shù)級(jí)增加。虛線代表近似取值法??梢娫趯?shí)踐中實(shí)施粗略計(jì)算有助合理控制性能。
Oculus?采用的聲音傳播技術(shù)便遵循此范式。確切地說,就是利用射線追蹤來計(jì)算高階現(xiàn)象,然后一并渲染早期反射和后期混響?[23]。據(jù)估計(jì),其應(yīng)該還使用了多種技術(shù)來避免因后者而導(dǎo)致成本呈指數(shù)級(jí)增加。藉此,設(shè)計(jì)師只需通過設(shè)定材料的屬性來對(duì)聲音進(jìn)行微調(diào)即可。
利用聲學(xué)參數(shù)控制混響效果器
此范式主要涉及聲學(xué)參數(shù),其會(huì)利用混響效果器來渲染?IR。藉此,設(shè)計(jì)師可控制混響效果器設(shè)置和發(fā)送電平,并結(jié)合聲學(xué)參數(shù)來在運(yùn)行時(shí)調(diào)節(jié)所述設(shè)置。這種方法的計(jì)算成本相對(duì)較低。因?yàn)榇蟛糠?CPU?資源會(huì)用于處理混響效果器,而不是用來計(jì)算聲音傳播。
從定義上來看,聲學(xué)參數(shù)取決于游戲中聽者或發(fā)聲體的位置。但是,其性質(zhì)和獲取方式對(duì)不同解決方案來說存在很大差異。所需的空間化采樣也不盡相同,不過其通常遵循以下經(jīng)驗(yàn)法則:相較于后期混響,在處理早期反射時(shí)需要將更多信息告知混響效果器。
事實(shí)上,早期反射有較強(qiáng)的方向性,其由特定的音頻事件構(gòu)成。這種方向性在很大程度上取決于環(huán)境中發(fā)聲體和聽者的位置。比如,直達(dá)(衍射)路徑的方向性完全取決于兩者的相對(duì)位置以及是否存在障礙物。早期反射的方向性也是如此,但同時(shí)跟距離附近墻壁遠(yuǎn)近有關(guān)。與之相比,后期混響的方向性較弱,其由看似隨機(jī)的波前構(gòu)成。因而,只需對(duì)空間進(jìn)行粗略的采樣即可。

圖?3 -?聲學(xué)參數(shù)的空間采樣密度。通過幾何構(gòu)造相關(guān)聲學(xué)參數(shù)來控制混響效果器,并藉此精確渲染直達(dá)聲、早期反射和后期混響。在發(fā)聲體和聽者位于同一?Room/環(huán)境且距離較近的情況下,早期反射需要比后期混響更為精細(xì)的采樣,因?yàn)樗鼈兊奈恢脤?duì)后者并不會(huì)產(chǎn)生太大影響??臻g采樣密度高并不意味著一定會(huì)增加?CPU?成本,但肯定會(huì)消耗更多內(nèi)存資源并加重參數(shù)采樣負(fù)擔(dān)。
Microsoft?開發(fā)的?Project Acoustics?解決方案便通過幾何構(gòu)造相關(guān)聲學(xué)參數(shù)控制混響效果器。該解決方案可自動(dòng)對(duì)參數(shù)進(jìn)行采樣,并采用基于波的方法來離線模擬聲音傳播。進(jìn)而,利用提取的參數(shù)驅(qū)動(dòng)混響效果器和發(fā)送電平?[24]。因?yàn)槠淙婧w了直達(dá)聲、早期反射和后期混響,所以要在幾分之一米的精細(xì)網(wǎng)格上針對(duì)每個(gè)發(fā)聲體-聽者對(duì)的可能位置計(jì)算一組不同的參數(shù)。
相比之下,Wwise Spatial Audio Room?的聲學(xué)參數(shù)主要涉及要將哪條?Auxiliary Bus?指派給給定的?Room。目前的聲學(xué)參數(shù)并不是通過幾何構(gòu)造自動(dòng)推導(dǎo)出來的,而是由設(shè)計(jì)師依據(jù)對(duì)幾何構(gòu)造的聲學(xué)特性手動(dòng)指派的。另外,每個(gè)?Room?只有一組對(duì)應(yīng)的聲學(xué)參數(shù)。因此,正如前面所說的那樣,其空間采樣是非常粗略的。
Wwise Spatial Audio?結(jié)合運(yùn)用兩種范式
下表對(duì)前面所說的內(nèi)容進(jìn)行了總結(jié)。

表?1 -?對(duì)比兩種范式:“通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬”和“利用聲學(xué)參數(shù)控制混響效果器”
Wwise Spatial Audio?設(shè)法結(jié)合了這兩種范式的優(yōu)勢。一方面,“利用聲學(xué)參數(shù)控制混響效果器”,確保將聲學(xué)參數(shù)的數(shù)量減到最少。另一方面,“通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬”,來專門處理直達(dá)路徑?[25]?和早期反射,以便適當(dāng)降低?CPU?成本。
下圖展示了這兩種范式的運(yùn)用情形。

圖?4 -?結(jié)合運(yùn)用兩種范式。Wwise Spatial Audio?分別針對(duì)?CPU?成本較低的早期反射和只需對(duì)空間進(jìn)行粗略采樣的后期混響運(yùn)用不同的范式。
混響旋轉(zhuǎn)
如前所述,每個(gè)?Room?只有一組對(duì)應(yīng)的聲學(xué)參數(shù)。也就是說,Room?在將相關(guān)信息告知混響效果器時(shí)并不會(huì)把發(fā)聲體和聽者的位置考慮在內(nèi)。不過,Room?同時(shí)定義有朝向。換句話說,其可使用相對(duì)于聽者的朝向。借助強(qiáng)大的?3D?總線,很容易就能做到這一點(diǎn)。
讓我來解釋一下?;祉懶Ч鲿?huì)在?Auxiliary Bus?中輸出一個(gè)多聲道信號(hào)。該?Auxiliary Bus?與?Room?游戲?qū)ο蠼壎?,同時(shí)采用由游戲定義的朝向。在聽者處于?Room?內(nèi)時(shí),可將?Auxiliary Bus?信號(hào)用作音頻源,并將?Spread?設(shè)為接近于?100%。在將?3D Spatialization?設(shè)為?Position + Orientation?時(shí),聲場會(huì)依據(jù)聽者相對(duì)于?Room?的朝向進(jìn)行旋轉(zhuǎn)?[26]。最終,混響效果器發(fā)出的環(huán)繞聲聽起來就像跟周圍世界而非聽者綁定一樣。

圖?5 - Wwise Profiler?中的?Voice Graph?顯示了?3D?總線,以及會(huì)在哪里依據(jù)?Room?和?Listener?游戲?qū)ο蟮南鄬?duì)朝向?qū)Χ嗦暤阑祉懶Ч鬏敵鲂盘?hào)進(jìn)行旋轉(zhuǎn)。注意,所有發(fā)送到?RoomVerb?的?Emitter?信號(hào)都會(huì)被所述混響效果器下混為單聲道。也就是說,其會(huì)因而失去自身的方向性?[27]。
但是,為什么要旋轉(zhuǎn)混響效果器輸出的聲場呢?大多數(shù)混響單塊效果器會(huì)生成一個(gè)各向同性的信號(hào)(意即來自各個(gè)方向的能量相同),所以即便旋轉(zhuǎn)也不會(huì)聽出任何差別。Wwise RoomVerb?的?LR?模塊便是如此。不過,該混響效果器的?ER?模塊生成的信號(hào)具有明顯的方向性,即便其并非源自游戲的幾何構(gòu)造也是如此。另外,研究表明現(xiàn)實(shí)生活中的混響有可能是各向異性的。比如,在處于走廊或隧道中的時(shí)候?[28]。所以,如果在?Spatial Audio Room?總線上的?Convolution Reverb?內(nèi)使用了在真實(shí)隧道中錄制的多聲道?IR,那么游戲中隧道的朝向應(yīng)當(dāng)遵循原始的方向。聽起來可能不太明顯,但事實(shí)上其朝向跟畫面是保持一致的,而且是動(dòng)態(tài)變化的。這樣可以讓沉浸感得到顯著提升。試試看能不能聽出來。
音頻2:https://www.audiokinetic.com/media/blog/WwiseApproachToSpatialAudio/Binaural_middle1.wav
https://www.audiokinetic.com/media/blog/WwiseApproachToSpatialAudio/Binaural_middle1_90.wav
音頻?2 - OpenAir?官網(wǎng)上發(fā)布的?Innocent Railway Tunnel?的一階?Ambisonics IR?錄音的兩個(gè)雙耳渲染音效?[29]。兩者都用?Wwise Convolution Reverb?和?Google Resonance?雙耳插件進(jìn)行了渲染,但其中一個(gè)經(jīng)過了旋轉(zhuǎn)。能分辨出其中差別嗎?能猜出隧道的朝向嗎?
未來展望/日后工作
模糊早期反射和后期混響之間的界線
根據(jù)我們的經(jīng)驗(yàn),每個(gè)音頻團(tuán)隊(duì)都會(huì)采用不同的方式來在游戲中整合空間音頻,并運(yùn)用不同的音頻功能、工作流程、美學(xué)設(shè)計(jì)和游戲系統(tǒng),來設(shè)法以獨(dú)特的方式開發(fā)游戲并力爭將其打造得與眾不同。我們希望各位能利用?Wwise Spatial Audio?來實(shí)現(xiàn)這一點(diǎn)。今后,我們會(huì)朝著以下兩個(gè)方向繼續(xù)努力:?
A.?通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬:能夠通過幾何構(gòu)造和材料特性來模擬整個(gè)?IR。
B.?利用聲學(xué)參數(shù)控制混響效果器:將更多有關(guān)游戲幾何構(gòu)造的信息告知混響效果器。
希望各位能依據(jù)游戲系統(tǒng)和美學(xué)設(shè)計(jì)以及團(tuán)隊(duì)流程和偏好來靈活運(yùn)用這兩種范式。
A.?通過幾何構(gòu)造驅(qū)動(dòng)聲學(xué)模擬
要想模擬整個(gè)?IR,首先要進(jìn)一步提升射線投射引擎的性能。為此,我們已在著力開發(fā)一項(xiàng)功能,并有望在下一?Wwise?版本中發(fā)布。屆時(shí),諸位將可控制幾何構(gòu)造引擎的性能以使其滿足自身預(yù)算需求。
B.?利用聲學(xué)參數(shù)控制混響效果器
目前所用方法的缺點(diǎn)在于?Room?和?Portal?跟幾何構(gòu)造不同,其需要手動(dòng)進(jìn)行構(gòu)建。
1.?幾何構(gòu)造預(yù)處理:我們目前正在設(shè)法減少?Unreal Engine Integration?中存在的問題:我們將會(huì)添加?Room?和?Portal?組件和對(duì)?Blueprint?的支持。在我們最近的直播活動(dòng)中,各位可能已經(jīng)瞧見了一些正在開發(fā)的便捷工具。它們可以將幾何構(gòu)造簡化為?Room?和?Portal [30]。?
2.?另外,我們還在努力為將?Room?映射到混響效果器提供合理的預(yù)估。其目的在于從?Room?形狀提取上層混響要素,以便各位盡快投入到工作中并根據(jù)需要調(diào)節(jié)?Room。?
而且,我們還將進(jìn)一步提供更多工具,以便通過?RTPC?將幾何構(gòu)造信息告知混響效果器。敬請(qǐng)期待!
簡單化和通用化
我在本系列博文的開篇引用了西蒙·阿什比?(Simon Ashby)?的話:“[設(shè)計(jì)師]只是事先設(shè)定混音規(guī)則,具體如何執(zhí)行由系統(tǒng)決定?!币簿褪钦f,您可以靈活地運(yùn)用各種工具和曲線來重新詮釋各種物理量(如距離、衍射角度)以便根據(jù)需要對(duì)音頻信號(hào)進(jìn)行處理。前面,我們也探討了實(shí)現(xiàn)這一點(diǎn)是多么重要。但之后只能期望在任何情況下都能一切順利。不是嗎?那么,我們?nèi)绾螏椭_保這一點(diǎn)呢?下面列出了幾種可能的途徑:
通過提供工具來解決問題以加強(qiáng)控制;
改進(jìn)底層聲學(xué)模型以使其更具通用性;
簡化控件以便變通,哪怕不那么靈活。
這些途徑的方向是截然相反的。毫無疑問,我們需要各位積極地參與交流,確保朝著正確的方向推進(jìn)開發(fā)。
參考文獻(xiàn)和注釋
[20]?順便說一句,“動(dòng)態(tài)系統(tǒng)的沖激響應(yīng)是其在遇到簡短輸入信號(hào)時(shí)的輸出”。https://en.wikipedia.org/wiki/Impulse_response。在下面的討論中,說到系統(tǒng)是指聲學(xué)環(huán)境。在某一給定位置發(fā)出脈沖,一段時(shí)間后在另一給定位置錄制直達(dá)聲,然后是早期反射,最后是后期混響。雖然圖中沒有明確顯示,但響應(yīng)的每個(gè)音頻事件都有自己的抵達(dá)方向。IR?可以詳盡地描繪給定發(fā)聲體和聽者位置的環(huán)境行為。
[21] Reverb Needs Spatialization Too: A Guide to Rooms and Portals in Wwise Spatial Audio - Audiokinetic Blog。2020?年?8?月?18?日訪問。https://blog.audiokinetic.com/rooms-and-portals-with-wwise-spatial-audio/。
[22] Schissler C.、Mehra R.?和?Manocha D.。High-order diffraction and diffuse reflections for interactive sound propagation in large environments。ACM Trans. Graph。33(4), 1-12 (2014)。?
[23] Audio Propagation (Beta) - Oculus Developer Center。2020?年?7?月?30?日訪問。https://developer.oculus.com/documentation/unity/audio-osp-unity-propagation/?locale=en_US。
[24] Project Acoustics Overview - Game Stack | Microsoft Docs。2020?年?7?月?30?日訪問。https://docs.microsoft.com/en-us/gaming/acoustics/what-is-acoustics。
[25]?有個(gè)?Room?和?Portal?組件同時(shí)涉及直達(dá)路徑。為簡單起見,我有意未作探討。
[26]?對(duì)?Ambisonics?和標(biāo)準(zhǔn)多聲道配置都是如此。不過,前者的旋轉(zhuǎn)更加均勻一些。有關(guān)更多詳細(xì)信息,請(qǐng)參見以下鏈接頁面:3D?定位圖解?- Audiokinetic。2020?年?7?月?30?日訪問。https://www.audiokinetic.com/library/edge/?source=Help&id=_3d_positioning_illustrated。朝向的影響?- Audiokinetic。2020?年?7?月?30?日訪問。https://www.audiokinetic.com/library/2018.1.11_6987/?source=Help&id=effect_of_orientation。
[27]?這種方向性在直達(dá)聲中保留并由干聲信號(hào)傳達(dá)。當(dāng)然,也可選擇在早期反射中保留。參見上文有關(guān)空間采樣和混響效果器控制的論述。
[28] Benoit Alary、Pierre Massé、Vesa V?lim?ki、Markus Noisternig。Assessing the anisotropic features of spatial impulse responses。EAA Spatial Audio Signal Processing Symposium。2019?年?9?月,法國巴黎。第?43-48?頁。10.25836/sasp.2019.32 . hal-02275194
[29] Innocent Railway Tunnel – OpenAIR - Open Air Library。2020?年?8?月?26?日訪問。https://openairlib.net/?page_id=525。
[30]?Wwise Wworld Wwide Online Expo。2020 年 8 月 25 日訪問。
本文作者

路易斯-扎維爾·布法尼 (LOUIS-XAVIER BUFFONI)
研發(fā)總監(jiān)
Audiokinetic
路易斯-扎維爾·布法尼 (Louis-Xavier Buffoni) 現(xiàn)任 Audiokinetic 研發(fā)總監(jiān),主攻空間音頻、聲音合成、音頻編程和機(jī)器學(xué)習(xí)。
