自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

游戲語音視頻SDK如何實現(xiàn)聽聲辨位

新聞 Android
我們?nèi)祟悜摳兄x上天的造化,賦予我們一雙巧奪天工的耳朵,讓我們可以毫不費力地做到聽聲辨位。在語音視頻實時通信的世界里,要實現(xiàn)聽聲辨位,卻是要耗費一番心思的事情。

通過聽聲音可以辨別聲源的位置,這是我們習以為常的生活認知。從技術的角度來說,聽聲辨位其實真的一點都不簡單。我們?nèi)祟悜摳兄x上天的造化,賦予我們一雙巧奪天工的耳朵,讓我們可以毫不費力地做到聽聲辨位。在語音視頻實時通信的世界里,要實現(xiàn)聽聲辨位,卻是要耗費一番心思的事情。

雙耳效應

關于人耳聽聲辨位的原理,這里不再贅述。有需要了解的同學請自行搜索“雙耳效應”問度娘。簡單地來說,聽聲辨位的基礎是左右耳朵從同一聲源獲得的聲音信息有細微的差別:

  1. 到達左右耳朵的時間不一樣
  2. 在左右耳朵空間上的相位不一樣
  3. 音色(頻率)不一樣
  4. 音級(波幅)不一樣

人腦和雙耳就是根據(jù)這兩組聲音信息的細微區(qū)別,判斷出聲源的位置的。

人類的雙耳在自然環(huán)境進行聽聲辨位,已經(jīng)有過數(shù)百萬年的實戰(zhàn)經(jīng)驗,以至于我們認為這是理所當然的事情。然而,隨著科技的發(fā)展,我們習以為常的認知遇到了突而其來的挑戰(zhàn)。

二十世紀初遇到的第一個有代表性的挑戰(zhàn)是留聲機。立體聲技術較好地為模擬聲音解決了立體音效的問題。基礎的立體聲技術是采用兩個麥克風進行拾音,獲得兩組波形獨立的聲音信號,然后進行獨立的處理,在播放的時候采用兩個揚聲器獨立地播放這兩組聲音信號。這樣,從播放端的角度來說,用戶聽到的是聲音本身的立體音效和用戶周遭空間的立體音效的疊加,能夠達到聽聲辨位的效果。

二十一世紀的前二十年,語音視頻實時通信遇到了移動互聯(lián)網(wǎng),立體聲技術也遇到技術限制。這些技術限制其實和應用場景有關系。

聽聲辨位的應用場景

第一個要提的是游戲場景,如果不是最重要,也是最重要之一。游戲可以分為競技類的和休閑類的。兩類游戲?qū)β犅暠嫖坏囊笠膊槐M相同。

競技類的游戲,包括眾多玩家耳熟能詳?shù)腗MORPG、MOBA和FPS。玩過CS的同學都知道,在虛擬場景中是能聽到周遭其它玩家的腳步聲的,聽聲辨位很多時候比視野更加有效地幫助玩家判斷其它玩家在哪里,這往往是殺敵制勝和脫險保命的關鍵手段?,F(xiàn)在實時游戲語音技術可以讓玩家在CS中和隊友一邊并肩作戰(zhàn)一邊對話溝通。如果玩家通過游戲語音通話判斷出隊友的位置和通過游戲系統(tǒng)聲音判斷出隊友的位置不一致,以至于造成判斷錯誤,在分秒必爭的虛擬槍戰(zhàn)中,這可是致命的誤導。要讓游戲系統(tǒng)聲音反映的虛擬位置和游戲語音通話反映的虛擬位置一致,其實是蠻難的。游戲系統(tǒng)和游戲語音SDK是完全獨立和解耦的,游戲系統(tǒng)的聲音產(chǎn)生涉及到游戲服務器和客戶端的協(xié)同,游戲語音SDK的語音是從遠端用戶傳輸過來,考慮到兩個獨立系統(tǒng)和網(wǎng)絡傳輸,兩個者之間的步調(diào)要保持一致是十分有挑戰(zhàn)的任務。

休閑類的游戲包括棋牌等人數(shù)較少節(jié)奏較慢的游戲,通過游戲語音邊玩邊聊天是一個剛性的社交需求。請各位閉眼想象,你和其它三個好友在線上打麻將,同時通過語音嘮叨家常。如果你能夠通過聽左、右和前方三個人的聲音,分辨出他們就像是坐在你左、右和前方三個位置,音效體驗一下子就爆表了。狼人殺游戲更加不在話下,這種完全依托語音會話建立起來的社交游戲,如果能夠通過聽聲音就能辨別出講話的人的方位,閉著眼睛去感覺,就像是一伙朋友圍著圓桌面對面的玩狼人殺游戲呢。

第二個對聽聲辨位有需求的場景是在線教育的小班課堂。舉一個比較具體的例子,在線少兒英語小班課,應該是對線上互動要求最高的一種在線課堂形態(tài),沒有之一。小朋友的注意力不容易集中,對課堂趣味性和互動性的要求特別高。如果小朋友能夠通過聽聲感覺到老師就坐在正前方講臺的位置,其它小朋友坐在前后座位各個方位,由遠而近多個距離層次都有小朋友,就像是在真實的擺滿書桌的教室里面的聲音效果一樣,這樣無疑是大大增強了小朋友的注意力集中程度。

其它的一些應用場景,比如說語音社交、視頻社交和互動直播,聽聲辨位的效果也會讓用戶感到驚艷。如果你加入houseparty的視頻聊天房間,能聽到參加趴踢的朋友分布在你前后左右的各個位置,那種沉浸式的聽音感覺會讓你像是整個人一下子投入到趴踢的人群中去。

這些應用場景即構ZEGO都有豐富的客戶案例,即構ZEGO的聽聲辨位技術能讓用戶在這些應用場景里獲得360度空間感的聽聲體驗。然而,客戶越來越苛刻的需求,驅(qū)使著即構ZEGO不斷的去打磨和升級其聽聲辨位技術,來給予用戶最優(yōu)的體驗。

移動終端的處理能力分秒不停地飛速發(fā)展,5G的推出如果不出意外也會在2019年到來,加上VR/AR技術的日漸成熟,沉浸式的語音視頻實時互動通信將會成為一種生活方式。當你帶著VR頭顯,環(huán)顧360度都看到遠端的朋友的視頻影像的時候,你是不是也期待他們的聲音聽起來也像是從他們看起來的那個位置傳過來一樣?到那時候,聽聲辨位技術也會成為這種生活方式的必備支柱。

硬件條件的限制

上面對應用場景的展望和抒情有點太超前了,我們稍微回到2017年下半年的現(xiàn)實中來。雖然夢想很美好,但是現(xiàn)實很殘酷,現(xiàn)在手機硬件條件還存在諸多限制。

目前,絕大部分的手機采集聲音的麥克風只有一個。當然有朋友反對說,iPhone不是有好幾個麥克風嗎?其實采集語音的麥克風還是只有一個,其它的麥克風是用來做噪聲抑制的。一個麥克風采集到的聲音就是單聲道的,不會產(chǎn)生立體聲的效果,也就是不會讓你聽聲音就能辨別出聲源的位置。

目前,絕大部分的手機只有一個揚聲器,只有少數(shù)的手機是支持立體聲的。這里要區(qū)別分一下,打電話的時候聽電話那個喇叭不是揚聲器,點了免提鍵后手機不需要貼到耳朵邊的時候發(fā)出聲音的那個喇叭才是揚聲器,播放音樂的時候發(fā)聲音的喇叭也就是揚聲器。既然只有一個揚聲器,那么不管聲音信號是不是立體聲的,播放出來的聲音效果都是單聲道的。在渲染的時候,應用程序把聲音數(shù)據(jù)放到一個緩沖區(qū),操作系統(tǒng)把聲音數(shù)據(jù)取出來播放,如果只有一個揚聲器的話,巧婦難為無米之炊,臣妾也表示辦不到,即使是立體聲信號也會被降級為單聲道播放。當然,耳機線有左右兩個喇叭,插入耳機線以后,手機就支持立體聲播放了。

單聲道虛擬成立體聲

如果發(fā)送端采用外部采集,采集的設備有兩個麥克風,或者本身就是立體聲麥克風,那么采集進來的聲音信號就是立體聲的。立體聲信號包含兩組獨立的波形,由于這兩組波形有相關性,可以一起編碼傳輸,在接收端解碼以后再獨立地渲染,最終獲得立體聲的效果。

如果發(fā)送端采用手機的唯一麥克風,采集進來的聲音信號就是單聲道的。如果要在接收端獲得立體聲的效果,就要把單聲道的聲音信號虛擬成立體聲的。不是說巧婦難為無米之炊嗎?這里也不完全是“無米”,畢竟還是有一組單聲道波形數(shù)據(jù)的。

具體的做法是,首先對聲音傳播路徑進行建模,然后輸入原始的波形數(shù)據(jù),還有距離d和角度a兩個參數(shù),模型會輸出兩個獨立的波形,代表左右聲道的聲音信號。這兩個波形和原始的波形作比較,在相位,音色和音調(diào)都有所調(diào)整,盡量地逼近原始波形在自然環(huán)境中傳播到用戶的左右耳朵后形成的兩個不同的波形。這兩個波形有相關性,因此一起編碼后的帶寬是小于每一個波形帶寬的兩倍。虛擬立體聲信號數(shù)據(jù)到達接收端以后,結果解碼就可以得到兩個獨立的波形聲音信號數(shù)據(jù)。如果是在手機揚聲器播放出來,效果還是單聲道的,如果通過耳機播放出來,就能呈現(xiàn)出立體聲的效果,用戶可以聽出聲音的空間感,并且依此進行聽聲辨位。

把單聲道波形虛擬成兩個獨立的立體聲波形,是在目前移動端硬件限制條件下的一個技術處理手段。虛擬立體聲的處理可以在發(fā)送端進行,也可以在接收端進行。在哪里進行虛擬化,要看具體的場景需要。如果有混音的需求,也就是要把語音信號和背景音樂混合在一起的話,那么比較適合在發(fā)送端來做虛擬立體聲;如果沒有混音的需求,那么比較適合在接收端做虛擬立體聲。背景音樂一般是立體聲的,而且是在發(fā)送端輸入的。如果需要進行混音,而混音必須要在發(fā)送端進行,那么背景音樂和語音信號都要是立體聲才能對應得混合。因此,虛擬立體聲必須要發(fā)送端完成,然后虛擬出來的語音立體聲才能和背景音的立體聲混合,混合好以后再把立體聲信號進行編碼傳輸,最后到了接收端解碼以后就可以把立體聲播放出來。如果不需要進行混音,那么可以把單聲道聲音信號直接編碼發(fā)送,接收端收到后進行解碼,再把單聲道聲音信號虛擬成立體聲,這樣傳輸?shù)膸捑涂梢宰龅阶畹汀?/p>

當互動直播遇到立體聲

隨著硬件的快速更新?lián)Q代,在不遠的將來,手機很可能會支持立體聲,擁有雙麥克風(考慮到手機的物理尺寸較小,筆者嚴重懷疑雙麥克風的效果)和雙揚聲器。也許你會覺得這是普大喜奔的好事情,再也不用費腦去搞虛擬立體聲了,然而有個現(xiàn)實要讓你心碎:即使手機支持立體聲,在進行互動直播或者互動語音視頻通話的時候,手機依然只能采用單聲道采集,因此,還是要繼續(xù)搞虛擬立體聲,這是跑不掉的事情。為什么在互動直播的時候只能采取單聲道而不能采取立體聲呢?下圖展示了使用立體聲手機進行回聲消除的邏輯,大家看一下此圖就理解互動直播不能采取立體聲的緣由了。

(點擊放大圖像)

參照上圖,我們看一下語音數(shù)據(jù)的是如何流動的:

  1. 遠端的左右兩個麥克風分別采集左右聲道的語音數(shù)據(jù);
  2. 近端的左右兩個揚聲器分別播放左右聲道的語音數(shù)據(jù);
  3. 近端左邊的揚聲器發(fā)出的聲音經(jīng)過回聲饋路會被近端左右的兩個麥克風采集進去;
  4. 近端右邊的揚聲器和#3同理;
  5. 近端左邊的麥克風采集進來的聲音信號包括了左右兩個揚聲器產(chǎn)生的回聲;
  6. 近端右邊的麥克風和#5同理;
  7. 對左邊麥克風采集的聲音進行回聲消除的時候,除了參考遠端左聲道聲音信號消除左邊揚聲器產(chǎn)生的回聲,還要參考遠端右聲道聲音信號消除右邊揚聲器產(chǎn)生的回聲;
  8. 對右邊的麥克風采集的聲音進行回聲消除和7同理。

也就是說,對左邊麥克風采集進來的聲音要消除左右兩個揚聲器產(chǎn)生的回聲,對右邊麥克風采集進來的聲音進行回聲消除也同理,總共要進行四次回聲消除,并且要從每一個麥克風采集進來的聲音信號里消除兩個揚聲器造成的回聲,計算量一下子變成單聲道情形的四倍,復雜度更是遠超四倍。同等條件下,立體聲回聲消除的效果比起單聲道回聲消除的效果差。目前業(yè)界的實踐表明,立體聲回聲消除的效果并不理想。因此,在涉及到互動直播或者互動語音視頻實時通話的場景,還是要使用單聲道采集和渲染比較能簡單而且能保障效果。

結語

聽聲辨位是人們在自然環(huán)境中習以為常的事情,語音視頻實時通信的愿景就是要在互聯(lián)網(wǎng)上完美地還原自然環(huán)境的通話場景,這也是即構ZEGO孜孜不倦地追求的使命。隨著AR/VR的發(fā)展,沉浸式的語音和視頻消費方式成為常態(tài),在進行語音視頻實時通話的時候,人們也會要求能夠做到聽聲辨位,在游戲語音、語音社交、視頻社交、視頻會議和在線教育等場景,會有廣泛的需求和應用。

【特別推薦】

視頻直播一路走來,經(jīng)歷了怎樣的變革?

在線抓娃娃、直播答題、小程序直播、AI等風口又會怎樣推動直播技術的發(fā)展?

3月17日,即構科技主辦的ZEGO Meetup,將攜手直播行業(yè)的4位技術大咖,和大家一起暢談視頻直播的技術與未來。這里有:

《視頻直播的這十年》

《連麥互動直播 X 微信小程序》

《秀色直播的技術實踐之路》

《AI賦能直播:反欺詐技術為直播平臺保駕護航》

干貨滿滿,就等你來!

活動報名請戳:http://www.huodongxing.com/event/5429947400400

責任編輯:林師授 來源: 51CTO
相關推薦

2017-12-22 21:06:55

語音視頻SDK聽聲辨位

2017-12-22 22:13:22

語音視頻SDK延遲

2018-03-07 22:16:31

游戲語音

2017-11-09 18:12:07

sdk

2022-08-29 10:39:32

FFmpeg多媒體框架開源

2013-03-05 14:03:01

傲游云瀏覽器

2017-12-22 22:33:04

游戲語音音視頻社交

2017-09-13 16:12:12

2022-09-21 11:48:40

端到端音視頻測試用戶體驗

2022-01-24 20:40:26

HarmonyOS音視頻鴻蒙

2024-10-15 13:30:03

2022-08-04 14:41:47

AI視覺數(shù)據(jù)

2017-11-14 17:57:55

抓娃娃SDK

2018-12-20 15:38:03

UCloud視頻SDK直播

2022-06-20 05:50:41

抖音春節(jié)活動視頻發(fā)紅包

2023-03-03 15:40:43

抖音視頻編碼器

2013-10-31 10:51:46

網(wǎng)易郵箱
點贊
收藏

51CTO技術棧公眾號