3D音效最常見的應(yīng)用場景是在游戲中。過去,游戲中的3D音效(如槍聲、腳步聲)普遍基于傳統(tǒng)游戲開發(fā)引擎(如Unreal、Unity)實現(xiàn),但當玩家聯(lián)麥時,原本不管游戲中隊友在哪兒,它的聲音聽上去都差不多。試想一下,在大家都手忙腳亂地“突突突”時,隊友發(fā)來求助語音“我在你東南方向10米的茅房里中彈了快來扶我……”,你還得看一眼地圖再判斷判斷他們在哪兒。要是能直接聽聲辨位,玩起來是不是就方便多了?接著戴上耳機再感受一下:
要實現(xiàn)聽聲辯位,首先得知道,我們?yōu)槭裁茨芨兄铰曇舻姆轿唬?/p>
我們能感知到聲音的方位,主要是由于同個聲源傳到左右雙耳時的音量、延時等信息是不一樣的。具體點說,我們通過雙耳信號間的時間差、聲級差、音色差來判斷水平橫向定位;耳廓起到類似梳狀濾波器的左右?guī)椭趶?fù)合聲中判斷出縱向定位;根據(jù)聲級大小、頻譜狀況和個人經(jīng)驗等因素來判斷深度定位。

那么,如何模擬聲音傳播到雙耳間的差異,從而模擬出聲音的位置?
這里就需要頭部相關(guān)數(shù)據(jù)傳輸函數(shù)HRTF(Head-Related Transfer Function)來完成這項工作。它可以看成是聲音信號從聲源處傳播到雙耳的綜合濾波過程,該過程包括空氣濾波、周圍環(huán)境的混響和人體(軀干、頭部、耳廓等)的散射、反射等濾波過程。
目前,業(yè)界有比較成熟的開源HRTF庫。工程師們是這樣做的:準備一個內(nèi)置麥克風(fēng)的人體頭部模型,在某個空間位置播放原音源,對比麥克風(fēng)收錄的聲音和原音源,就能得出一個HRTF。由于人耳對于聲源空間方位的感知靈敏度有限,無需測量所有空間位置對應(yīng)的HRTF,所以現(xiàn)有HRTF庫通常是在空間球面上選取1000左右采樣點來進行測量。
真正完成實時語音3D虛擬化功能,不只是簡單地調(diào)用HRTF函數(shù),還需要將游戲世界映射為真實環(huán)境,并進行高頻運算。它的實現(xiàn)的過程大致如下:假設(shè)有N個玩家正在游戲中連麥,由于游戲的實時性要求很高,為了保證游戲的流暢度,每個玩家終端在20ms的單位時間內(nèi),至少接受(N-1)個包含語音信息和相對地理位置的數(shù)據(jù)包。根據(jù)語音信息、相對地理位置信息選用適合的HRTF算法,融合游戲地圖中聲源傳播路徑上是否有阻擋、玩家在游戲中所處的環(huán)境音(比如流水聲、空曠房間回聲)等信息,最終在玩家設(shè)備終端渲染出逼真的實時3D音效。
整個過程計算工作非常密集,有些中低端的設(shè)備無法承受。如何讓玩家終端設(shè)備消耗最少的資源,又保證游戲流暢度一直是業(yè)界探究的方向。此外,部分HRTF庫對于音源信號中的某些頻率衰減較為嚴重,尤其是對于包含豐富頻率成分的樂器聲影響更加明顯。這不僅影響音源定位準確性,也會導(dǎo)致最終輸出的環(huán)境音中樂器聲較為沉悶。
為此,基于騰訊天籟音頻解決方案,騰訊云游戲多媒體引擎GME推出了實時語音3D虛擬化功能。通過對終端渲染算法的優(yōu)化,運算效率提高近50%,單音源空間化實時渲染復(fù)雜度在0.5ms左右,讓絕大多數(shù)中低端設(shè)備也可以輕松完成實時3D音效渲染。另外,針對渲染過程中信號分量衰減問題,GME通過自研音頻信號均衡補償方法提升3D渲染效果,讓樂器等游戲中的環(huán)境音更為通透。不止于此,作為一站式語音解決方案,GME還提供了噪聲抑制、回聲消除、增益控制、信源編碼、語音均衡等功能,一次接入滿足多重需求。
目前,GME已支持多平臺接入,如windows,android,iOS,macOS,xbox,PS4,Switch,VR設(shè)備。特別值得一提的是,騰訊云GME是國內(nèi)首家支持VR設(shè)備上實時語音3D虛擬化的云服務(wù)解決方案。
過去游戲行業(yè)重視搶流量和用戶,品質(zhì)倒是次要的。但隨著游戲存量市場的到來,日漸成熟的玩家很難再被質(zhì)量粗劣的游戲吸引。在音效等細節(jié)中注入匠心,制作精良的游戲作品才能具備長久的生命力。做好這些,其它的只需要把投票權(quán)交給玩家。
