實時語音質量監控

語言: CN / TW / HK

今天主要想介紹下,實時語音的質量到底是什麼樣的,大概介紹一下這個領域的一些已有的一些方法,然後會再介紹一下現有的方法,並且介紹一下未來想做的一些事情。

語音質量評估方法

首先,大概介紹一下語音質量評估,這個之前就一般從那個方法而言的話,是分為主觀的一個評價方法,還有一個客觀的評價方法的。那主觀性評價方法的話,其實就是完全靠人的一個情感,那主觀其實也是分兩種的,一種是我完全不給你一個原始的參考訊號,就是我只給你一段語音,然後你聽完之後你來告訴我,你認為這在於它的分數是應該是多少,那還有一種方法呢,會給你一個錨點,然後告訴你這個是最差的,然後讓你去基於這個最差的去做一個評價,這個方法也是在目前論文中用的最多的一種,就是主觀的一個評價方法。

客觀評價方法

對於客觀評價方法,根據是不是需要一個原始無損的參考訊號,分為有參考的客觀條件,有參考的客觀評價方法,最早差不多是大概九六年左右,就有一個標準叫 P.861 的,率先就是提出來一種方法,就是給一個無損的,再給一個受損的語音訊號,然後來比較它們的一些相似度,或者是一些聽覺的一些損傷,然後來給一個分數。2000 年的時候,出來了一個 p.862,後來大概在 04 年,有一個稱為 PESQ-WB 的方法,就把之前 pesq 從 8khz 的測試範圍擴大到 16khz,然後,我們現在常用的一般就是這個 PESQ-WB。現在很多論文,其中包括比如:降噪、無損等,都還會用這種方法來做一個評價。差不多到 12 年的時候,ITPO 出來一個新的標準,p.863,這個 POLQA 方法其實是 pesq 的升級版,就是其在噪聲的抑制上做了一些改進,另外,它的準確性其實還是蠻高的,這裡說的準確性,其實就是同一段語調,用 POLQA 測出來的結果,跟人聽出來的分數看是否接近,越接近,則測試越高的。

有參考客觀評價方法

  • P.861 PSQM 最早的標準
  • P.862 PESQ、PESQ-WB ,應用最廣泛的有參考評價方法
  • P.863 POLQA ,最新的有參考評價方法

無參考客觀評價方法

  1. P.563 ,最著名的窄帶無參考評價方法
  2. ANIQUE ,據作者稱準確度超過有參考的 PESQ
  3. E-Model/P.1201 ,引數域評價方法
  4. xxNet ,深度學習域評價方法

其實還是蠻多的,就比如說,最常用的那個 Itot 的 p.563 方法,其實主要就是隻要給他一段語音就不需要給它一個原始無損的語音,然後他它會從它的語音的完整性,然後得到一個噪聲的程度,然後看是不是都夠流暢來判斷這段語音是不是 OK。如果是它覺得這些 feature 所有的都沒有問題的話,它就會給一個高分,如果有一些 feature,非常大的原因可能出現了,比如說語音之間的斷裂,或者是因為噪聲過大,它也會給一個相對低的一個分數,在 p.563 之後,又出來一個 ANIQUE,是美國的一個標準,據其文獻稱,它的準確度會超過剛才講過的有參考的 pesq 的方法。再有就是引數域的方法,引數域的話,不會對語音訊號去做處理,而是去用一些狀態資訊去做一個估計的事情。比如:這個 E-Model 方法,從採集到回聲,再到編碼的一整個,如果有哪個模組有一些損傷,它們會把損傷的影響因子從整體中裁剪掉。還有一種比較新的 p.1201 標準,這個標準包括音訊、影片兩種評價方法。其中音訊部分,主要包括網路引數、編解碼、音量引數等。

客觀評價方法痛點

  • 有參考方法 ,只能用在上線前
  • 無參考方法-傳統訊號域 ,應用場景窄、魯棒性差
  • 無參考方法-傳統引數域 ,僅在有限弱網條件下可以保持精度
  • 無參考方法-深度學習 ,應用場景和語料有限,複雜度略高
  • 場景窄
  • 精確率差
  • 魯棒性差
  • 複雜度高

線下測試的線上化

線上質量感知能力,其特點是,高精確、廣覆蓋、低複雜、強魯棒。質量評估足夠準確,覆蓋絕大多數業務場景,不引入過多演算法複雜度,和語音內容弱相關。

下行鏈路質量評價方法

一個標準流程:編碼-傳輸-解碼-播放,所以其涉及到的因素:編解碼器效能、網路質量、弱網對抗演算法質量、裝置播放能力等。我們做一組資料測試:在多弱網、多裝置、多模式的測試 case 下,該方法的打分與 POLQA 的參考打分 MAE 小於 0.1 分,MSE 小於 0.01 分,誤差最大值小於 0.15 分。下圖是某裝置某模式的多弱網測試結果:

上行鏈路質量評價方法

模組比較多,而且每個模組獨立,所以,首先,每個模組有自己的獨立檢測能力。比如:回聲模組,當前可能會漏掉回聲,這一點,本身需要知道。然後,在所有模組自我檢測完之後,在編碼之前,還會做統一檢測的模組,相當於一個衛士,做整個流程的把關。把所有的場景的共性提取,我們可以總結為四點:

  • 裝置採集穩定性
  • 回聲消除能力
  • 噪聲抑制能力
  • 音量調整能力

漏回聲的原因

其實我們非常希望知道當前是否會漏回聲,那漏回聲原因總體分為四大類:

  • 延時抖動 ,引起延時抖動的原因可能有很多,比如:執行緒卡住沒有及時送入訊號,還有可能是當前外放裝置非線性嚴重,雙裝置、非因果,非因果一般因為 buffer 原因
  • 大混響環境 ,混響長度超過濾波器長度
  • 採集訊號溢位 ,導致濾波器不收斂
  • 雙講 ,強依賴 NLP,顧此失彼

噪音、雜音原因

  • 裝置噪聲 ,單頻音、工頻噪聲、筆記本⻛扇聲、無序雜音
  • 環境噪聲 ,Babble、鳴笛等
  • 訊號溢位 ,爆破音
  • 演算法引入 ,殘留回聲等
  • 裝置採集能力弱/說話聲音小,大多數

    裝置播放能力弱,對端

  • 模擬增益、模擬 boost 增益小,PC 端

    數字增益小,雙向增益

獨立檢測模組

  • 嘯叫檢測 ,檢測並抑制
  • 雜音檢測 ,預警
  • 噪音檢測 ,量化噪音引入的影響
  • 硬體檢測 ,估計裝置外放效能

感知、反饋和監控的一體化

  • 內部狀態更細
  • 體驗覆蓋更廣
  • 反饋速度更快
  • 覆蓋通話更全