tft每日頭條

 > 科技

 > 語音會議及網絡會議

語音會議及網絡會議

科技 更新时间:2024-08-06 13:14:17

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(1)

  ▲掃描圖中二維碼或點擊閱讀原文▲了解音視頻技術大會更多信息

  編者按:随着在線會議的普及,用戶已經不再滿足于能聽到,而是要有更為極緻的聽感體驗,如何能夠在複雜多變的應用場景中依舊保證聲音清晰流暢是對會議系統的極大挑戰。LiveVideoStackCon2022上海站大會邀請到了全時 音視頻研發部經理 顧騁老師,為大家詳細介紹了語音前處理技術在會議場景中的應用與挑戰。

  文/顧騁

  整理/LiveVideoStack

  大家好,我是顧騁,來自全時,本次分享的主題是語音前處理技術在會議場景中的應用與挑戰。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(2)

  内容主要包括三個方面:第一部分介紹影響會議聲音質量的因素及應對方法;第二部分介紹語音前處理技術在會議中的應用;第三部分介紹語音前處理與深度學習技術的結合及效果。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(3)

  以下是我們在視頻會議當中可能經常會遇到的兩個場景和問題:

  1. 開會時出現雜音,影響參會人員體驗

  2. 同事講話時,有他人的鍵盤聲傳入影響會議進行

  那麼,導緻産生這些問題的原因是什麼呢?

  1、如何保障會議中的聲音質量

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(4)

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(5)

  影響聲音質量的因素有很多,其中最常見的就是網絡。因為聲音在網絡傳輸的過程中會有所損失,如數據丢失、包的亂序,或延時較大導緻聲音過了很久才可被聽到。針對這個問題,首先我們需要對相關網絡部署進行保障,其次在傳輸層做一些流控,如在編碼時編寫冗餘信息來對抗丢包問題或是在解碼時根據幀與幀的相關性來預測丢失的語音幀。

  第二個因素是環境因素,不同于網絡因素,環境因素較難察覺。舉個例子,同事A在會議室中用座機開會時,同事B進入會議室,打開電腦進入會議,兩台設備都開着外放,會導緻刺耳尖銳的嘯叫聲。或是在牆面吸音效果較差的房間進行會議時,由于混響較大,較難聽清對方聲音。此外,随時随地開會的場景很豐富,在路邊開會時,喇叭聲傳入會議中使得會場混亂,影響他人體驗等等。

  第三個是硬件因素。如使用iPhone的場景下回聲問題出現的概率較小,這是因為它的麥克風揚聲器耦合性較好,而部分安卓機由于耦合不良,導緻麥克風采集到的揚聲器放出的聲音非常大,有的聲學設計包含許多非線性因素。我們在安卓機上會專門進行适配調整。用頭戴麥的會議效果很理想,因為它本身是近場拾音,不會采集到周圍雜音,同時不外放的話也就不會出現回聲。但如果用筆記本電腦開外放,或連接外置音箱、外置麥克風時,就會出現很多問題。

  第四個是軟件因素。同一台設備中的同一個軟件,在同樣的網絡環境中,有時好,有時壞。軟件的播放或采集通過不同線程驅動,當CPU占用高時,錄放設備的同步就會出現問題。此時回音消除模塊的近端信号與遠端信号之間的時延會發生抖動,導緻回聲洩露。另外,有很多電腦廠商對聲卡做了一些音頻處理,如硬件的回聲消除或噪聲抑制。然而有些廠商設計的産品未必理想,導緻消除不徹底緻使語音失真,在後期使用軟件進行算法處理時往往難以去除這部分噪聲或回聲。

  2、語音前處理在會議中的應用

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(6)

  如圖所示為音頻引擎的大緻流程圖。下半部分(藍線)是uplink鍊路,麥克風采集信号後通過高通濾波去除工頻幹擾噪聲。大部分采集到的聲音是48khz或44.1khz,頻率很高,但對于正常語音處理來說頻率在16khz以下即可,所以我們會先對語音做分頻帶處理,回音消除、噪聲抑制的工作主要在低頻帶進行,并将計算出來的增益值映射到高頻帶,然後再恢複成全帶信号,最後經過Agc模塊。

  Agc可以解決由于說話人離麥克風的距離遠近變化導緻的聲音忽大忽小,以及補償回音消除、噪聲抑制處理過程中對語音造成的損傷。最終前處理後的音頻數據會被編碼發送到網絡端。

  上半部分(紅線)是downlink鍊路,從網絡接收的包經過NetEq處理後解碼,取出低頻段作為回聲消除模塊的參考信号,同時支持多通道混音(除語音之外可能會接收到音樂信号,或是部分場景中使用客戶端模式混音),最後從揚聲器中播放。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(7)

  噪聲抑制和回聲消除是三個引擎中最重要的兩個版塊。

  如圖所示為經典的噪聲抑制功能圖,傳統噪聲抑制算法首先通過vad檢測判斷當前是語音還是噪聲,然後利用vad檢測結果來估算噪聲幅度譜,最後從含噪語音幅度譜中減去噪聲幅度譜就是純淨語音的幅度譜,相位信息則是利用了含噪語音的相位譜。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(8)

  噪聲抑制分為兩步,一步是估計噪聲,另一步是計算增益因子。

  估噪聲最常用的是MCRA。首先計算粗略噪聲,利用最小值跟蹤法獲得噪聲的初步估計。即使在語音活動期間也不是所有頻點都含有語音,很多頻點都會有噪聲,因此對于單個頻點而言它的幅度譜最終會趨近于噪聲的級别。我們可以通過最小值估計來估算初始噪聲級别,再通過時間遞歸法對初始噪聲進行平滑處理,如果當前是語音,就用上一幀的數據更新它,如果當前是噪音,就用當前幀的數據更新它。

  對于噪聲抑制來說,我們可以用簡單的譜減法。從含噪的幅度譜中去除噪聲幅度譜後即可獲得純淨幅度譜,這無疑是最簡單的方法,但缺點很明顯,這種方法容易過多去除“噪聲譜”,可能會減多,也可能會減少導緻音樂噪聲的出現。

  目前應用較廣泛的方法是維納濾波,首先利用估算的純淨幅度譜和理想幅度譜的均方誤差,取其最小值,也就是導數為0的地方,估算出先驗信噪比後即可算出維納濾波系數。當然也有很多其他方法,如基于統計意義的方法等,且由于人耳對語音的感知是非線性的,我們可以将幅度譜轉換到對數譜,得到的結果會更理想。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(9)

  聲音從揚聲器裡播放出來之前,會通過直達聲直接傳給麥克風,同時經過房間的連續反射最終被麥克風采集,相當于揚聲器中傳出的聲音再次傳入麥克風,導緻對端說話時能聽到自身回音。針對回聲,一般做法是通過自适應濾波器估算房間沖擊響應,再和遠端信号進行卷積,得出估算的回音信号。實際應用中會更複雜,因為揚聲器和麥克風之間有很多非線性耦合,房間也存在一些混響,而且可能除了遠端說話時也有近端在說話,一直處于雙講狀态,導緻回聲消除比較困難。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(10)

  對于上文提到的回聲估計,我們用到較多的是NLMS自适應濾波器,原因是其有利于工程實現,我們基本是通過NLMS方式在頻域分塊處理。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(11)

  回聲消除主要包括以下幾點:

  1、時延估計

  遠端信号首先需要和近端信号對齊。因為在房間内,揚聲器播出的聲音會被麥克風采集,造成時延差,此外,聲卡的輸入和輸出存在緩存buffer,再加上采集播放線程不同步等問題,不可避免地會引入時延。時延較小時,由于線性濾波器本身有一定長度,能夠抵消時延,所以問題不大,但當時延較大時就需要采用時延估計算法,比如用最簡單的互相關法。

  2、線性回聲消除

  采用自适應濾波器能夠估算出回聲在房間内的傳播路徑,得到線性回聲估計。其中歸一化最小均方誤差(NLMS)應用最為廣泛,我們往往通過控制疊代步長來使其盡快收斂,達到穩定狀态。

  3、雙講檢測

  那麼如何加快收斂速度呢?這就需要雙講檢測算法(dtd),因為在僅有遠端說話時應盡快更新濾波器,但如果同時有近端說話時,應盡量凍結濾波器以防發散。其實雙講檢測操作起來比較困難,因為在有噪聲幹擾時檢測很難準确。在很多場景我們選擇通過控制疊代步長起到類似雙講檢測作用,同時為了提高收斂速度,我們給濾波器組的每個塊分配不同權重,比如更近的塊權重更大,從而收斂更多。

  4、殘留回聲抑制

  在實際場景中,線性回聲包括非常大的非線性成分,簡單地通過線性濾波器無法完全消除,所以需要通過RES估算殘留回聲并抑制。在控制過程中會發現,抑制力度過小時,回聲消除的不幹淨,但如果力度過大則會損傷語音,這也是實際應用中最具有挑戰性的。

  3、擁抱深度學習追求極緻音質

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(12)

  如同上文所提到的,我們基于傳統數字信号處理方式進行語音前處理,如消除回聲,消除噪聲。

  傳統的降噪基本基于先驗的假設條件如假設是一個加性噪聲,它和語音不相關,還得是平穩的。對于平穩噪聲的處理沒有太大問題,但對于某些場景如鼠标鍵盤敲擊聲,處理起來的效果會不太理想。如果用傳統方法提取鼠标鍵盤聲的特征進行抑制,難點在于也許能夠在個别場景下通過觀察頻譜分布提取有效特征,但由于噪聲類型變化太多,導緻在其他場景下,特征提取不準,此外人工調參工作量也是十分巨大。

  這就體現出深度學習的優勢,它提供了非常強大的非線性拟合能力,即使是百萬級的參數量,隻要有足夠好的數據,通過訓練後即可達到較好效果。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(13)

  一般我們會先選定模型,設置訓練目标如計算一個mask,這個mask相當于傳統算法中的gain值,最初比較簡單的是理想二值掩膜,判斷頻點是語音或噪音,這往往會引入一些噪聲。後來我們通過理想比值掩膜計算比值而不是簡單的做一個二分類。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(14)

  後續引入了很多相位信息,發現相位對音質有較大影響。最後我們選擇了cIRM,它同時考慮了幅度和相位,達到更好的效果。當然在實際使用中還是需要結合具體場景進行選擇。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(15)

  訓練網絡需要有非常強大的泛化能力,否則在某些場景下的效果會不太理想,于是我們需要對樣本進行增廣,對于目前已有的訓練數據集進行一些處理或根據需要應用的場景使用私有的訓練數據。同時還需找到較合适的特征。如果通過映射方式直接輸入時域波形,那麼最後直接輸出的就是已經完成降噪的時域波形,但這會提升訓練難度。所以我們一般會适當提取一些特征,比如将其轉換到一個頻域或通過分帶的方式切割為多個帶。更多或更合适的特征提取能夠有效降低模型的大小。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(16)

  之所以這樣做,是因為實際的應用場景基本都是實時的。可能大家看到許多挑戰賽中的效果非常理想,但如果直接拿來部署就會發現根本無法運行,因為假如10ms一幀的數據,需要運算50ms才能出結果,這根本達不到實時性的要求,換句話說,在好的機器上能跑起來,但換到較差的機器就不行了。所以最終的抉擇還應綜合實際應用場景、機器性能,及部署在端側還是服務器。部署在服務器上可以通過較好的gpu提升性能。移動端和pc、mac端的處理上也存在一些差異。嵌入式設備還應考慮存儲量的問題,如果參數量過大會對其存儲造成一定影響。

  我們根據應用場景選擇合适的模型後,還會不斷的進行優化,或對數據做一些處理,再加上部署,這樣才能夠保證實時性。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(17)

  舉個例子,噪聲裡面的瞬态噪聲對傳統降噪來說很難處理,如圖中傳統降噪前後的對比,其中的平穩噪聲基本能夠被消除,但鼠标鍵盤這種噪聲就無法完全消除了。而AI降噪方式能夠較好地處理這種情況。

  回聲消除也類似,其實在回聲消除中存在一個大問題,即消除回聲算法遇到雙講情況時會對本地語音造成很大損傷,通過AI算法進行較好的訓練後能夠很好的解決這個問題。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(18)

  大家可能覺得目前基于深度學習的方法已經可以替代傳統方法了,但實際上卻沒那麼簡單。深度學習的方法固然好,能夠解決許多傳統方式解決起來比較困難的問題,但它也并不是全能的。應用基于深度學習的方法時,假如數據集覆蓋很全面,效果也許會很不錯,但當數據集和真實場景存在一定差異時,最終效果也會大打折扣。

  另外一個重要問題是性能,由于我們的計算資源往往比較有限,而深度學習方法的性能開銷卻很大,對于實時性要求很高的場景來說,設備性能不夠,深度學習的方法未必是最好的選擇。目前大多還是深度學習加傳統相結合的方式,相當于取精華去糟粕,用傳統方式完成最基礎功能,把複雜的部分交給深度學習,在保障性能的前提下盡可能提高使用效果。

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(19)

  最後,我們來總結下:

  1、一場會議有許多組成部分,但聲音往往是最為重要的。一方面不是所有人都喜歡開着視頻,另一方面聲音的卡頓會比視頻的卡頓更令人抓狂,一幀聲音數據的丢失就會被人明顯的感知到。

  2、影響聲音的因素有很多,包括環境、硬件、軟件等因素,都會帶來不同的體驗。

  3、針對這些問題,可以利用語音前處理技術進行噪聲抑制以及回聲的消除。

  4、深度學習和傳統方法各有千秋,之間的優勢可以互補。

  希望通過今天的介紹,大家能對會議系統裡音頻處理相關的問題有一定的了解。

  以上是本次分享的全部内容,謝謝!

  (全文完)

  ▼識别二維碼或猛戳下圖訂閱課程▼

  語音會議及網絡會議(語音前處理技術在會議場景中的應用及挑戰)(20)

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved