在即時通訊應用中,需要進行雙方,或是多方的實時語音交流,在要求較高的場合,通常都是采用外置音箱放音,這樣必然會產(chǎn)生回音,即一方說話后,通過對方的音箱放音,然后又被對方的Mic采集到回傳給自己。如果不對回音進行處理,將會影響通話質量和用戶體驗,更嚴重的還會形成震蕩,產(chǎn)生嘯叫。那么如何實現(xiàn)回聲消除技術呢!
回聲消除就是在Mic采集到聲音之后,將本地音箱播放出來的聲音從Mic采集的聲音數(shù)據(jù)中消除掉,使得Mic錄制的聲音只有本地用戶說話的聲音。
傳統(tǒng)的回聲消除都是采用硬件方式,在硬件電路上集成DSP處理芯片,如我們常用的固定電話、手機等都有專門的回音消除處理電路,而采用軟件方式實現(xiàn)回聲消除一直存在技術難點,包括國內(nèi)應用最廣泛的QQ超級語音,便是采用國外的GIPS技術,由此可見一般。
回聲消除已經(jīng)成為即時通訊中提供全雙工語音的標準方法。聲學回聲消除是通過消除或者移除本地話筒中拾取到的遠端的音頻信號來阻止遠端的聲音返回去的一種處理方法。這種音頻的移除都是通過數(shù)字信號處理來完成的;芈曄夹g是數(shù)字信號處理的典型應用之一。
回聲消除的基本原理是以揚聲器信號與由它產(chǎn)生的多路徑回聲的相關性為基礎,建立遠端信號的語音模型,利用它對回聲進行估計,并不斷修改濾波器的系數(shù),使得估計值更加逼近真實的回聲。然后,將回聲估計值從話筒的輸入信號中減去,從而達到消除回聲的目的。
以下列舉AnyChat音視頻開發(fā)系統(tǒng)的回聲消除技術。
AnyChat回音消除效果
A用戶說話
B用戶Mic錄制聲音(包含A的聲音+B的聲音)
A聽到B的聲音(進行了回音消除,只保留B的聲音)
關于噪音抑制(ANS)
AnyChat的噪音抑制技術原理是將實時采樣的數(shù)字信號進行頻譜分析,這樣我們就能分析背景噪聲響應的強度和頻譜分布,然后根據(jù)這個模型就能設計一個濾波器,當有人講話的時候,同時做信號分析,根據(jù)分析,ANC就能分析出講話者的頻譜,那么根據(jù)這些背景噪音和講話者的頻譜,這個濾波器根據(jù)兩個信號的對比實時的改變,讓講話者聲音頻譜通過,對背景噪聲的頻譜進行抑制,降低其能量,比如說降低15到20個分貝,就很明顯可以感覺體驗到噪音抑制的效果。
|