如何做好游戏内实时语音体验
游戲內(nèi)語音溝通需求
早在2015年,艾媒咨詢即有移動(dòng)游戲社交相關(guān)數(shù)據(jù)統(tǒng)計(jì):近40%的玩家因?yàn)樯缃灰蛩剡x擇一款游戲;15.6%的玩家因?yàn)橐豢钣螒蛏缃恍圆疃x擇離開。因此,如何提高游戲的社交屬性已成為各大游戲廠商游戲策劃的重要組成部分。從小隊(duì)?wèi)?zhàn)斗、團(tuán)隊(duì)副本,到游戲排名、PVP團(tuán)隊(duì)競(jìng)技、公會(huì)、家族等游戲玩法,無一不是為了增強(qiáng)游戲的社交性,進(jìn)而提高游戲粘性和玩家活躍度、留存率的有效方式。隨著移動(dòng)設(shè)備性能大幅攀升,移動(dòng)游戲也從場(chǎng)景簡(jiǎn)單的休閑類游戲發(fā)展為更追求操作和游戲體驗(yàn)的競(jìng)技類和大型MMO類等重度游戲,該類游戲內(nèi)玩家間的溝通交流是其必不可少的功能需求。然而相比端游而言,手游內(nèi)打字系統(tǒng)更加不方便,文字消息完全無法滿足溝通的實(shí)時(shí)性需求;此外,由于重度游戲?qū)κ謾C(jī)網(wǎng)絡(luò)及性能的要求很高,不穩(wěn)定的網(wǎng)絡(luò)和有限的計(jì)算資源是每個(gè)移動(dòng)端目前都無法完全解決的問題,游戲外的語音通信軟件如移動(dòng)QQ等也無法滿足在資源緊張的情況下做到不影響游戲內(nèi)玩家的體驗(yàn),因此,移動(dòng)游戲內(nèi)集成輕量級(jí)的語音聊天能力已成為各手游廠商的必然選擇。
移動(dòng)游戲語音能力面臨的挑戰(zhàn)
實(shí)時(shí)語音通信技術(shù)在行業(yè)內(nèi)早已不是一個(gè)新話題,從傳統(tǒng)的VOIP呼叫中心廠商,到云通信領(lǐng)域的語音服務(wù)提供商,均有大量現(xiàn)成的SDK供各類APP集成其實(shí)時(shí)語音能力。然而,針對(duì)移動(dòng)游戲內(nèi)的實(shí)時(shí)通信需求,不僅僅是簡(jiǎn)單實(shí)現(xiàn)實(shí)時(shí)通話就可以滿足,更多的挑戰(zhàn)如下:
1. 對(duì)游戲核心玩法的影響
近年來,移動(dòng)設(shè)備性能大幅增強(qiáng),但相對(duì)玩家對(duì)游戲體驗(yàn)的追求而言,目前消費(fèi)級(jí)智能設(shè)備的性能仍然是只能滿足高品質(zhì)游戲的基本需求,并沒有過多的富余。若實(shí)時(shí)語音能力占用了過多的設(shè)備CPU和內(nèi)存,會(huì)導(dǎo)致游戲本身體驗(yàn)的下降,社交需求雖然是玩家選擇游戲的重要方向,但游戲體驗(yàn)才是決定一個(gè)游戲能否存活的根本。而從15年起,對(duì)網(wǎng)絡(luò)延遲要求極高的MOBA和FPS類游戲也被搬上移動(dòng)端,面對(duì)移動(dòng)端極度不穩(wěn)定的網(wǎng)絡(luò)環(huán)境和昂貴的4G流量費(fèi)用,各游戲廠商為了優(yōu)化游戲報(bào)文、減少網(wǎng)絡(luò)流量、降低網(wǎng)絡(luò)延遲費(fèi)心盡力,若由于語音能力的加入將游戲網(wǎng)絡(luò)質(zhì)量一夜影響到解放前,顯然是得不償失的。此外,語音能力的加入是否會(huì)大幅提高游戲下載首包的大小也是各大游戲發(fā)行廠商關(guān)注的重中之重。
2. 移動(dòng)游戲環(huán)境下的聲音處理
相比于客戶端游戲的場(chǎng)景,移動(dòng)端游戲最大的優(yōu)勢(shì)在于我們可以“移動(dòng)”著玩游戲,然而在實(shí)時(shí)語音上,這種“移動(dòng)”的便捷性也為清晰的語音傳輸引入了更多的問題:地鐵或路上嘈雜的背景音影響正常的語音質(zhì)量;手機(jī)距離嘴巴距離的忽遠(yuǎn)忽近,聲音忽大忽小;多人說話外加游戲的背景音的混疊導(dǎo)致能量過大引起爆音;多玩家手機(jī)聲音外放造成的大量回聲。這些都是在端游相對(duì)簡(jiǎn)單的環(huán)境加耳麥場(chǎng)景下不會(huì)頻繁產(chǎn)生的復(fù)雜的聲音處理問題。
3. 移動(dòng)游戲多語音場(chǎng)景的能力覆蓋
目前比較重度的手游中,競(jìng)技類如MOBA、吃雞和MMO類游戲占據(jù)了主流,該類游戲的實(shí)時(shí)戰(zhàn)斗屬性急需移動(dòng)游戲引入語音能力,而休閑棋牌類游戲內(nèi)語音也逐步成了增強(qiáng)玩家間交流的重要手段。在新進(jìn)火熱的社交類游戲中,語音已成為游戲的基礎(chǔ)能力之一。然而,各類游戲?qū)φZ音能力的需求也不盡相同:競(jìng)技類游戲要求游戲內(nèi)同隊(duì)玩家均可連麥游戲,在保證基本溝通需求的同時(shí)盡量減少對(duì)移動(dòng)設(shè)備性能和網(wǎng)絡(luò)的影響;MMO類玩家很多,如PVP場(chǎng)景下的小隊(duì)語音、PVE場(chǎng)景下的團(tuán)隊(duì)語音,而類似游戲內(nèi)主播頻道的玩法也在最近被眾多MMO游戲所關(guān)注;社交類游戲如狼人殺更關(guān)注實(shí)時(shí)語音的音質(zhì),流暢無卡頓的溝通是游戲長(zhǎng)久運(yùn)營(yíng)的必要條件;休閑類游戲也將實(shí)時(shí)語音和語音消息作為輔助的社交手段來提高玩家的活躍度。 此外,也有眾多玩家在移動(dòng)端的環(huán)境下不具備收聽語音的能力,因此類似微信上提供的語音消息轉(zhuǎn)文字功能也是移動(dòng)游戲必不可少的能力之一。
4. 移動(dòng)游戲語音全球化能力
2017年國(guó)內(nèi)移動(dòng)游戲用戶規(guī)模已接近6億,增速逐年放緩,人口紅利已然消失,競(jìng)爭(zhēng)日益激烈,也逼迫各大廠商走向游戲精品化路線。相比之下,國(guó)產(chǎn)游戲在海外則大有發(fā)展空間,更多的精品手游也在獲得國(guó)內(nèi)玩家認(rèn)可后在迅速在全球推廣發(fā)行。外國(guó)玩家是否也有跟國(guó)內(nèi)玩家一致的語音需求呢?在Greg Wadley等人的調(diào)研報(bào)告中(Voice in Virtual Worlds: The Design, Use, and Influence of Voice Chat in Online Play),給出了明確的答案:游戲內(nèi)語音在全球來看,都是可以極大的提升玩家游戲體驗(yàn)的。游戲全球化對(duì)游戲內(nèi)語音提出了新的挑戰(zhàn)—如何為跨地域的玩家提供流暢清晰的語音體驗(yàn)—不穩(wěn)定的網(wǎng)絡(luò),長(zhǎng)距離的傳輸外加全球各地語音服務(wù)基礎(chǔ)設(shè)施的部署與運(yùn)維,都是讓游戲廠商頭疼的問題。
實(shí)時(shí)語音常用技術(shù)方案
在語音相關(guān)的眾多研究中,已有大量關(guān)于不同環(huán)境下語音處理的方法,并且在互聯(lián)網(wǎng)環(huán)境下流媒體協(xié)議及如何解決的一些網(wǎng)絡(luò)問題也有前人給出建議。本節(jié)即針對(duì)上述移動(dòng)游戲環(huán)境下實(shí)時(shí)語音所面對(duì)的挑戰(zhàn),介紹一些語音預(yù)處理、流媒體協(xié)議等通用的解決方案。
?
1. 語音降噪
在移動(dòng)設(shè)備所處復(fù)雜環(huán)境的情況下,接收語音信號(hào)的同時(shí)會(huì)接收到大量噪音,因此語音降噪技術(shù)是提高音質(zhì)、增加語音識(shí)別準(zhǔn)確率的的必要手段。降噪技術(shù)一般分為單麥克風(fēng)系統(tǒng)和多麥克風(fēng)系統(tǒng)下的降噪方法,其中多麥克風(fēng)系統(tǒng)對(duì)多麥克的方向、之間的距離要求很高,常用的移動(dòng)設(shè)備中并不具備如此完善的多麥克風(fēng)通道設(shè)計(jì),因此單麥克風(fēng)下的濾波降噪或噪聲閾值方法在移動(dòng)設(shè)備噪聲處理中更為常用。噪聲處理在移動(dòng)設(shè)備上相對(duì)比較簡(jiǎn)單,第一因?yàn)樵S多高端智能設(shè)備上已經(jīng)內(nèi)置了專用降噪芯片供操作系統(tǒng)調(diào)用,并且移動(dòng)操作系統(tǒng)中也內(nèi)置了很多高效的降噪算法供開發(fā)者調(diào)用,如Android中的NoiseSuppressor。
2. 語音激活檢測(cè)(VAD, Voice Activiy Dection)
語音激活檢測(cè)的目的即判斷一段聲音是背景噪音還是語音,該技術(shù)往往作為在各類語音后續(xù)處理及語音識(shí)別技術(shù)的基礎(chǔ)。在移動(dòng)游戲無處不在的噪聲環(huán)境中,語音信號(hào)的準(zhǔn)確識(shí)別尤為關(guān)鍵。一方面,可以通過對(duì)語音信號(hào)的識(shí)別,去掉沒有語音的部分的聲音,減少語音傳輸文件的大小,也減少了其他語音處理方法的CPU內(nèi)存消耗;另一方面,準(zhǔn)確提取語音信號(hào),也可以有效提高語音識(shí)別轉(zhuǎn)文字的準(zhǔn)確性。
?
由于語音本身的特性及其相對(duì)背景音的區(qū)別:能量高且不連續(xù),因此在聲音的時(shí)域分析方法中短時(shí)能量結(jié)合短時(shí)過零率的分析可以有效辨別聲音是語音還是噪音;在頻域中語音信號(hào)也可以通過倒譜及譜熵等特征作為識(shí)別參數(shù);隨著機(jī)器學(xué)習(xí)的發(fā)展,隱馬爾科夫模型、二手手機(jī)號(hào)決策樹模型乃至最新的深度神經(jīng)網(wǎng)絡(luò)也被應(yīng)用于VAD領(lǐng)域,以提高噪音環(huán)境下VAD的準(zhǔn)確率。幾種方式比較而言,時(shí)域分析對(duì)硬件要求最低,頻域分析速度最快,而模型方式則相對(duì)較復(fù)雜,但在準(zhǔn)確率上更占優(yōu)勢(shì)。截止目前,市場(chǎng)上三類VAD分析方法都在不同需求場(chǎng)景中被廣泛應(yīng)用。
3. 回聲消除
回聲,作為噪音和背景音外的第三類另人頭疼語音問題,在移動(dòng)游戲場(chǎng)景下也廣泛存在。噪聲的處理過程可簡(jiǎn)單的理解為從近端收集的所有音頻中,通過自適應(yīng)濾波器消除遠(yuǎn)端傳來的音頻信號(hào),再輸出到對(duì)端,即完成了回聲消除的目的,其中的關(guān)鍵點(diǎn)在于不斷減小濾波器權(quán)值與回聲路徑信道權(quán)值的誤差。
自適應(yīng)濾波算法一般分為兩類:最小均方算法(LMS)和遞推最小二乘(RLS)算法,RLS優(yōu)勢(shì)在于濾波效果更好,但LMS具有結(jié)構(gòu)簡(jiǎn)單、計(jì)算復(fù)雜度低等優(yōu)點(diǎn),因此更多的研究也集中在LMS上,如歸一化最小均方(NLMS),比例歸一化最小均方(PNLMS)等在濾波性能、收斂速度等多方面對(duì)LMS算法進(jìn)行優(yōu)化和提高。同時(shí),Android中也同樣提供了AcousticEchoCanceler接口可以直接對(duì)聲音進(jìn)行回聲消除,高端智能手機(jī)中也會(huì)內(nèi)置專業(yè)聲音處理芯片,在硬件層面更好的對(duì)回聲進(jìn)行消除。
4. 多路聲音混疊
游戲中小隊(duì)語音會(huì)有多個(gè)玩家同時(shí)說話的情況,并且在玩家收聽語音的同時(shí),游戲的背景音也不可被去除,因此如何使多路語音清晰傳遞并且不會(huì)造成爆音是該場(chǎng)景下優(yōu)質(zhì)混音的評(píng)判標(biāo)準(zhǔn)。最簡(jiǎn)單的混音方式是簡(jiǎn)單的時(shí)域音頻疊加,強(qiáng)度超過最大值時(shí)削峰為最大值來避免爆音,但人為削峰方式會(huì)在破壞音頻信號(hào)的同時(shí)引入額外的噪音;另一種方式是多路聲音線性疊加后取平均,該算法實(shí)質(zhì)即把多路音頻音量減小,但聲音路數(shù)時(shí)多時(shí)少時(shí),該方法會(huì)導(dǎo)致每路聲音的音量忽大忽小,影響體驗(yàn);因此,在實(shí)際使用場(chǎng)景中,更好的方式是根據(jù)每路語音的重要性,在混音時(shí)候給予相應(yīng)的權(quán)重,以保證混音后各路音頻的可識(shí)別性。
5. 語音自動(dòng)增益
自動(dòng)增益控制技術(shù)在數(shù)據(jù)通信、語音處理等方面應(yīng)用廣泛,通信信號(hào)的信號(hào)幅度經(jīng)常會(huì)發(fā)生較大波動(dòng),通過自動(dòng)增益技術(shù)可以平滑信號(hào)幅度,進(jìn)而提高通信質(zhì)量。在移動(dòng)游戲場(chǎng)景中,手機(jī)離人嘴部的距離可能依賴于玩家游戲時(shí)不同的外部環(huán)境而劇烈變化,因此,平滑每個(gè)人的聲音大小及一個(gè)人在不同說話時(shí)間的聲音大小對(duì)語音通話的質(zhì)量關(guān)系重大。在多人實(shí)時(shí)語音通信的場(chǎng)景中,自動(dòng)增益可在VAD處理后完成,并且門限值可按照多路聲音混疊中的需求所設(shè)定,采用基于能量比較的語音自動(dòng)增益算法即可實(shí)現(xiàn)較好的平滑音量的效果。
?
6. 流媒體傳輸協(xié)議
常見的流媒體協(xié)議包含RTP,RTMP,HLS,HTTP-FLV等,其中RTMP,HLS,HTTP-FLV由于在國(guó)內(nèi)外CDN平臺(tái)支持度更高,因此更常見于現(xiàn)今流行的各大直播平臺(tái)。RTMP為Adobe專利協(xié)議,協(xié)議延遲較低,國(guó)內(nèi)流行度很高,是最常用的推流協(xié)議;HLS為蘋果提出的基于HTTP的流媒體傳輸協(xié)議,支持H5,可多平臺(tái)多瀏覽器隨意播放,但延遲較高;HTTP-FLV使用HTTP傳輸FLV格式文件,避免了Adobe協(xié)議綁架,延遲略優(yōu)于RTMP。在實(shí)時(shí)性要求較高的視頻監(jiān)控、高清視頻會(huì)議領(lǐng)域,RTP為更常用的協(xié)議。其相對(duì)于前三種基于TCP的流媒體傳輸協(xié)議相比最大的區(qū)別在于,RTP是基于UDP的協(xié)議的。由于UDP本身是無序的,因此RTP常常與RTCP協(xié)議公用,用于對(duì)RTP協(xié)議的包序等內(nèi)容進(jìn)行控制。同時(shí)也可以采用數(shù)據(jù)包擁塞控制協(xié)議(Datagram Congestion Control Protocol,DCCP)來自如的控制擁塞、延遲及數(shù)據(jù)質(zhì)量。如網(wǎng)絡(luò)視頻會(huì)議領(lǐng)域市場(chǎng)占有率最高的Webex視頻會(huì)議系統(tǒng)即采用SRTP(Secure RTP)協(xié)議作為其流媒體傳輸協(xié)議。而目前各大云廠商的互動(dòng)語音視頻產(chǎn)品也大多采用類RTP協(xié)議——基于UDP協(xié)議優(yōu)化的私有協(xié)議——作為其實(shí)時(shí)流媒體傳輸協(xié)議,以達(dá)到降低延遲、帶寬消耗的目的。
7. 流媒體丟包處理
在移動(dòng)設(shè)備所處的不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,外加游戲全球發(fā)行所帶來的跨地域玩家間的網(wǎng)絡(luò)質(zhì)量問題,語音通信需要考慮在網(wǎng)絡(luò)抖動(dòng)丟包的情況下,仍然可以保證玩家間的正常通信。常見的流媒體丟包處理方案有:ARQ、FEC和交叉?zhèn)鬏敗T诰W(wǎng)絡(luò)丟包嚴(yán)重的情況下,無法根據(jù)現(xiàn)有報(bào)文處理產(chǎn)生明確的語音信息,自動(dòng)重傳請(qǐng)求(ARQ, Automatic Repeat-reQuest)丟失報(bào)文的方式可以將大范圍丟失報(bào)文重新傳輸,增加延遲但可以保證數(shù)據(jù)的有效性。前向糾錯(cuò)(FEC,Forward Error Correction)可以在少量丟包情況下,通過數(shù)據(jù)冗余而非數(shù)據(jù)重傳,來保證數(shù)據(jù)的有效性,降低重傳頻率,減少延遲。算法的核心可類比為二元一次方程,需要兩個(gè)方程即可以求出兩個(gè)元的解。在FEC中,傳輸三個(gè)二元一次方程,因此在丟失一個(gè)方程的情況下,我們?nèi)匀豢梢郧蟪鼋?#xff0c;達(dá)到可容忍部分包丟失而不影響信息有效性的目的。
?
此外,常規(guī)的數(shù)據(jù)包傳輸都是按照嚴(yán)格的順序來發(fā)送的,如把一序列數(shù)據(jù)拆分為123,456,789三個(gè)報(bào)文發(fā)送,一旦一個(gè)報(bào)文丟失,會(huì)產(chǎn)生一整段信息的空白,但在流媒體環(huán)境下,大多數(shù)情況下單幀的丟失內(nèi)容是完全可以通過前后幀的內(nèi)容補(bǔ)償而變得影響很小,因此若采用147、258、369的交叉?zhèn)鬏敺绞椒庋b報(bào)文,單個(gè)報(bào)文的丟失并不會(huì)對(duì)整體體驗(yàn)帶來很大的影響。此外,在網(wǎng)絡(luò)帶寬允許但丟包不可控的服務(wù)期間跨地域傳輸情況下,單幀多包封裝的傳輸方式也可以有效降低丟包導(dǎo)致頻繁重傳帶來的延遲影響。
綜上可知,僅從聲音的處理、協(xié)議的選擇及應(yīng)對(duì)網(wǎng)絡(luò)抖動(dòng)方面,即需要專業(yè)的語音處理研發(fā)人員進(jìn)行多項(xiàng)優(yōu)化處理措施。然而,這僅僅是從理論層面的論述,在實(shí)際的游戲場(chǎng)景中,更重要的是在做到上述所有語音優(yōu)化基礎(chǔ)之上,不能影響游戲的核心玩法,即:1)需要對(duì)語音通訊所需的CPU、內(nèi)存及網(wǎng)絡(luò)資源進(jìn)行不斷優(yōu)化降低;2)在面對(duì)市面上眾多安卓設(shè)備時(shí)保持極低的Crash率并隨時(shí)適配最新設(shè)備;3)支持常用的游戲引擎如Unity, Cocos。 此外,為保證語音全球服務(wù)的穩(wěn)定性,架構(gòu)設(shè)計(jì)的研發(fā)成本、多地域間專線連接成本及后期運(yùn)維成本等問題都是游戲廠商自建游戲內(nèi)語音服務(wù)的眾多阻礙。
總結(jié)
以上是生活随笔為你收集整理的如何做好游戏内实时语音体验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pluto - iOS 上一个高性能的排
- 下一篇: 游戏行业DDoS 6年谈:什么样的架构才