日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

回声消除技术

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 回声消除技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 引 言

????? 在語音通信中,有一個很影響通話質量的因素就是回聲。回聲就是指說話者通過通信設備發送給其他人的語音又重新又回到自己的聽筒里的現象。回聲會對說話者產生嚴重的干擾,必須想辦法消除。一般,回聲分為兩種,即“電路回聲”和“聲學回聲”。“電路回聲”可以通過硬件設備的合理設計而消除,在此不作討論。最復雜和最難消除的應該是所謂的“聲學回聲”。“聲學回聲”是指遠端用戶的聲音從聽筒出來以后,經過空氣或其他的傳播媒介傳到近端用戶的話筒,再通過話筒錄音后又重新傳到遠端用戶的聽筒中形成的回聲。當近端用戶的放音音量比較大而錄音設備和放音設備距離比較近時回聲尤其明顯。“聲學回聲”受近端用戶環境的影響,可能產生多路回聲,包括直接回聲和反射回聲,各個回聲的路徑不同,延遲也就不同,因而難以消除。

2 聲學回聲消除器

????? 對于聲學回聲消除,常見的消除算法有2類,即回聲抑制(acoustic echo suppression)算法和聲學回聲消除(acoustic echo cancellation)算法。

????? 回聲抑制算法是較早的一種回聲控制算法。回聲抑制是一acoustic echo suppression種非線性的回聲消除。它通過簡單的比較器將準備由揚聲器播放的聲音與當前話筒拾取的聲音的電平進行比較,如果前者高于某個閾值,那么就允許傳至揚聲器,而且話筒被關閉,以阻止它拾取揚聲器播放的聲音而引起遠端回聲。如果話筒拾取的聲音電平高于某個閾值,揚聲器被禁止,以達到消除回聲的目的。由于回聲抑制是一種非線性的回聲控制方法,會引起揚聲器播放的不連續,影響回聲消除的效果,隨著高性能的回聲消除器的出現,回聲抑制已經很少有人使用了。

????? 聲學回聲消除算法(AEC)是對揚聲器信號與由它產生的多路徑回聲的相關性為基礎,建立遠端信號(s(n))的語音模型,利用它對回聲進行估計(e`(n)),并不斷地修改濾波器的系數,使得估計值更加逼近真實的回聲(e(n))。然后,將回聲估計值從話筒的輸入信號中減去,從而達到消除回聲的目的,如圖2所示。

3 聲學回聲消除器設計

????? 一般,回聲消除器的初始化需要兩個參數:一次處理的數據量(幀長)和估計的錄音中回聲相對于錄音開頭的偏移量,即回聲相對于錄音的延遲的最大值(尾長)。回聲消除接口的一般形式為:AecFunction(input frame, playback frame, out frame),對錄音數據進行回聲消除需要等量的播放數據輸入作為建立回聲模型的參考數據。要達到良好的回聲消除效果,必須保證以下3點:

(1) 播放數據的產生速度要和錄音數據的產生速度達到動態平衡,為此如果錄放音數據的采樣率不同,那么需要把他們統一成同一采樣率下的數據以后再進行回聲消除。如果是實時的語音處理,由于網絡的不穩定性,數據包可能在網絡上丟失或者由于過大的延遲而被其他的處理環節丟棄,那么來自遠端的數據量可能會少于近端錄音產生的數據量,對于這種情況我們必須補充播放數據,以保證放音數據的量和錄音數據量達到平衡。

(2) 播放數據帶有的聲音信息先于錄音數據中帶有的對應的回聲信息送給回聲消除接口。這個先后順序是回聲消除的前提,回聲消除器不可能消除自己沒有“見過”的回聲。

(3) 播放數據的聲音對應的回聲在錄音數據中出現的位置相對于錄音的開頭的偏移量(即延遲)不能太大,因為所有的回聲消除器支持的尾長都有一個范圍,延遲超過了這個范圍回聲就無法消除了。

????? 為了滿足第一條,我們需要對放音線程數據產生的速度進行控制,控制拿給聲卡播放的數據量和從聲卡獲得的錄音數據量總是保持一致。由于錄音數據產生的速度總是均勻的,因此放音數據的產生也必須均勻,也就是說從服務器得到的放音數據沒有及時達到時,我們需要“創造”放音數據給系統播放,同時將這些數據緩存到放音數據隊列里。創造的方式有很多,比如填充靜音數據或是通過Wsola算法來模擬連續語音數據。

4 回聲延遲估計

????? 在第一次獲得放音數據時,我們開始對錄音數據進行回聲消除。開始回聲消除之后,從系統錄音接口得到的錄音數據里可能含有回聲消除開始前錄到的數據。而從開始回聲消除那一刻起到放音幀真正從聲卡放出來被錄音設備捕獲可能也需要等待一段時間(我們假設聲音一放出來立即被錄到錄音數據里,忽略其在媒介中的傳播時間,因為實際中最突出的回聲是直接回聲,即聲音從播放設備出來,通過空氣或手機本身直接傳輸到錄音設備,而不是經過反射回到錄音設備,一般直接回聲從放音設備出來再回到錄音設備的時間是很短的,一般不到1毫秒,可以忽略),這個時間跟聲卡放音的緩沖區的長度和我們的放音幀長度有關。放音數據和錄音數據的時序關系如圖所示。

(以AEC開始后取得的第一個錄音幀的起始錄音時間為起點t0 )

粗虛線圈表示一個放音幀時長,實線圈表示錄音緩沖區對應的時長,淺虛線圈表示錄音幀時長。

????? 為了保證所有播放的聲音一定會在錄音數據中重現,應先啟動錄音線程,然后再啟動放音線程。回聲的延遲決定了回聲消除器需要的“尾長”,“尾長”越小,同樣長度的數據回聲消除器的處理時間越短,回聲消除算法的收斂也越快,即消除回聲起效越快。為了使回聲的延遲盡量小,我們需要從設備支持的采樣率中選擇最合適的錄放音采樣率。這個選擇的過程是移動設備上回聲消除處理的關鍵。

如上所述,延遲可分為兩部分,一部分是由錄音時產生的,另一部分是由放音產生的。

????? 先說放音,移動設備支持的放音采樣率有多種,每種采樣率下都有一個最小放音緩沖區長度,放音的緩沖區只能設置得比這個長度長。我們每次給放音API播放的數據會去填充緩沖區,只有當緩沖區被填滿以后才會真正拿到聲卡去播放。如果放音幀比放音緩沖區長,那么放音的延遲就只是聲卡固有的放音延遲。如果放音幀比放音緩沖區短,那么就要等若干個放音幀來填充放音緩沖區,直到填滿以后才送給聲卡去播放。而聲卡收到放音數據到放音數據開始播放,這之間可能還有一個間隔,這是由于聲卡總是一段數據一段數據地播放,如果送到聲卡的時候前一段數據還沒播放完,那么聲卡會等到前一段數據播放完了才開始播放送來的這段數據,這個“數據段”的長度一般對應的就是“最小放音緩沖區長度”。所有上述的時間內產生的錄音數據也會被送到回聲消除器里去處理,因此這段時間內造成的數據延遲為(用時長表示):

????? 放音延遲 = - 1 ? 放音幀時長 + 聲卡延遲 (1)

????? 其中[ ]表示向上取整,即取不小于該數的最小整數。“聲卡延遲”即數據包送到聲卡后到其播放出來之間的間隔。如果有多個采樣率下的放音延遲都達到最小,那么我們選取最接近編解碼采樣率的那個采樣率,因為越相近的采樣率重采樣時造成的失真越小。而放音緩沖區長度也就設置為(大于或等于最小放音緩沖區長度的)重采樣為放音采樣率后的放音幀長度的最小倍數。

????? 再說錄音,錄音稍微復雜一些。錄音也和放音一樣,在每種錄音采樣率下都有一個最小錄音緩沖區長度,錄音的緩沖區只能設置得比這個長度長。當錄音數據填滿第一個緩沖區以后,我們才能從錄音API中獲得第一個錄音塊,由于回聲消除的原因,我們每次都要從錄音數據里取得和放音幀“等長”(這里的“等長”是指播放時長相等)的錄音幀來進行處理。在放音線程得到第一個放音幀、開始回聲消除這個時刻之后,我們從錄音API里得到的錄音數據里可能有一部分是在回聲消除開始之前就錄到的,這個數據有多少跟錄音幀長度以及錄音緩沖區的長度都有關。如果錄音緩沖區的長度不是錄音幀長度的整數倍,錄音數據里錄到的回聲消除前的聲音數據的時長的最大值是一個錄音幀時長加上填滿一個錄音緩沖區需要的數據對應的播放時長之和。而如果錄音緩沖區長度是錄音幀長度的整數倍,那么錄到的回聲消除前的聲音的最大時長就是填滿一個錄音緩沖區需要的數據對應的播放時長。

????? 錄音延遲 < (2)

????? 因此我們選擇使錄音延遲最大值最小的錄音采樣率,而存在多個同時達到最小值的錄音采樣率時,我們選擇最接近錄音編碼采樣率的采樣率。錄音緩沖區長度就設為(大于或等于最小錄音緩沖區長度的)換算到錄音采樣率下的錄音幀長度的最小倍數。由于放音延遲除去“聲卡延遲”的部分以外,剩下的那部分是固定的(見式(1)),作為一種優化,我們可以把錄音數據從頭部先丟掉一部分數據,這部分數據對應的時長就等于這部分延遲,這樣將縮短回聲的延遲,可以降低回聲消除器的“尾長”。

5 結 論

??? 本文通過仔細地分析移動設備的錄放音系統的各個環節對回聲消除器得到的數據產生的影響,精確地估算出了回聲延遲可能的范圍,通過精確估計延遲的下限值,給回聲消除器的優化提供了可能,提高了回聲消除器的處理效率和效果。

?

?

一、前言

????? 因為工作的關系,筆者從2004年開始接觸回聲消除(Echo Cancellation)技術,而后一直在某大型通訊企業從事與回聲消除技術相關的工作,對回聲消除這個看似神秘、高端和難以理解的技術領域可謂知之甚詳。

要了解回聲消除技術的來龍去脈,不得不提及作為現代通訊技術的理論基礎——數字信號處理理論。首先,數字信號處理理論里面有一門重要的分支,叫做自適應信號處理。而在經典的教材里面,回聲消除問題從來都是作為一個經典的自適應信號處理案例來討論的。既然回聲消除在教科書上都作為一種經典的具體的應用,也就是說在理論角度是沒有什么神秘和新鮮的,那么回聲消除的難度在哪里?為什么提供回聲消除技術(不管是芯片還是算法)的公司都是來自國外?回聲消除技術的神秘性在哪里?

二、回聲消除原理

????? 從通訊回音產生的原因看,可以分為聲學回音(Acoustic Echo)和線路回音(Line Echo),相應的回聲消除技術就叫聲學回聲消除(Acoustic Echo Cancellation,AEC)和線路回聲消除(Line Echo Cancellation, LEC)。聲學回音是由于在免提或者會議應用中,揚聲器的聲音多次反饋到麥克風引起的(比較好理解);線路回音是由于物理電子線路的二四線匹配耦合引起的(比較難理解)。

回音的產生主要有兩種原因:

1. 由于空間聲學反射產生的聲學回音(見下圖):

????? 圖中的男子說話,語音信號(speech1)傳到女士所在的房間,由于空間的反射,形成回音speech1(Echo)重新從麥克風輸入,同時疊加了女士的語音信號(speech2)。此時男子將會聽到女士的聲音疊加了自己的聲音,影響了正常的通話質量。此時在女士所在房間應用回音抵消模塊,可以抵消掉男子的回音,讓男子只聽到女士的聲音。

2. 由于2-4線轉換引入的線路回音(見下圖):

????? 在ADSL Modem和交換機上都存在2-4線轉換的電路,由于電路存在不匹配的問題,會有一部分的信號被反饋回來,形成了回音。如果在交換機側不加回音抵消功能,打電話的人就會自己聽到自己的聲音。

不管產生的原因如何,對語音通訊終端或者語音中繼交換機需要做的事情都一樣:在發送時,把不需要的回音從語音流中間去掉。

???? 試想一下,對一個至少混合了兩個聲音的語音流,要把它們分開,然后去掉其中一個,難度何其之大。就像一瓶藍墨水和一瓶紅墨水倒在一起,然后需要把紅墨水提取出來,這恐怕不可能了。所以回聲消除被認為是神秘和難以理解的技術也就不奇怪了。誠然,如果僅僅單獨拿來一段混合了回音的語音信號,要去掉回音也是不可能的(就算是最先進的盲信號分離技術也做不到)。但是,實際上,除了這個混合信號,我們是可以得到產生回音的原始信號的,雖然不同于回音信號。

我們看下面的AEC聲學回聲消除框圖(本圖片轉載)。

Figure? Acoustic Echo Cancellation in a voice communication terminal

?

????? 其中,我們可以得到兩個信號:一個是藍色和紅色混合的信號1,也就是實際需要發送的speech和實際不需要的echo混合而成的語音流;另一個就是虛線的信號2,也就是原始的引起回音的語音。那大家會說,哦,原來回聲消除這么簡單,直接從混合信號1里面把把這個虛線的2減掉不就行了?請注意,拿到的這個虛線信號2和回音echo是有差異的,直接相減會使語音面目全非。我們把混合信號1叫做近端信號ne,虛線信號2叫做遠端參考信號fe,如果沒有fe這個信號,回聲消除就是不可能完成的任務,就像“巧婦難為無米之炊”。

????? 雖然參考信號fe和echo不完全一樣,存在差異,但是二者是高度相關的,這也是echo稱之為回音的原因。至少,回音的語義和參考信號是一樣的,也還聽得懂,但是如果你說一句,馬上又聽到自己的話回來一句,那是比較難受的。既然fe和echo高度相關,echo又是fe引起的,我們可以把echo表示為fe的數學函數:echo=F(fe)。函數F被稱之為回音路徑。在聲學回聲消除里面,函數F表示聲音在墻壁,天花板等表面多次反射的物理過程;在線路回聲消除里面,函數F表示電子線路的二四線匹配耦合過程。很顯然,我們下面要做的工作就是求解函數F。得到函數F就可以從fe計算得到echo,然后從混合信號1里面減掉echo就實現了回聲消除。

盡管回聲消除是非常復雜的技術,但我們可以簡單的描述這種處理方法:

1、房間A的音頻會議系統接收到房間B中的聲音

2、聲音被采樣,這一采樣被稱為回聲消除參考

3、隨后聲音被送到房間A的音箱和聲學回聲消除器中

4、房間B的聲音和房間A的聲音一起被房間A的話筒拾取

5、聲音被送到聲學回聲消除器中,與原始的采樣進行比較,移除房間B的聲音

????? 求解回音路徑函數F的過程恐怕就是比較難以表達的數學公式了。鑒于通俗表達數學公式的難度比發現數學公式還難,筆者就不費力解釋了。下面這段表達了利用自適應濾波器原理求解函數F的過程。(以下可以跳過)

自適應濾波器

????? 自適應濾波器是以輸入和輸出信號的統計特性的估計為依據,采取特定算法自動地調整濾波器系數,使其達到最佳濾波特性的一種算法或裝置。自適應濾波器可以是連續域的或是離散域的。離散域自適應濾波器由一組抽頭延遲線、可變加權系數和自動調整系數的機構組成。附圖表示一個離散域自適應濾波器用于模擬未知離散系統的信號流圖。自適應濾波器對輸入信號序列x(n)的每一個樣值,按特定的算法,更新、調整加權系數,使輸出信號序列y(n)與期望輸出信號序列d(n)相比較的均方誤差為最小,即輸出信號序列y(n)逼近期望信號序列d(n)。

以最小均方誤差為準則設計的自適應濾波器的系數可以由維納-霍甫夫方程解得。

B.維德羅提出的一種方法,能實時求解自適應濾波器系數,其結果接近維納-霍甫夫方程近似解。這種算法稱為最小均方算法或簡稱 LMS法。這一算法利用最陡下降法,由均方誤差的梯度估計從現時刻濾波器系數向量迭代計算下一個時刻的系數向量

式中ks為一負數,它的取值決定算法的收斂性, V【ε2(n)】為均方誤差梯度估計,

????? 自適應濾波器應用于通信領域的自動均衡、回聲消除、天線陣波束形成,以及其他有關領域信號處理的參數識別、噪聲消除、譜估計等方面。對于不同的應用,只是所加輸入信號和期望信號不同,基本原理則是相同的。(以上部分可以跳過)上面這段話表明,需要求解的回音路徑函數F就是一個自適應濾波器W(n)收斂的過程。所加輸入信號x(n)是fe,期望信號是echo,自適應濾波器收斂后的W(n)就是回音路徑函數F。 收斂之后,當實際回音發生,我們把fe通過函數W(n),就可以得到一個很準確的echo,把混合信號直接減去echo,得到實際需要發送的語音speech,完成回聲消除任務。

值得注意的兩點:

1: 自適應濾波器收斂階段,期望信號是完全的echo,不能混雜有speech。因為speech和fe是沒有關系的,會擾亂W(n)的收斂過程。也就是說要求回聲消除算法開始運轉后收斂要非常快,最好對方還來不及說話,你一說就收斂好了;收斂好之后,如果對方開始說話,也就是有speech混合過來,這個W(n)系數就不要變化了,需要穩定下來。

2:回音路徑可能是變化的,一旦出現變化,回聲消除算法要能判斷出來,因為自適應濾波器學習要重新開始,也就是W(n)需要一個新的收斂過程,以逼近新的回音路徑函數F。

????? 基本上來說,上面這兩點是兩難的,一個需要自適應濾波器收斂后保持系數穩定,以保證不受speech說話干擾,另一個需要自適應濾波器隨時保持更新狀態,以保證能夠追蹤變化的回音路徑。這樣一來,僅從數學算法層面,回聲消除已經是難上加難!簡單地說,回聲消除自適應濾波器的設計具有兩個互相矛盾的特性,也就是快速收斂和高度的穩定性,如何同時實現這兩項特性,正是設計上的主要挑戰。

????? 經過上面的分析,相信大家對回聲消除的原理和技術有了深刻的理解,這是一門即容易理解又難以實現的技術。

????? 從應用平臺來看,根據筆者多年的經驗,可以把回聲消除分為兩大類:基于DSP等實時平臺的回聲消除技術和基于Windows等非實時平臺的回聲消除技術。兩者的技術難度和重點是不一樣的。

三、基于DSP平臺的回聲消除技術

????? 回聲消除技術傳統的應用領域是各種嵌入式設備,包括各種電信網絡設備和終端設備。網絡設備比如交換機,網關等等,終端則包括移動電話終端,視頻會議終端等。現代通訊產品里面大量應用了回聲消除技術,包括在我們看得到的終端產品(比如手機)和看不到的局端產品(比如交換機)。這種嵌入式設備的共同點就是采用各種型號的DSP芯片作為回聲消除的載體。一個有效的回聲消除算法需要持續的在一顆DSP芯片上面運行,會遇到以下方面的難點:

????? 實時性與高效性,因為DSP芯片資源有限。雖然自從二十世紀七十年代DSP應用以來,日新月異的硬件芯片技術使許多沉睡在教科書上的信號處理理論算法大規模應用,但是回聲消除算法需要的資源還是大得驚人。以視頻會議系統,大規模的會議室可以產生超過512ms的回音,要消除這么長延時的回音,即使按照8k赫茲采樣率計算,自適應濾波器W(n)的長度都會達到4096個點,這樣一方面需要非常大的存儲空間來存儲W(n),另一方面,W(n)的更新需要的計算量也是成倍增長,同時,W(n)的收斂難度也在加大,傳統自適應濾波器的效率很難保證。對于電信設備中的應用,雖然回聲消除不需要這么長的延時,但是在交換機等設備中,成本和效率就是生命,所有的處理算法都是按路或按線計算的,對算法的優化效率提出了無止境的要求。相對而言,只有像車載免提這種應用對效率要求不那么高,因為車內空間小,回音延時有限,又不要求多路應用。

????? 傳統的回聲消除技術是從國外二十世紀七十年代的早期算法發展而來,這類技術的采用一直相當昂貴,提供電信級回聲消除硬件應用(包括芯片或者設備)的廠家都是國外的。對于移動網絡用戶來說,語音品質一直是他們最關切的議題,對電信業者來說,語音也仍是他們最能獲利的服務項目,因此語音的品質是不容妥協的。為了滿足今日與未來的網路需求,回聲消除技術的挑戰正在于如何有效地降低成本并持續改善語音品質。

????? 算法級的DSP軟件解決方案,也是解決嵌入式設備回音問題的一種途徑,對用戶也有一定的靈活性,用戶只需要把回聲消除模塊集成到自己的DSP軟件中,再簡單調整幾個相關參數,就能達到較好的回聲消除效果。

????? 目前基于DSP的回聲消除算法已經比較成熟,市場上也有一批專門的算法/芯片公司的能夠對外提供已經優化好的基于DSP的軟件回聲消除模塊:如俄羅斯Spririt DSP、加拿大Octastic Semiconductor、瑞典GIPS、國內科萊特斯科技Conatus Technologies以及美國Adaptive Digital、和GAO Research、英國CSR等等,另外還有美國Fortemedia、Acoustic Technologies和日本OKI等可以提供專用的回聲消除DSP芯片。其中性能較好的有Octastic、Conatus、和Spririt這三家,Octastic可以提供完整的從專用芯片、板卡到DSP算法的完整方案,而Conatus和Spririt的回聲消除效果更好,值得一提的是Conatus公司是目前市面上唯一提供針對專業視訊會議應用寬帶回聲消除模塊的公司,其音頻采樣率可以達到48k赫茲。

四、基于Windows平臺的回聲消除技術

????? 回聲消除技術最新的應用領域是基于Windows平臺的各種VoIP應用,比如軟件視頻會議,VoIP軟件電話等。當回聲消除算法應用到Windows平臺,相對于傳統的DSP平臺,既帶來優勢,也帶來了新的難點。高效性在Windows平臺已經不是問題,現在的pc機,擁有豐富的cpu資源和海量的內存資源,再復雜的回聲消除算法都可以運行自如。但是,新增加的麻煩比帶來的好處要多。

????? 首先,Windows平臺是一個非實時的平臺,音頻的采集和播放對回聲消除算法而言,也是非實時的。和DSP平臺不一樣,DSP平臺可以直接控制AD/DA芯片的采集播放,獲得實時的音頻流(不存在同步問題),但是Windows平臺下,應用程序很難在底層直接控制聲卡的采集播放,獲得的是非實時的音頻流,從而帶來了采集和播放音頻流的同步問題。

????? 實際應用時,傳給回聲消除算法的兩個聲音信號(采集的回音信號ne和播放的參考信號fe),必須同步得非常的好。就是說,本地接收到遠端說的話以后,要把這些話音數據傳給回聲消除算法做參考,這是一個算法需要的輸入信號;然后再傳給聲卡,聲卡放出來后經過回音路徑,這時,本地再采集,然后傳給回聲消除算法,這是算法需要的另一個輸入信號。這里的同步是指:兩個信號雖然存在延時,但這個延時必須固定,在時序上要保持連貫,不能一個信號多來幾個幀,另外一個信號少來幾個幀。如果傳給回聲消除算法的兩個信號同步得不好,即兩個信號發生幀錯位,就沒有辦法進行消除了。因為這時系統會變成了非因果系統,比如期望信號收到了,參考信號還沒來,時間上都沒有因果關系,肯定是沒有辦法消除的。

????? 實際情況是,在一般的VoIP軟件中,接收對方的聲音并傳到聲卡中播放是在一個線程中進行的,而采集本地的聲音并傳送到對方又是在另一個線程中進行的,而聲學回聲消除算法在對采集到的聲音進行回聲消除的同時,還需要播放線程中的數據作為參考,而要同步這兩個線程中的數據是非常重要的,因為稍稍有些不同步,聲學回聲消除算法中的自適應濾波器就會發散,不但消除不了回音,還會破壞原始采集到的聲音,使聲音難以分辨。

另外,pc機器的聲卡種類繁多,各種各樣的聲卡特性進一步加劇了同步問題的復雜性。所以,同步和聲卡等問題對回聲消除算法的內部特性提出了更多苛刻的要求。

????? 從上面分析來看,由于Windows平臺的非實時性,基于Windows平臺的回聲消除技術比DSP平臺要難得多。在PC平臺語音通訊領域,目前公認音質做得比較好的國外軟件是Skype,記得幾年前Skype一直是在用瑞典一家叫GIPS(Global IP Sound)公司的語音引擎技術。GIPS是最早介入PC平臺語音通訊領域的廠商之一,在改領域具有一定的權威性,其主要優勢表現在對IP網絡的延時、抖動和丟包等處理較好,基于Windows平臺的回音消除也做得不錯,不過最近的新版本Skype上已經看不到GIPS的標志了,據說是因為Skype自己研發了一套新的更好的語音引擎的緣故。 目前大家接觸最多的采用了GIPS語音引擎技術的通訊軟件就是騰訊QQ了,其超級語音的效果普遍評價都還不錯。另外微軟經過多年的研發,其最新版本的MSN語音特別是回音消除效果終于有了質的提升,目前網上評價也還不錯。另外還有一些專業廠商也對外提供包含回音消除功能的語音引擎,如俄羅斯的Spirit DSP、美國的GH Innovation和國內的科萊特斯科技(Conatus Technologies)以及賽聲科技(Soft? Acoustic)等等。除此之外,網絡上還可以下載到一個很好的開源的語音軟件Speex也提供了回音消除功能。為了進一步了解目前PC Windows平臺回音消除技術的業界水平,筆者對各家的回音消除技術做一個詳細的橫向對比測試(所有測試都是免提狀態)

?

為了對比,各家語音引擎的版本信息列舉如下:

國外廠商:

Skype V3.8.4.182

Spirit DSP(廠家DEMO)

GIPS(QQ 2009beta)

Micorsoft (Windows Live Messenger 2009? V14.0.8064.2006)

GH Innovation(廠家DEMO)

國內廠商:

Conatus Technologies(廠家DEMO)

Soft Acoustic(廠家DEMO)

開源算法:

Speex(V1.2RC1 自己寫了測試軟件)

測試結果:

測試項目

Skype

MSN

QQ

Conatus

Spirit

Speex

SoftAcoustic

GH I

筆記本免提模式,外接麥克風和音箱應用模式的適應性

兩種模式都無回音

筆記本免提模式有時一直有較小回音

筆記本免提模式偶爾有較小回音

兩種模式都無回音

筆記本免提模式有時一直有較小回音

兩種模式都有一直較小回音

兩種模式有時都會出現較大回音

筆記本免提模式一直有很小回音

單方講話效果

無回音,效果很好

基本無回音,效果好

基本無回音,效果好

無回音,效果很好

基本無回音,效果好

一直有較小回音,效果差

有時有很大回音,效果差

基本無回音,效果好

雙方同時講話效果

雙方交流流暢無回音,對方聲音偶爾有輕微斷續

雙方交流流暢,但對方聲音中會夾雜著輕微回音

雙方交流流暢,但對方聲音中會夾雜著一些回音

雙方交流流暢無回音,對方聲音偶爾有輕微斷續

雙方交流流暢,但對方聲音中間會夾雜著一些回音

雙方交流比較流暢,但一直聽到一個較小的回音

雙方交流不流暢,對方聲音經常會斷續

雙方交流無回音,但對方聲音很小很難聽清楚

麥克風和揚聲器相對的位置改變等

收斂比較快,基本沒有回音出現。

收斂比較快,基本沒有回音出現。

收斂比較快,基本沒有回音出現。

收斂比較快,基本沒有回音出現。

收斂比較快,基本沒有回音出現。

收斂速度慢,有好幾句回音

收斂速度慢,有好幾句回音

收斂比較快,基本沒有回音出現。

CPU重載(CPU負載達到100%)時效果

XP和Vista下聲音都流暢,基本不會出現回音和聲音斷續現象

XP和Vista下聲音都流暢,基本不會出現回音和聲音斷續現象

XP下聲音流暢,基本不會出現回音;Vista下聲音斷續,偶爾會出現回音

XP和Vista下聲音都流暢,基本不會出現回音和聲音斷續現象

XP下聲音流暢,基本不會出現回音;Vista下聲音斷續,偶爾會出現回音

此項未測

XP下聲音流暢,基本不會出現回音;Vista下聲音斷續,偶爾會出現回音

XP下聲音流暢,基本不會出現回音;Vista下不加負載聲音都是斷續的

PC和聲卡適應性

穩定,基本都能消除回音

穩定,基本都能消除回音

比較穩定,偶爾有些筆記本免提時有回音

穩定,基本都能消除回音

穩定,基本都能消除回音

不穩定,有時無法消除回音

不穩定,經常無法消除回音

穩定,基本都能消除回音

噪聲抑制

噪聲抑制效果弱

噪聲抑制效果一般

噪聲抑制效果弱

噪聲抑制效果強

噪聲抑制效果一般

噪聲抑制效果強

噪聲抑制效果強

噪聲抑制效果強

自動硬件增益控制和免提時能達到的最大播放音量

支持,音量較大

支持,音量較小

支持,音量適中

支持,音量適中

支持,音量較小

不支持

支持,音量較小

支持,音量非常小

整體效果評價(0-10分評分)

很好,基本沒有回音,雙方交流很順暢,9分

較好,有的筆記本免提時偶爾有回音且音量較小,雙方交流比較順暢,7.5分

較好,有的筆記本免提時偶爾有回音,雙方交流順暢,8分

很好,基本沒有回音,音量比skype略小,雙方交流很順暢, 8.5分

較好,有的筆記本免提效果稍差且音量比較小,vista效果稍差,7分

不好,一直有個較小的殘余回音,雙方交流困難,3分

不好,經常有完整的回音,感覺不穩定,雙方交流比較困難,5分

一般,沒有回音,但是音量太小,雙方交流困難,且VISTA下聲音斷續,5.5分

測試項目

Skype

MSN

QQ

Conatus

Spirit

Speex

SoftAcoustic

GH I

?

可以看出,Skype、 Conatus和 QQ(GIPS)的效果最好, MSN和Spirit的效果還不錯,而GH Innovation、Soft Acoustic效果一般,Speex的效果較差。

五、總結

????? 回聲消除已經成為語音通訊中提供全雙工音頻的標準方法。聲學回聲消除是通過消除或者移除本地話筒中拾取到的遠端的音頻信號來阻止遠端的聲音返回去的一種處理方法。這種音頻的移除都是通過數字信號處理來完成的。回聲消除技術是數字信號處理的典型應用之一。

修行之道: 關注大師的言行, 跟隨大師的舉動, 和大師一并修行, 領會大師的意境, 成為真正的大師。

總結

以上是生活随笔為你收集整理的回声消除技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。