Impacter 插件簡介

概述
Impacter 是在原有 SoundSeed Impact 插件基礎(chǔ)上開發(fā)的源插件。它方便設(shè)計師將撞擊類聲音文件加載到設(shè)計工具中,進而實施分析并保存為合成模型。隨后,運行時插件便可重構(gòu)原始聲音,或通過交叉合成創(chuàng)建不同的聲音版本,并借助直觀的物理信息參數(shù)進行操控。

Mass、Velocity 和 Position 參數(shù)可分別對被撞物體的大小、撞擊的力度和撞擊處的聲學(xué)響應(yīng)進行建模。而且,每個參數(shù)都可應(yīng)用隨機化處理。?
為方便調(diào)控交叉合成,可加載多個聲音文件。對此,插件會將不同聲音的 Impact 和 Body 分層隨機結(jié)合(詳見下文)。如果設(shè)計師想要使用一組特定的聲音,還可單獨啟用或棄用各個文件的 Impact 和 Body 分層。
工作流程跟原有 Impact 插件差不多,只不過使用起來比之前更加便捷了?,F(xiàn)在的插件不再需要借助外部分析工具,因為 Wwise 設(shè)計工具會在后臺完成音頻分析。雖然原有 Impact 插件也可實施交叉合成組合,但存在聲音不穩(wěn)定和增益變化大的潛在風(fēng)險。相比之下,Impacter 在各種交叉合成組合當(dāng)中的表現(xiàn)都很穩(wěn)定。而且,其用戶界面 (UI) 更加方便分組處理聲音。有時,甚至可像 Random Container 一樣隨機選擇所要播放的內(nèi)容。另外,各項參數(shù)也經(jīng)過了精心設(shè)計,對所處理聲音來說更加通俗和直觀。
開發(fā)動機
Impacter 的開發(fā)源于對壓縮音頻采用創(chuàng)造性聲音變換的方法的研究。事實上,構(gòu)建一套普遍適用且便于操控的音頻表示方法是相當(dāng)困難的,因為提高靈活性往往意味著損失實現(xiàn)更多聲音變換的潛力。?
不過,通過專注于某一類特定的聲音,聲音變換依然可以更富有表現(xiàn)力。撞擊類聲音由此成為了我們的最優(yōu)選擇,因為其可借助直觀的物理參數(shù)進行操控。為了配合空間音頻功能以便聲音設(shè)計師以創(chuàng)新方式控制聲學(xué)行為(聲音傳播的物理機制),我們希望能構(gòu)建一個合成器來讓聲音設(shè)計師自由地調(diào)節(jié)由物理事件(如碰撞)觸發(fā)的聲音。?
我們希望構(gòu)建一款新的插件來讓設(shè)計師能夠直接使用現(xiàn)有聲音素材而不是從頭開始合成。藉此,設(shè)計師可依據(jù)游戲物理向錄制的擬音應(yīng)用各種變換。當(dāng)然,我們也知道市面上流行的大多樣本庫和錄音并未專門提供撞擊類聲音,而且有必要構(gòu)建一個可以充分利用腳步聲、子彈聲和碰撞聲樣本的工作流程。借助交叉合成,聲音設(shè)計師可靈活地運用一系列這種撞擊類聲音,以此構(gòu)建不同的聲音版本來實現(xiàn)音頻的多樣變化。
定義和概念
在深入探討 Impacter 之前,有必要澄清一些有關(guān)插件底層算法運作方式的定義和概念:?
源-濾波器模型是一個基于“通過濾波器傳遞激勵源信號”這一模式構(gòu)建的聲音合成模型。人類語音就經(jīng)常會用源信號和濾波器進行建模:聲門脈沖激勵(空氣穿過聲帶發(fā)生振動)經(jīng)濾波器(聲腔)加工產(chǎn)生元音。有些傳統(tǒng)分析方法(如 Linear Predictive Coding)會將輸入信號解構(gòu)為濾波器和殘差激勵信號。?
圖 1 - 源頻譜和濾波函數(shù)。源頻譜對應(yīng)聲門脈沖激勵,濾波函數(shù)的形狀對應(yīng)聲腔的形狀。



頻率扭曲是一種頻域(頻譜)層面的非均勻縮放。它會將從線性標(biāo)度截取的頻率特征沿其他標(biāo)度重新分配:通常向 0 點位置壓縮頻譜的低頻部分,并橫向拉伸高頻部分來填充剩余空間(反之亦然)。這種扭曲既可直接作用于一系列正弦波的頻率,也可作用于與頻域特性曲線對應(yīng)的濾波器系數(shù)。
圖 2 - Impacter 中所用的濾波響應(yīng)被扭曲變形。



為簡單起見,可理解為不同聲學(xué)模態(tài)在物理材料上的激勵對應(yīng)分布在不同頻率的能量。對于像 Impacter 這樣的合成算法,各個濾波器頻段和正弦波的位置和增益都會受到影響。借用物理學(xué)的觀點,聲學(xué)模態(tài)的直觀結(jié)果是被激勵/被撞擊材料會因撞擊在表面上的發(fā)生位置而激發(fā)不同的模態(tài)。比如,膜片中心的撞擊所激發(fā)的聲學(xué)模態(tài)最少,而邊緣附近的撞擊所激發(fā)的模態(tài)會多些。至于這種行為的參數(shù)化控制,通常只需對相距表面中心的距離進行建模即可(詳見下文)。在簡化模型中,圓周上所有與中心距離相等的地方都會有相同的近似聲學(xué)行為。明白了這一點就不難理解 Position 參數(shù)在 Impacter 中的作用機制了。?
除此之外,物體的大小還與其可能包含的聲學(xué)模態(tài)數(shù)量關(guān)聯(lián)。較大的物體包含更多低頻聲學(xué)模態(tài)。若在不同位置產(chǎn)生激勵,生成的頻譜會更加密集。通常,我們認(rèn)為尺寸的增大會導(dǎo)致音高降低,因為新的低頻模式會改變撞擊類聲音的基本頻率。研究 [1] 表明,我們可以通過扭曲來重現(xiàn)頻譜低端模態(tài)密度的增加,同時確保由合成算法生成固定數(shù)量的模態(tài),以此近似地模擬物體大小的變化。這種方法能有效地對大小變化效果進行建模,而無需算法執(zhí)行額外的處理來合成更多模態(tài)。
合成與分析
Impacter 的合成算法是基于“將正弦波模型和源-濾波器模型結(jié)合”這一理念構(gòu)建的。換句話說,所有原始輸入聲音在運行時都會使用一系列正弦波和貫穿濾波器組的激勵信號進行重構(gòu)。從概念上講,我們會將來自源-濾波器組件的激勵信號與 Impacter 的 Impact 分層關(guān)聯(lián),并將源-濾波器模型的濾波器組和正弦波與 Body 分層關(guān)聯(lián)。
Impacter 的設(shè)計工具插件背后執(zhí)行的分析基于兩階段算法:首先提取頻率和包絡(luò)信息以用于正弦波合成模型,然后提取濾波器組和殘差激勵以用在源-濾波器合成模型中。
第一階段(窄帶分析)會針對輸入聲音頻譜執(zhí)行峰值拾取,來查找撞擊的大部分諧振頻率。接著會從聲音中濾除這些諧振峰值以生成殘差激勵,并將其頻率和包絡(luò)信息存儲為參數(shù)以用于正弦波合成模型。隨后會將窄帶殘差激勵傳遞到第二階段(寬帶分析),并基于剩余聲音頻譜構(gòu)建濾波器組以用于源-濾波器模型。然后,通過對殘差激勵和濾波器組實施反卷積處理來生成最終激勵信號。
圖 3 - Impacter 中所用的底層分析和合成流程。

再合成
分析算法在設(shè)計工具中完成了大部分的處理,所以合成算法在游戲運行時要做的工作很少:只需將少數(shù)正弦波與通過雙二階濾波器組傳遞的激勵信號混合即可(無需應(yīng)用 FFT 處理)。放心,原始輸入聲音的重構(gòu)非常完美,不會丟失輸入聲音的任何部分。
變換
這一混合合成模型提供多種不同的變換,其可在合成過程中單獨或共同塑造音色。?
扭曲濾波器組的系數(shù)和各個正弦波的頻率,來非均勻地影響撞擊聲的音色和感知音高。
對激勵信號進行重新采樣(升高或降低音調(diào)),而不考慮濾波器組的頻譜形狀或正弦波的位置。
對各正弦波的包絡(luò)實施拉伸或衰減,確保與重采樣激勵的長度保持一致,或者進一步分離撞擊聲的諧振信號。?
根據(jù)需要開啟或關(guān)閉特定正弦波和濾波器頻段以便直觀地控制細(xì)節(jié)層次,或者通過映射來依據(jù)位置對聲學(xué)模態(tài)的激勵進行建模。
向各個正弦波應(yīng)用頻率調(diào)制 (FM)。研究表明,可通過映射 FM 參數(shù)來控制對撞擊聲嘈雜度的感知效果 [2]。
聲音樣本
變換 1、2、3 全部由 Impacter 中的 Mass 參數(shù)控制。?
Mass:https://www.audiokinetic.com/media/blog/Mass.mp3
變換 4 以不同方式實現(xiàn)對 Velocity 和 Position 的控制。?
Velocity:https://www.audiokinetic.com/media/blog/Velocity.mp3
Position 參數(shù) (0 ~1) 用于表示相距被撞擊表面中心的徑向距離。?
Position:https://www.audiokinetic.com/media/blog/Position.mp3
變換 5 被用作 Roughness 參數(shù)的基礎(chǔ)。
Roughness:https://www.audiokinetic.com/media/blog/Roughness.mp3
交叉合成
Impacter 插件支持加載和合成多個聲音文件源,混合正弦波-源-濾波器模型可交叉合成來自各個聲音源的不同模型分層。雖然有各種各樣的方法來結(jié)合合成模型的分層,但我們發(fā)現(xiàn)最好是將某個文件的激勵 (Impact) 與另一文件的濾波器組和正弦波 (Body) 相結(jié)合。為了方便選擇 Impact 和 Body,我們對 Impacter 的 UI 進行了專門的設(shè)計。??
竅門
警告:將相互沖突的聲音結(jié)合在一起經(jīng)常會生成與撞擊不相關(guān)的正弦鳴響聲,因為窄帶峰值與撞擊頻譜幾乎沒有重合或關(guān)聯(lián),或者撞擊并不包含被濾波器組加強的頻譜能量。所以,在實施交叉合成時,最好選用性質(zhì)相近的聲音。比如,在參數(shù)變化之前可利用擬音階段錄制的?n?個腳步聲快速生成?n2?個變化版本。
結(jié)語
Impacter 旨在為游戲音頻設(shè)計提供新的實驗性方法。通過專注于某一類特定的聲音(如撞擊聲),我們構(gòu)建了這款能夠以多種方式使用的插件。對于一組需要實現(xiàn)多樣變化的聲音,可在 Impacter 內(nèi)部參數(shù)隨機化的基礎(chǔ)上借助交叉合成來像 Random Container 一樣隨機選擇所要播放的內(nèi)容。藉此,設(shè)計師可使用受游戲物理(碰撞、力度、大?。┯绊懙?RTPC 和 Event,并直觀地將其映射到對擬音的物理變換。?
雖然 Impacter 是作為實驗原型提供的,但我們對其工程設(shè)計和 QA 有十足的信心。Impacter 應(yīng)當(dāng)可以無縫地融入設(shè)計工作流程,而不會出現(xiàn)任何卡頓或崩潰問題。您可以在游戲運行時有效運用其穩(wěn)定的輕量級合成算法,而不必?fù)?dān)心會超出項目既定的內(nèi)存或 CPU 預(yù)算。
下載 Impacter 插件:?https://www.audiokinetic.com/zh/products/plug-ins/impacter/
參考文獻和注釋
[1] -?Penttinen, Henri, Aki H?rm?, and Matti Karjalainen. "Digital guitar body mode modulation with one driving parameter."?Proceedings of the DAFx-00 Conference, Verona, Italy, December. 2000.
[2] - Aramaki, Mitsuko, et al. "Controlling the perceived material in an impact sound synthesizer." IEEE Transactions on Audio, Speech, and Language Processing 19.2 (2010): 301-314.
本文作者

瑞恩?多恩 (RYAN DONE)
軟件開發(fā)工程師
Audiokinetic
瑞恩?多恩 (Ryan Done) 于 2017 年加入 Audiokinetic,并為此從美國西海岸搬到了加拿大蒙特利爾。憑借之前在計算機音樂研究和音頻軟件開發(fā)方面的從業(yè)背景,瑞恩很快便融入研發(fā)團隊并著力為 Wwise 開發(fā)新的插件和 DSP 功能。他熱衷于各種離奇古怪的實驗音樂,喜歡時不時地來場說走就走的騎行。
