從帶寬擴展到丟包隱藏,實時音頻中的 AI

做者:聲網 Agora 工程師 elegenxi算法

隨着這幾年AI的迅猛發展,咱們在圖像和視頻處理領域裏見證了很是多的應用,好比Agora引擎裏的視頻超分辨率技術。對於音頻中AI的應用,咱們可能常常據說語音合成、語音識別等技術。那在實時音頻通話中,AI有什麼用武之地呢?本文將簡單總結一下AI在實時音頻中的應用,本文將不會展開細節,但在文末有部分參考文獻,若有須要請自行取閱。網絡

1、音頻領域的超分-帶寬擴展

在視頻的超分中,咱們能夠根據相鄰像素恢復出特定像素,達到使圖像更清晰的目的。在音頻中,空間特性每每反映在頻域信號上,高頻信息更豐富的音頻人們聽起來會更明亮。舉個例子,咱們在打傳統落地電話時,每每會有一種感受,對方說話的聲音聽起來很悶,這實際上是由於傳過來的語音信號被人爲的移除掉了高頻區域的信息。而帶寬擴展的功能就是把被砍掉的這部分高頻信號恢復出來,讓語音信號聽起來更明亮,更像面對面的交流。app

實際上,帶寬擴展技術已經有了不少年的發展歷史,但傳統的帶寬擴展方法是根據音頻信號的高低頻區域之間的關係,計算出一些參數傳遞到接收端,接收端根據這些參數和信號的低頻信息還原出高頻信號。但這麼作的話,傳遞的參數仍然會佔用一部分帶寬,所以有人提出了盲擴的思路,即只觀察音頻信號的低頻區域,不依賴其餘信息把高頻區域恢復的來的方法。但這種思路在過去並無取得使人滿意的效果,直至近幾年深度學習的興起,這種思路纔有所突破。學習

通常來講,咱們能夠經過訓練獲得一個模型,當輸入一段信號的低頻區域信息時,模型會擬合出對應的高頻區域信息。咱們再利用這些高頻信息把高頻信號還原出來,和低頻信號結合,這樣就完成了盲擴的過程。編碼

下面是一個基於DNN的頻帶擴展模型的效果演示:設計

原始低頻信號:cdn

進行頻帶擴展後的信號:

從上圖能夠看出,通過頻帶擴展後的信號增長了不少高頻信息,實際的聽感也會更加明亮、清晰。

2、丟包隱藏技術

衆所周知,一段音頻信號經過網絡進行傳輸時,要首先被分爲若干幀,而後被編碼、組包、發送。在接收端會有相反的操做進行音頻信號的還原。當網絡狀態很差或者有波動時,就會有部分包沒法按時送達接收端,即發生了丟包。接收端若是不能很好的處理由於丟包帶來的損傷,會嚴重影響恢復音頻質量。在過去幾十年中,音頻領域的工程師設計出了不少方法去減小丟包帶來的影響,常見的方法如基於波形類似的WSOLA,這種方法會經過尋找相關信號的方法,拉長前面收到的音頻,也就是常說的變速不變調技術,WebRTC裏現有的丟包補償算法就是基於這種思想。還有一些內置在解碼器裏的基於編碼參數的方法,這種方法會利用前一正常幀解碼獲得的信息去恢復下一幀,好比Opus就有內置的基於前一幀參數的丟包隱藏算法。但這些基於參數的方法會較頻繁的補出異常聲音,聽起來有明顯的不適。而相對來講,基於AI的模型每每經過學習大量語料,可以覆蓋到更多場景,補出的聲音更加天然,在丟包隱藏算法上具備較高潛力。視頻

下面是一個基於RNN的丟包恢復模型的效果演示: 原始音頻:blog

丟包音頻:

基於AI的恢復音頻:

從上圖能夠發現,通過丟包恢復後,丟失的信息基本已經恢復了出來,雖然難以徹底恢復出原始的信息,但聽覺上已經流暢了不少。

3、語音音樂分類器

爲了更好的進行信號處理,引擎中有些算法每每須要被告知輸入的信號是語音信號仍是音頻信號。分辨一段音頻中哪段是語音,哪段是音樂彷佛看起來不是一件困難的事情。但考慮到音頻信號大多數是以20ms爲一幀,只憑這20ms的信息去分辨它是語音仍是音樂就沒有想象中那麼簡單了。傳統算法每每是人工設計一個模型,並基於功率譜、過零率、倒譜系數等音頻特徵計算出當前幀是音樂的概率,但這些算法的準確率,尤爲是語音/音樂切換時的準確率並不能達到使人滿意的程度。基於深度學習的分類器已被普遍應用於各個場景,在語音音樂分類器上也因其極高的準確率相對傳統算法造成了顯著的優點。get

下圖是一段混合着語音和音樂的音頻的分類結果,紅色的曲線是一個簡單的基於GRU模型的預測結果,藍色的是一種傳統的基於HMM算法的預測結果。

從圖中能夠看出,基於AI的預測結果相對該傳統算法在準確性和實時性上有着明顯的優點。

4、語音加強

語音加強是指當語音信號被各類各樣的噪聲干擾、甚至淹沒後,從噪聲背景中提取有用的語音信號,抑制、下降噪聲干擾的技術。也就是從含噪語音中提取儘量純淨的原始語音。這種噪聲有不少種:如白噪聲、電流聲、開關門聲、鍵盤打字聲、嘯叫聲等外界噪聲,也能夠是由編碼解碼的失真帶來的自身噪聲。由於噪聲的多樣性和突發性,使得傳統算法難以覆蓋住較多場景。而語音加強方向一直是實時語音AI化比較熱門的方向,所以涌現出了不少優秀的模型和算法。

下面是一個降噪的模型效果演示:

帶噪信號:

加強後的信號:

由圖可見,信號裏的噪聲被濾除的很是乾淨,並且自己有用的信息獲得了有效的保護。

結語

AI的發展使得音頻領域有了更多的可能性去解決以前難以處理的問題。對於實時音頻而言,AI是一把全面提高質量的利刃,但實時音頻所必須的低複雜度、低延時特性註定全面AI化引擎還有很長的路要走,但在不久的未來,本文總結的技術都有機會在Agora SDK裏落地實現,到時,你們能夠切身感覺一下AI化的實時音頻。


參考文獻

  1. Speech Prediction Using An Adaptive Rcurrent Neural Network With Application To Packet Loss Concealment sigport.org/documents/s…
  2. Speech Bandwidth Extension Using Generative Adversial Networks www.mirlab.org/conference_…
  3. Convolution Neural Networks to Enhance Coded Speech arxiv.org/abs/1806.09…
相關文章
相關標籤/搜索