回聲消除概述

2021-08-02 14:56:08 字數 1057 閱讀 8687

回聲消除概述

2016-02-21 23:00:00

分類: android平台

首先,a的聲音傳給b,b然後用喇叭放出來,

而這時b的mic則會採集到喇叭放出來的聲音,然後傳回給a,

如果這個傳輸的過程中時延足夠大,a就會聽到自己剛才說的話,這就是回聲。

回聲消除器的作用就是在b端對b採集到的聲音進行處理,把採集到的聲音中包含的a的聲音去掉之後在傳給a,

這樣a就不會聽到自己說過的話了。

傳給回聲消除器的兩個聲音頻號,必須同步得非常好,

這裡有一段延時,這時b再採集,然後傳給回聲消除器,與那個參考資料比較,從採集到的資料中把頻率和參考資料相同的部分消除掉。

如果傳給消除器的兩個訊號同步得不好,即兩個訊號找不到頻率相同的部分,就沒有辦法進行消除了。

而採集本地的聲音併發送到對方又是在另乙個執行緒中進行的,

而要同步這兩個執行緒中的資料是非常困難的,因為稍稍有些不同步,聲學回聲消除器中的自適應濾波器就會發散,

不但消除不了回聲,還會破壞採集到的原始聲音,使被破壞的聲音難以分辨。

聲學回聲主要又分成以下兩種:

1、直接回聲:由揚聲器產生的聲音未經任何反射直接進入麥克風

2、間接回聲:由揚聲器發出的聲音經過多次反射後,再進入mic

對於第二種回聲,擁有多路徑、時變性的特點,是比較難處理的。

回聲消除有兩種方式:

第一種:通過硬體實現,

有很多手機就是這麼做的,也有專業的晶元,但是只支援8khz的,

如果要求高質量的音質的話,基本實現不了。

第二種:通過軟體實現,

qq,msn,skype很多具有通話功能的軟體,現在都具有回聲消除的功能(需是比較高版本的,低版本的可能沒有),

但是實現**是不對外的,開源的回聲消除**只有speex和webrtc。

一般常用的開源的aec有兩個:speex 和 webrtc

webrtc相對比speex強的多,原因如下:

1,webrtc有回聲時延估計演算法模組

2,webrtc有neteq模組

3,webrtc核心就是gips,原因***

回聲消除答疑

0 問 為什麼使用回聲消除?答 比較常見的應用場景,a與b打 a端手機開啟擴音,這時bb 端就會聽到自己的聲音從a 1 問 回聲消除有什麼開源 答 主要有 webrtc 的aec aecm aec3 還有speex。2 問 回聲消除需要用到什麼演算法?答 線性回聲消除用 nlms,pbfdaf,md...

回聲消除 AEC 原理

一 前言 因為工作的關係,筆者從2004年開始接觸回聲消除 echo cancellation 技術,而後一直在某大型通訊企業從事與回聲消除技術相關的工作,對回聲消除這個看似神秘 高階和難以理解的技術領域可謂知之甚詳。要了解回聲消除技術的來龍去脈,不得不提及作為現代通訊技術的理論基礎 數字訊號處理理...

WebRTC回聲消除(1)

語音通話中回聲分為兩種 1.電路回聲 已經被解決 2.聲學回聲 webrtc源 中設計了兩個回聲消除模組 1.aec acoustic echo canceller 電腦端 2.aecm acoustic echo canceller mobile 移動端 aecm 產生聲學回聲的原因 近端說話者的...