直播賣貨系統如何保證連麥音質?來看看回聲消除
一、前言
直播賣貨系統為了保證使用者連麥的音影片質量,會採用回聲消除的技術,來消除連麥中的回聲,接下來就讓我們一起來了解一下直播賣貨系統使用的回聲消除技術吧。
要了解回聲消除技術的來龍去脈,不得不提及作為現代通訊技術的理論基礎——數字訊號處理理論。首先,數字訊號處理理論裡面有一門重要的分支,叫做自適應訊號處理。而在經典的教材裡面,回聲消除問題從來都是作為一個經典的自適應訊號處理案例來討論的。既然回聲消除在教科書上都作為一種經典的具體的應用,也就是說在理論角度是沒有什麼神秘和新鮮的,那麼回聲消除的難度在哪裡?為什麼提供回聲消除技術(不管是晶片還是演算法)的公司都是來自國外?回聲消除技術的神秘性在哪裡?
二、回聲消除原理
從通訊迴音產生的原因看,可以分為聲學回音(Acoustic Echo)和線路迴音(Line Echo),相應的回聲消除技術就叫聲學回聲消除(Acoustic Echo Cancellation,AEC)和線路回聲消除(Line Echo Cancellation, LEC)。聲學回音是由於在擴音或者會議應用中,揚聲器的聲音多次反饋到麥克風引起的(比較好理解);線路迴音是由於物理電子線路的二四線匹配耦合引起的(比較難理解)。
直播賣貨系統迴音的產生主要有兩種原因:
1. 由於空間聲學反射產生的聲學回音:
男子說話,語音訊號(speech1)傳到女士所在的房間,由於空間的反射,形成迴音speech1(Echo)重新從麥克風輸入,同時疊加了女士的語音訊號(speech2)。此時男子將會聽到女士的聲音疊加了自己的聲音,影響了正常的通話質量。此時在女士所在房間應用迴音抵消模組,可以抵消掉男子的迴音,讓男子只聽到女士的聲音。
2. 由於2-4線轉換引入的線路迴音:
在ADSL Modem和交換機上都存在2-4線轉換的電路,由於電路存在不匹配的問題,會有一部分的訊號被反饋回來,形成了迴音。如果在交換機側不加回音抵消功能,連麥的人就會自己聽到自己的聲音。
不管產生的原因如何,對語音通訊終端或者語音中繼交換機需要做的事情都一樣:在傳送時,把不需要的迴音從語音流中間去掉。
試想一下,對一個至少混合了兩個聲音的語音流,要把它們分開,然後去掉其中一個,難度何其之大。就像一瓶藍墨水和一瓶紅墨水倒在一起,然後需要把紅墨水提取出來,這恐怕不可能了。所以回聲消除被認為是神秘和難以理解的技術也就不奇怪了。誠然,如果僅僅單獨拿來一段混合了迴音的語音訊號,直播賣貨系統要去掉迴音也是不可能的(就算是最先進的盲訊號分離技術也做不到)。但是,實際上,除了這個混合訊號,我們是可以得到產生迴音的原始訊號的,雖然不同於迴音訊號。
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說話干擾,另一個需要自適應濾波器隨時保持更新狀態,以保證能夠追蹤變化的迴音路徑。這樣一來,僅從數學演算法層面,回聲消除已經是難上加難!簡單地說,回聲消除自適應濾波器的設計具有兩個互相矛盾的特性,也就是快速收斂和高度的穩定性,直播賣貨系統如何同時實現這兩項特性,正是設計上的主要挑戰。
經過上面的分析,相信大家對直播賣貨系統使用的回聲消除的原理和技術有了深刻的理解,這是一門即容易理解又難以實現的技術。
宣告:本文由雲豹科技轉發自silversand部落格,如有侵權請聯絡作者刪除
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70002045/viewspace-2785273/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linphone 回聲消除
- 全民直播時代,直播賣貨系統的合作模式如何收益?模式
- 如何實現直播連麥?音視訊SDK不可缺少!
- win10系統麥克風聲音太小怎麼辦 win10系統麥克風聲音太小解決方法Win10
- 詳解低延時高音質:回聲消除與降噪篇
- 四點總結直播賣貨系統的賣貨方式有哪些
- 基於深度學習的回聲消除系統與Pytorch實現深度學習PyTorch
- 深入淺出 WebRTC AEC(聲學回聲消除)Web
- windows 10 聲音控制皮膚-錄製-microphone-偵聽 造成回聲,麥克風接收的 話/聲音 會再次播放出來Windows
- 直播賣貨系統的火爆源於帶貨直播原始碼的特色原始碼
- 直播賣貨系統原始碼中,如何展示html格式的商品詳情原始碼HTML
- win10電腦麥克風有迴音怎麼消除 win10消除麥克風迴音的方法Win10
- 直播賣貨系統,如何實現mysql資料庫的讀寫分離MySql資料庫
- 直播帶貨原始碼,Android Studio購買售賣系統原始碼Android
- 直播賣貨系統,使用資料庫查詢快取資料庫快取
- 如何保證軟體質量
- 秒殺系統如何保證資料庫不崩潰以及防止商品超賣資料庫
- win10系統通知聲音怎麼關閉 window10如何關閉系統通知聲音Win10
- 直播賣貨系統為什麼能成為有效的流量池?
- 直播賣貨系統開發,未來社交電商領域的發展是可期的
- windows10系統聲音太小如何解決Windows
- win10麥克風聲音忽大忽小如何解決_win10麥克風聲音一會大一會小解決方法Win10
- win10麥克風電流聲怎麼消除 win10去除麥克風電流聲的方法Win10
- win10麥克風迴音很重如何消除_win10電腦麥克風迴音很重解決步驟Win10
- RVC 去回聲後爆音(聽起來像噪音)
- win10系統下realtek高畫質晰音訊管理器沒有聲音如何解決Win10音訊
- 語音直播系統原始碼開發語音直播系統部署搭建原始碼
- 直播帶貨必須提供回看功能,直播帶貨的“規矩”來了!
- macOS更新系統後,如何關掉開機聲音?Mac
- win10系統中聲音忽大忽小如何解決Win10
- 小程式開發進階:如何實現直播連麥
- 直播帶貨系統是如何實現直播錄屏的
- 技術分享| anyRTC回聲消除演算法進化演算法
- 重灌win10系統後沒聲音怎麼回事_win10系統重灌後沒聲音如何解決Win10
- 如何保證前端專案的質量?前端
- 除功能升級外,直播賣貨系統未來發展還將受哪些因素影響
- “聽相聲的可以出去了,我們是來賣貨的。”
- Win10麥克風沒聲音如何處理_win10電腦插上麥克風說話沒聲音的解決步驟Win10