打破传统降噪技术 看网易云信在语音降噪的实践应用
導讀:隨著音視頻會議、娛樂互動直播、在線教育產品的火熱發展,產品中令人愉悅的音效音質體驗是必不可少的。
文|颯颯
網易云信音視頻算法工程師
但在音視頻實時通信中,難免會遇到各種我們不希望出現的聲音,例如電流聲、鍵盤敲擊聲、嘈雜聲等,這些統稱為噪聲。抑制這些聲音的技術為降噪。本文我們將從語音降噪的概念入手,詳細分析常見的幾種語音降噪技術實現以及網易云信在語音降噪上的應用。
什么是語音降噪
我們先來看看什么是語音降噪。語音降噪(或語音增強)是指當語音信號被各種各樣的背景噪聲干擾、甚至淹沒后,盡可能地從帶噪語音信號中提取有用語音信號(或純凈語音信號),抑制或降低噪聲干擾的技術。語音降噪有兩個主要作用:
降低背景噪聲干擾,改善語音質量,提升聽者的舒適感
提高語音信息傳達的可懂度
語音降噪分類
語音降噪可以從不同的維度進行劃分,一般可以從錄音的通道數或者降噪方法有無監督進行劃分,下面我們主要分析一下這兩種劃分情況。
?按通道數劃分?
依據采集語音時麥克風數量的不同,劃分為單通道方法和麥克風陣列方法。
單通道方法的語音降噪對單個麥克風錄制的語音信號進行處理,只利用了時域與頻域的信息,其對硬件成本要求較低,但是由于缺少空間信息,降噪更為困難。
麥克風陣列語音降噪對麥克風陣列采集的語音信號進行處理,不僅利用了時域與頻域信息,還利用了空間信息,因此在抑制特定方向的干擾和對不同聲源進行分離等方面具有優勢,可以在更復雜聲學環境和遠場環境中實現語音增強。
在音視頻會議、直播等場景中,多使用 PC 端、手機設備,是典型的單通道語音降噪場景,云信目前也主要提供單通道的語音降噪能力。
?按研究思路不同劃分?
從研究思路不同進行劃分,音頻降噪算法可以分為傳統信號處理方法與深度學習方法。這兩種方法各有優劣,主要區別有以下幾點:
原理上的區別
傳統信號處理算法大多基于物理和數學原理推導,這些原理是基于人類的認知發展而來的,適用性強,所以系統一般有比較好的魯棒性。
深度學習算法更多是利用大量的語音數據或噪聲數據,訓練網絡學習相關的特征從而實現降噪,性能的決定因素來自于訓練集的大小、訓練集的代表性、使用的模型、訓練過程和準則等,性能的變化范圍較大,系統在新環境下魯棒性較差。
假設上的區別
傳統信號處理算法為了簡化計算或獲得解析解做了很多假設和簡化,這可能會限制語音降噪的上限,難以處理非平穩噪聲。
深度學習算法通常不需要這些假設,其核心特定就是模型是復雜非線性的,因此在大量訓練數據和較好模型設計的前提下有望取得更好的性能。
使用環境的區別
傳統信號處理方法一般具有小計算量、低延遲等優勢,容易滿足實時性要求。
基于深度學習的方法往往模型較大、計算資源要求較多,一方面會限制其在計算資源有限的系統中的使用,另一方面難以保證實時通信需求。
接下來我們將對這兩類降噪方法進行介紹與分析。
傳統信號處理方法
?傳統單通道降噪方法類別?
傳統單通道降噪經過幾十年的發展,種類繁多,主要有譜減法、維納濾波、子空間法、基于最小均方誤差的語音幅度譜估計方法等。
譜減法基于一個假設:噪聲是加性噪聲且具有平穩性,因此在初始的非語音段音頻中估計出噪聲譜,再從帶噪語音譜中減去估計的噪聲譜就可以得到干凈的語音譜。然而,該減法處理的代價在于過多減去噪聲譜則會去掉部分語音信號;過少減去則會殘留噪聲,將產生令人反感的音樂噪聲。
維納濾波方法對語音信號復頻譜生成了一個線性估計器,該估計值在均方意義上性能最優。維納濾波方法不會產生音樂噪聲,使處理后語音信號聽起來更為舒適,但是它是對信號平穩條件下的最小均方誤差估計,因此對于非平穩噪聲抑制效果不佳,而且容易造成語音失真。
子空間算法將帶噪語音信號的向量空間分解為信號子空間與噪聲子空間,盡可能保留信號子空間分量且去除噪聲子空間的分量,能夠在一定程度上抑制噪聲,但是子空間法需要對每一幀語音進行奇異值分解或特征值分解,計算代價高,不適用于實時語音降噪。
基于最小均方誤差的語音幅度譜估計算法是傳統語音降噪算法中具有革命意義的方法,于1984年 由Ephraim 和 Malah 提出。隨后,考慮到人耳對語音頻率的非線性感知,他們推導出基于最小均方誤差的對數譜估計方法。2001 年,Cohen 提出最優改進對數譜幅度估計方法,它的設計準則是最小化干凈對數譜與估計對數譜的誤差,首先利用最小值控制遞歸平均方法估計噪聲,再依次估計先驗、后驗信噪比、語音存在概率,最后計算頻譜增益函數估計出干凈語音。此后,改進的最小值控制遞歸平均方法估計噪聲被提出,具有估計誤差更小且對非平穩噪聲跟蹤更快的特點,此方法得到了廣泛應用。
?傳統降噪的實現?
目前業界常用的開源算法之一是 WebRTC 中噪聲抑制模塊算法,其核心思想是采用維納濾波器抑制估計出來的噪聲。
其算法流程圖如圖所示:
信號分析:對輸入幀語音進行加窗,快速傅里葉變換(FFT)得到頻域數據。
噪聲估計與抑制:使用分位數噪聲估計進行初始噪聲估計、后驗和先驗 SNR 的判決引導更新、語音/噪聲概率計算,概率計算是基于似然比因子進行的。似然比使用后驗 SNR、先驗 SNR 以及語音概率密度函數模型,還有特征建模、噪聲估計更新并應用維納濾波增益濾波器確定的概率而確定的。
信號合成:將頻域數據通過 IFFT、窗口合成轉為時域數據。
WebRTC 降噪算法對于平穩背景噪聲(如風扇、家用電器等噪聲)具有良好的抑制效果,但對于低信噪比和瞬變噪聲場景效果不佳。
網易云信在 WebRTC 噪聲抑制模塊基礎上自研了活動檢測(VAD)算法,區分語音與噪聲,并且以此調整噪聲估計方法,優化了噪聲收斂時間與降噪力度。
深度學習方法
傳統信號處理方法具有計算量小、可實時降噪處理的優勢,但是難以處理非平穩噪聲場景,而實際會議中,嘈雜噪聲、鍵盤敲擊聲等非平穩噪聲是用戶痛點,極大的影響聽感舒適度。近年來,深度學習方法顯著提升了有監督任務性能,在語音降噪任務中開始出現一些數據驅動類算法(即 AI 算法)。相較于傳統信號處理方法難以處理多樣性、突發性非平穩噪聲的弊端,深度學習方法在大量訓練數據和較好模型設計的前提下能夠取得更好的降噪性能。
?深度學習方法分類?
基于深度學習方法大致可分為三類,基于頻譜映射的方法、基于時頻掩碼的方法、端到端方法。
基于頻譜映射的方法,主要通過深度神經網絡強大的非線性建模能力來建立帶噪語音譜參數與純凈語音譜參數之間的映射關系。
基于時頻掩碼方法,其核心思想是通過訓練深度神經網絡預測時頻掩碼,它反映了各個時頻單元上對噪聲的抑制程度,然后將預測的掩碼應用于輸入帶噪語音的頻譜來重構純凈語音信號。常見的時頻掩碼有理想二值掩碼、理想比例掩碼、相敏掩碼、復比例掩碼等。
端到端語音增強,則是直接在時間域波形級上進行操作,通過模型直接輸入帶噪語音波形得到增強后波形。
基于深度學習的降噪方法(AI 降噪)能夠取得更好的降噪性能,但是其模型較大、計算復雜度高。對于運行在移動終端的實時算法來說,計算復雜度需要滿足實時性、CPU 占用率、內存占用率等必須比較小。一般而言,模型的性能消耗與其輸出效果,綜合來看是一種均衡的關系。然而在降噪場景下,算法既需要長時間實時運行,又需要保證算法效果能夠應對復雜多變噪聲場景,這對現有降噪技術提出了一定的挑戰。
?網易云信自研 AI 降噪算法?
網易云信自研 AI 降噪算法將傳統信號處理方法與深度學習類方法相結合,利用私有化大數據集訓練模型,并且采用了輕量級模型設計與模型裁剪等手段, 節省計算資源,支持移動端實時增強。它可以有效抑制傳統降噪算法解決不了的嘈雜噪聲、鍵盤聲、鼠標聲等突發噪聲,同時也能夠提升對于平穩噪聲抑制,提取更清晰的人聲。
下面是一個案例展示網易云信自研 AI 降噪算法效果,左圖為是辦公室場景下帶噪語音波形圖與語譜圖,右圖為降噪后波形圖與語譜圖:
以下為使用網易云信前后的降噪文件對比,也可以更直觀感受到使用網易云信自研 AI 降噪算法后的降噪效果。
總結
本文簡述了常見的傳統語音降噪與 AI 降噪技術,以及網易云信在該領域的應用。傳統降噪技術對于平穩噪聲處理良好,但對于非平穩,突發的聲音的降噪往往無能為力。
網易云信提出自研 AI 降噪算法,充分利用深度學習網絡對語音和噪聲特征的學習能力,有效抑制環境中的各種噪音。今后,網易云信將在 AI+實時音頻處理上持續推進研究,致力于為用戶提供更好的音頻通話體驗。
?作者介紹?
颯颯,網易云信音視頻算法工程師,主要從事噪聲抑制、回聲消除、音視頻語音增強等相關工作,目前負責云信音頻前處理噪聲抑制算法開發與優化。
?相關閱讀?
技術系列課|“主動降噪”到底有多厲害?
技術系列課|網易云信音視頻通話2.0產品中的美聲/變聲功能
總結
以上是生活随笔為你收集整理的打破传统降噪技术 看网易云信在语音降噪的实践应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊前端日志库在 SaaS 产品中的应用
- 下一篇: 语音社交产品,安全合规“防坑指南”!