本文是“Dev for Dev專欄”系列文章,作者為音視頻實驗室工程師黃一清。
優(yōu)化音頻質(zhì)量是一項復(fù)雜的系統(tǒng)工程,回聲消除是常見的話題之一。一般來說,回聲消除的效果受設(shè)備本身的聲學(xué)設(shè)計、聲學(xué)環(huán)境、軟件系統(tǒng)等多種因素影響。傳統(tǒng)的回聲消除方法包括線性回聲消除和濾波非線性處理。然而,當(dāng)前回聲消除的前沿仍然面臨非線性回聲消除、近端能量小于回聲能量、立體聲回聲問題、麥克風(fēng)和參考信號時鐘不一致、參考信號不準(zhǔn)確以及缺乏可靠的延遲估計方法等問題。 Agora音頻技術(shù)團(tuán)隊結(jié)合自身實踐,推出了特殊場景下的音頻評測系列文章。這篇文章是關(guān)于回聲消除的——希望與業(yè)界同仁交流。
隨著4G/5G的應(yīng)用,實時音視頻領(lǐng)域也快速發(fā)展,實時語音質(zhì)量越來越受到關(guān)注。回聲、延遲、滯后等因素已成為人們關(guān)注實時語音質(zhì)量的主要方面。本文主要介紹實時語音通話中的回聲消除問題。
回聲是指揚(yáng)聲器發(fā)出的聲音被麥克風(fēng)拾取并發(fā)送回遠(yuǎn)端的現(xiàn)象。所有通信系統(tǒng)都必須進(jìn)行回聲消除,否則通信質(zhì)量將受到嚴(yán)重影響。回聲消除帶來的問題主要分為兩類,雙語音時回聲丟失和單詞丟失。直觀的表現(xiàn)是說話者聽到自己的聲音而對方的聲音卡住甚至聽不見。
■圖1:回聲產(chǎn)生的原因
01 回聲消除的幾個問題
■圖2:回聲消除解決方案
影響回聲消除的因素有很多,比如音量問題。當(dāng)播放信號太大時,很容易產(chǎn)生回聲。其主要原因如下:
1、麥克風(fēng)采集到的回聲信號溢出(),引入非線性回聲;
2、音量過大會加劇硬件設(shè)備本身的振動,引入非線性成分;
3、麥克風(fēng)采集到的回聲信號不會溢出,但遠(yuǎn)大于近端語音信號留學(xué)之路,導(dǎo)致雙講時嚴(yán)重掉話甚至聽不見。
此外,延遲抖動、時鐘偏移、采集或回放頻率不穩(wěn)定、非線性失真、回聲路徑變化、混響、硬件3A(手機(jī)自帶3A)處理效果等,都是影響回聲消除的常見因素。因素。從宏觀上看,采集或播放設(shè)備的外觀(揚(yáng)聲器/麥克風(fēng)設(shè)備型號和排列)、手機(jī)的3A處理算法(手機(jī)制造商、系統(tǒng)和型號)、傳輸算法、環(huán)境因素等復(fù)雜多變。不同的通訊場景,會對回聲消除產(chǎn)生不同的影響。
02 回聲消除的評價方法
產(chǎn)生回聲的場景如此復(fù)雜,那么我們?nèi)绾卧u估回聲消除呢?在實驗室場景中,我們對回聲消除的評估主要分為兩個部分。第一部分,人工主觀測試,重點(diǎn)關(guān)注各種復(fù)雜場景下是否存在回聲問題;第二部分,客觀自動化測試,重點(diǎn)關(guān)注大量不同模型/系統(tǒng)版本是否存在回聲問題。
手動主觀測試更容易理解。它是人工互操作,模擬各種用戶可能使用的場景來測試是否有回聲。常見場景如主持人與觀眾切換、切換后臺/鎖屏、打開/關(guān)閉第三方應(yīng)用(音視頻相關(guān))、打斷等,以及與各種終端設(shè)備(耳機(jī)/輸出音箱)的切換/藍(lán)牙耳機(jī))/環(huán)境(安靜/吵鬧)等
那么客觀的自動化測試如何檢測回聲呢?
我們建立了一個評估AEC的系統(tǒng)。該系統(tǒng)適用于聲網(wǎng)及行業(yè)SDK的所有場景。所使用的語料庫是在消聲室中錄制的人聲語料庫,對用戶最熱門模型和常見問題模型進(jìn)行評估。將設(shè)備音量調(diào)節(jié)至官方推薦音量,通過測試機(jī)播放的完整性、測試機(jī)的播放響度、長短回聲比例、量等指標(biāo)來衡量AEC質(zhì)量的殘余回聲。
03 具體AEC客觀評價方法
該測試方法通過測試設(shè)備統(tǒng)一發(fā)送和接收測試信號,可用于回歸測試。在大批量自動化測試中也具有良好的穩(wěn)定性,可以大大提高測試效率。
步驟一:將近端設(shè)備連接至遠(yuǎn)端設(shè)備;
步驟2:計算機(jī)通過聲卡將音頻信號輸出到近端標(biāo)準(zhǔn)設(shè)備,近端設(shè)備采集并測試音頻信號;
步驟3:在遠(yuǎn)端設(shè)備上播放接收到的音頻信號;
步驟4:聲卡同步采集近端設(shè)備接收到的待測音頻信號;
步驟5:通過檢測待測音頻信號的響度和持續(xù)時間來確定遠(yuǎn)端設(shè)備的回聲消除質(zhì)量。
■圖3:電波暗室測試環(huán)境
為了評估理想條件下的回聲消除能力,我們在消聲室內(nèi)進(jìn)行了測試。隔離噪音并最大限度地減少回聲。圖3是測試環(huán)境的部分展示。我們在選定的測試機(jī)上進(jìn)行批量測試。
描述
A1
全雙工無衰減
A2
全雙工在發(fā)射方向有衰減
非常短的剪輯
音節(jié)的短截斷造成損壞
剪輯導(dǎo)致單詞丟失
極短的殘余回波
間歇返回
連續(xù)回聲
表1 回聲消除性能類型說明
根據(jù)3GPP對回聲消除性能分類的描述(表1)和回聲消除性能的分類(圖4)回聲是怎么產(chǎn)生的,我們將回聲比例分為回聲比例小于25ms、回聲比例25~150ms和回聲比例超過150ms。三個級別的比率用于定義回聲的嚴(yán)重程度。
■圖4 回聲消除性能分類
04 測試結(jié)果分析
以下是Agora的AEC評測結(jié)果以及行業(yè)解決方案。
■AEC評價結(jié)果(部分)
以上是理想條件下回聲消除的評價。但在實際通信中回聲是怎么產(chǎn)生的,會存在各種復(fù)雜的環(huán)境,產(chǎn)生不同程度的回聲。為了模擬真實情況下出現(xiàn)的回聲,我們使用可調(diào)混響室中記錄的語料進(jìn)行回聲分析。以下是AEC評測方案在四種不同場景、不同檔位下的一些數(shù)據(jù)。同時,還可以測試頻繁進(jìn)出通道或長期壓力測試下的回聲消除效果。
可調(diào)混響室的混響時間可設(shè)置至0.2~2秒,共7級。可模擬小型會議室、客廳、報告廳、大型教室、電影院等不同規(guī)模的實際應(yīng)用環(huán)境,并提供主觀聲音評價。客觀的算法質(zhì)量評估提供了可重復(fù)的全場景測試條件。
通過分析數(shù)據(jù),我們可以清楚地看到回聲消除能力。使用大量測試模型,可以檢查特定模型對回聲消除的影響。通過比較不同版本,可以評估優(yōu)化迭代的效果。通過與行業(yè)解決方案的對比,可以檢驗我們研發(fā)工作的領(lǐng)先性。
寫在最后:回聲消除的效果會直接影響各種場景下的用戶體驗,比如聊天室、卡拉OK、會議、在線教學(xué)等。為了提高用戶體驗,我們也深度融合了傳統(tǒng)算法和用于開發(fā)基于人工智能的回聲消除的人工智能算法。該功能可以在更嚴(yán)格的條件下保留完整、清晰、流暢的近端人聲,顯著提高系統(tǒng)性能。回聲消除和雙講功能為用戶帶來更舒適的通話和直播體驗。目前該功能已集成在 Agora RTC SDK 4.1.0 及以上版本中。歡迎大家免費(fèi)下載體驗。立即注冊聲網(wǎng)賬號,下載SDK,每月免費(fèi)獲得10,000分鐘。如果您在開發(fā)過程中遇到任何問題,可以在聲網(wǎng)開發(fā)者社區(qū)與官方工程師交流。