1. 程式人生 > >主動降噪,通話降噪及AI降噪之辨

主動降噪,通話降噪及AI降噪之辨

近日,三星釋出的Buds Pro 耳機中,宣傳有以下功能。其中涉及到噪聲的,有主動降噪,通話降噪及智慧降噪,很多人對他們的具體用途容易混淆,今天我們來辨析一下。

 

                                   

 

 

 

主動降噪和通話降噪完全不是一個概念,無論從方法,目的,技術手段,應用場景都不一樣。

 

1. 主動降噪ANC(Active Noise Cancellation),簡單來說,耳機中的主動降噪是為了減少佩戴者自己聽到的環境噪聲,它是通過佩戴者耳機的揚聲器發出與環境噪聲相反相的聲波,在佩戴者耳朵內部這個小小的聲場環境裡抵消了通過耳機物理結構傳播進來的環境噪聲,通過一下三張圖就可以明白其基本原理:

 

    

 

 

 

為了實現主動降噪,其技術手段有Feedforward ANC (前饋主動降噪), Feedback ANC (反饋主動降噪) 以及 Hybrid ANC (混合主動降噪,其實就是前饋加上反饋)。

當前常見的演算法: Filtered-X Least-Mean-Square (FXLMS) 濾波器,所以這麼看來,ANC 實際和網際網路常說的音訊三劍客 3A 中的AEC還是近親呢。

 

 

ANC的實現方法解釋起來比較繁瑣,這裡推薦幾篇帖子,歡迎有興趣的同學深入研究:

Active Noise Control: A Tutorial Review: http://www2.coe.pku.edu.cn/tpic/2010913102917710.pdf

關於主動降噪耳機,你想知道的一切: https://zhuanlan.zhihu.com/p/133252284

這裡給出一個例子供大家學習: https://github.com/875441459/Basic-demonstraion-of-Fxlms-Algo

 

2. 通話降噪是網際網路常說的音訊三劍客3A中的一員,嚴格來說3A是指:

AEC(Acoustic Echo Canceller),ANS(Ambient Noise Suppression), AGC(Automatic Gain Control)

通話降噪指的是 ANS(Ambient Noise Suppression),也就是常說的噪聲抑制,也有叫做Automatic Noise Suppression,狹義上的語音增強和語音分離也是指噪聲抑制,

廣義的語音增強和語音分離就包含各自更廣泛地範圍了,有機會再詳述。有人把ANC列為3A之一,很顯然是混淆了二者的概念。

通話降噪,簡單來說是要從已經混有噪聲的語音訊號中,把噪聲給抑制掉,完全通過軟體從訊號處理層面實現的,不像ANC那樣需要在聲場層面解決問題。

通話降噪是為了降低耳機佩戴者在通話時傳輸給對方的語音中的噪聲,其目的是把帶噪語音變為清晰語音,當然也不一定非得用於通話,只要有這個需求的場景都可以用到。

噪聲抑制作為研究了幾十年的技術,有很多的方法,不過目前因為谷歌開源的實時通訊引擎WebRTC中的噪聲抑制效果很好,很多公司都借鑑了WebRTC的噪聲抑制方案。

對於通話鏈路,不僅僅有一個通話降噪,其實它包含有如下的很多模組:

                               

 

 

這篇文章介紹的比較全面,推薦大家:通話降噪超級簡潔——簡介 https://zhuanlan.zhihu.com/p/87340866

在github上有多的原始碼,這裡給出一個例子供大家學習:https://github.com/cpuimage/WebRTC_NS

 

3. AI降噪

所謂的AI降噪,也就是智慧降噪,其實是指的具體實現方法,不管是主動降噪,還是通話降噪,只要使用了深度學習技術,就可以稱為AI降噪。

目前在通話降噪中,深度學習使用的比較多,近幾年各大語音學術會議上的噪聲抑制,基本是深度學習論文一統天下了,反而訊號處理方案論文不多見了。

這裡是業界交口稱讚的一套開源的深度學習噪聲抑制的方案:https://github.com/xiph/rnnoise

而目前在主動降噪領域,引入深度學習的確實不多,筆者猜測由於主動降噪本身就是自適應濾波器,帶有一定的自我學習的特點了,所以引入深度學習的效果可能提升有限。

 

希望讀者讀過這篇文章後,對主動降噪,通話降噪及AI降噪有了初步的瞭解。

&n