劉 豪
(廣州海格通信集團(tuán)股份有限公司,廣東 廣州 510663)
終端通信系統(tǒng)的音頻質(zhì)量直接影響用戶的體驗(yàn),好的產(chǎn)品設(shè)計(jì)可以優(yōu)化處理音頻噪聲和回聲,本文主要研究硬件回聲消除和軟件音頻降噪兩方面的技術(shù)[1]。良好的硬件設(shè)計(jì)可使得音頻軟件算法處理效果事半功倍,達(dá)到高質(zhì)量語(yǔ)音通話效果。反之,若是硬件設(shè)計(jì)存在缺陷,那么軟件后期處理會(huì)非常棘手。本文的目標(biāo)是在硬件和軟件算法處理的基礎(chǔ)上提供舒適的半雙工和全雙工語(yǔ)音通話,實(shí)現(xiàn)良好的音頻性能。
為了保證良好的語(yǔ)音通話質(zhì)量,整機(jī)產(chǎn)品需要滿足以下性能要求。
上、下行鏈路的耦合性對(duì)終端整體的回聲性能影響非常大。對(duì)比回聲和近端語(yǔ)音信號(hào),為了能夠達(dá)到最佳回聲處理的效果,最大回聲信號(hào)至少比近端語(yǔ)音信號(hào)低6 dB[2,3]?;芈曅盘?hào)和近端語(yǔ)音對(duì)比如圖1所示,其中近端語(yǔ)音在-15 dB左右,回聲信號(hào)在-21 dB左右,相差大概6 dB,該耦合性能是合格的,且差值越大效果更佳。音頻耦合性能評(píng)價(jià)如表1所示。
圖1 回聲信號(hào)和近端語(yǔ)音對(duì)比圖
表1 近端語(yǔ)音和回聲信號(hào)差值評(píng)價(jià)表
音頻信號(hào)的回聲,其諧波能量最大值要比基頻小25 dB[4]。大部分回聲消除技術(shù)均假設(shè)回聲鏈路是線性系統(tǒng),保證回聲鏈路的線性可使得回聲消除處理干凈。音頻線性性能差主要有以下幾個(gè)因素。一是器件本身線性性能差,器件太輕或者發(fā)音系統(tǒng)太緊湊導(dǎo)致音腔無(wú)法發(fā)出足夠大的聲音;二是電池電壓太低,無(wú)法線性驅(qū)動(dòng)音頻放大器;三是前端存在自動(dòng)增益放大器;四是喇叭破音,喇叭和麥克風(fēng)之間存在機(jī)械振動(dòng)。
保證每次通話之間主信號(hào)和參考信號(hào)延時(shí)是相對(duì)穩(wěn)定的,浮動(dòng)值不超過(guò)100個(gè)樣點(diǎn)。主信號(hào)和參考信號(hào)時(shí)延如圖2所示,下行語(yǔ)音從喇叭通過(guò)反射被麥克風(fēng)采集作為參考信號(hào),上行語(yǔ)音作為主信號(hào),兩者之間的間隔稱為主信號(hào)和參考信號(hào)時(shí)延,簡(jiǎn)稱RPD。
圖2 主信號(hào)和參考信號(hào)時(shí)延
RPD在以下兩種情況造成的影響較大。一是在一次通話過(guò)程中RPD不穩(wěn)定,頻繁的改變;二是每次通話RPD差異過(guò)大,相差100個(gè)采樣點(diǎn)以上。
為了消除音頻回聲,在硬件上選用Fortemedia公司的FM1288芯片。FM1288是新一代移動(dòng)終端語(yǔ)音性能優(yōu)化ASIC芯片,支持的主要功能包括上行與下行音頻的噪音削減功能和全雙工回音消除功能。支持線性與非線性系統(tǒng)的回音消除和快速收斂,支持GUI調(diào)試工具快速調(diào)試音頻性能[5]。
FM1288內(nèi)部原理框圖如圖3所示,采用SAMTuner工具GUI界面進(jìn)行相應(yīng)的音頻性能的配置。音頻回聲消除相關(guān)的配置參數(shù)在Liner AEC和Non-Liner AEC模塊中,線性回聲參數(shù)配置主要包括回聲時(shí)延和回聲門限檢測(cè),需要根據(jù)產(chǎn)品使用的具體場(chǎng)景進(jìn)行相應(yīng)的配置。
圖3 FM1288內(nèi)部原理框圖
FM1288芯片對(duì)回聲消除有重要的作用,同時(shí)音頻質(zhì)量也跟音頻器件的選型及硬件結(jié)構(gòu)布局關(guān)系密切。音頻設(shè)計(jì)要點(diǎn)如下,一是喇叭盡量選擇頻響、一致性較好且失真較小的正規(guī)廠家器件,安裝時(shí)確保接觸良好、牢固,避免機(jī)械振動(dòng)。音腔獨(dú)立設(shè)計(jì),密封性要好,喇叭帶獨(dú)立的音腔和接觸面的密封墊,可保證喇叭發(fā)音效果并防止其漏音。二是麥克風(fēng)盡量選擇正規(guī)廠家頻響和一致性較好的器件(靈敏度浮動(dòng)在±2 dB),采音孔暢通,無(wú)彎曲。此外,麥克風(fēng)要與音腔孔朝向一致,遠(yuǎn)離喇叭,保證兩者不在同一平面上。
音頻降噪技術(shù)在移動(dòng)終端應(yīng)用廣泛,目前多采用軟件算法技術(shù)進(jìn)行音頻降噪。本文主要研究Speex開(kāi)源音頻降噪算法的實(shí)現(xiàn)原理、代碼實(shí)現(xiàn)以及降噪效果。
第1步預(yù)處理,信號(hào)輸入、加窗、交疊,時(shí)頻傅立葉變換,第2步計(jì)算頻域能量和基于臨界頻帶內(nèi)的帶噪信號(hào)能量,第3步固定迭代因子平滑算法,更新噪聲能量,第4步計(jì)算后驗(yàn)信噪比并進(jìn)行先驗(yàn)信噪比更新,第5步計(jì)算臨界頻帶內(nèi)的EM算法增益和線性頻域上的EM算法增益,第6步進(jìn)行反傅立葉變換、加合成窗函數(shù)以及交疊相加,最終得到去噪以后的時(shí)域信號(hào)[6]。
Speex進(jìn)行音頻去噪需要準(zhǔn)確設(shè)置音頻采樣率和幀長(zhǎng)度[7]。噪聲消除模塊需設(shè)置一個(gè)噪聲抑制閾值參數(shù),默認(rèn)為-25 dB,此值可控制噪聲削弱強(qiáng)度,噪聲抑制閾值越小噪聲去除效果越好,但同時(shí)正常語(yǔ)音失真度也越大,因此需要根據(jù)實(shí)際音頻應(yīng)用場(chǎng)景進(jìn)行配置[8,9]。語(yǔ)音噪聲消除關(guān)鍵函數(shù)為:
圖4為Speex音頻降噪前后波形對(duì)比圖,圖中上半部為人聲疊加了噪音的波形,下半部是通過(guò)Speex降噪后處理后的人聲波形,可以看出其對(duì)人聲疊加噪聲抑制效果較好[10]。
圖4 Speex音頻降噪前后波形對(duì)比
音頻降噪和回聲消除技術(shù)在音頻領(lǐng)域應(yīng)用廣泛,需要結(jié)合硬件和軟件進(jìn)行優(yōu)化和處理才能達(dá)到高品質(zhì)的語(yǔ)音。基于FM1288芯片的回聲消除技術(shù)的優(yōu)點(diǎn)是實(shí)時(shí)性較高,易于實(shí)現(xiàn)近端語(yǔ)音信號(hào)和遠(yuǎn)端參考信號(hào)的同步。采用軟件算法處理噪聲的優(yōu)點(diǎn)是針對(duì)不同場(chǎng)景的噪聲可以靈活進(jìn)行算法參數(shù)的選型和匹配,找到最佳解決方案,兩者相結(jié)合對(duì)音頻進(jìn)行處理將大大提升音頻質(zhì)量。