實時語音如何過質量關?

聲網Agora發表於2021-11-05

實時語音如何過質量關?

大家好,我是 cv 君,涉獵語音一段時間了,今天提筆淺述一下語音的傳輸前後,質量如何過關,也就是說,怎麼評價我們語音的質量,比如麥克風等聲音裝置等等。

我們在語音質量方面,有三種全域性上的評價方法:有參考客觀評價方法,有參考客觀評價方法,主觀評價方法。

那麼我們細分到他的子類,就會有很多使用的演算法與評價思路。

語音質量極其重要,能夠讓聊天的你我免受一些噪聲的煩擾,能夠讓部隊軍方的通訊更可靠,能夠讓每逢佳節倍思親,與家人通電話時重溫那久違,真實,親切的話語和音色。

我們過去是怎麼評價的?

主觀評價研究主要可以參照國 家安 全標準《YT 音訊主觀測試分析法》,國家發展標準 主要內容也是一個參考國 際標準中的主觀評價:國際標準普遍採用的是 itu- t p800(電 話傳輸系統中語音質量的主觀評價)、(電話寬頻和寬頻數字語音編解碼器 的主觀評價)和 itu-t p805(對話質量的主觀評價)。

img

cv 君到他們的官網找到了以前的評價方法,可是很全面的哦。

img

​ 圖 1 :YDT2309-2011 標準中的測試方法

評分標準

評分標準可以採用 5 分或者 7 分,預先定義好評分值,則不需要歸一化處理。否則需要做歸一化處理

img

​ 圖 2 :YDT2309-2011 評分標準

評價維度

《審計主觀判斷評價國家標準》根據實際產品列出了許多需要刪減或增加的維度。

cv 君認為,客觀的測試標準通 常分為詞的質量和詞義。這 些頁面首先探討單詞的質量。許多共同的經驗標準和相關的經驗。 這些頁面是共同質量標準的一部分。

良好的基於價值的指標

適用的歐盟標準 1-65899

全球音量測試可以分為一個或多個動態級別,在使用最廣泛的音訊標準中,普通音訊程式都是從不同的活動角度進行訓練的。

img

客觀評價-基於模型

(一) 背景及標準

最早的語音質量評價標準僅僅基於無線指標(rxqual) ,而實際語音通過無線、傳輸、交換、路由等水平傳播節點傳輸,任何鏈路問題都會導致使用者言語感知不足,僅考慮無線指標是不可能發現和定位語音質量問題的,因此基於使用者感知的語音質量評價方法已成為使用者語音質量評價的最重要標準。

常用的語音質量進行評價研究方法可以分為主觀評價和客觀評價。語音教學質量的早期教育評價是主觀的。人們可 以打電話後通過自己耳朵感覺到說話的質量。1996 年,國際電信聯盟開始工作。它是一種主觀測試方法,用來調查和量化使用者的聽力行為和感知的語音質量。

img

要點:GSM 網路,一點比三點好~

然而,在現實生活中,人們似乎很難聽到和欣賞聲音的質量,這就是為什麼國際電信聯盟已經做了聲音質量測試和標準化技術與,標準噪聲評價演算法,如 PESQ 等相繼釋出,評價從實際評價方法的物件出發,消除了使用量化算 法計算音訊質量水平的弊端。 其中,演算法是國際電信聯盟 2001 年 2 月釋出的最 新一代語音質量評價演算法,由於其強大的活動性和良好的連通性,採用了最快的語音質量評價演算法。在各種端到端網路中,為了客觀地評價詞的質量,詞的質量和數量決定了詞的質量。 通過建立演算法模 型(見模板 6),我們可以看到所有演算法的流程,然後用輸入濾波器模擬輸入濾波器的電平,提取和提取這兩種演算法。訊號。一般來說, 輸出訊號和參考訊號之間有很大的差異,S 點是低的。因此,他們可能會感到困惑。我們可以看一看這些來自舌頭大學的圖片。

img

基於 MNB 的最新語音評估演算法,只能用於同頻編碼和特定的編碼型別,只能用於 Asyaq 顏色、梯度等應用的演算法模型,用於編輯影像模板等。 基於 p8 22 的最新語音評估演算法,只能用於同頻編碼和特定的編碼型別,只能用於 Asyaq 顏色、梯度等應用的演算法模型,用於編輯影像模板 (2) 試驗方法 MOS 掩模有影像模型和演算法。該模型和演算法可用於 MOS 系統測試次數的檢測或 MOS 字數的統計。 圖示載入系統退出應用程式以儲存此影像 就 像一個視窗,系統的主要功能分為兩組。程式數必須寫為無線網路。另一方面,PESQ 演算法模組建立主音訊檔案和 MOS 線來播放暗鍵。 聲頻分析儀自動質量,命名不容易;單位格式® 不需要研究語音的解釋,它可以被翻譯成基於 Upv 的 MOS 短語模型。

在這裡插入圖片描述
​ 圖 9 羅德與施瓦茨公司具備 mos 測試的音訊分析儀

小結

cv 君寫完了過去人們使用的語音評價方法,總結如下:

基於主觀判斷:

主題已解決: 在音質上 ,這個值是基於自然的重複。 其他組織者測試區域開始上面的物件索引上的主要內容屬性易於驗證證書是否正確,並且不會自動響應引數列表,索引太好了,但是詞的質量不好。 基於模型的物件 ,指定為: 沒有自動建模單詞屬性 ,有效條目和它們用於區分從 MOS 描述開始的個人詳細資訊型別包含各種量子演算法的感官因素(例如 加密和解密、位錯誤、打包(過濾等)和主題索引測試無效。 我們現在 用的是什麼方法? 程陽是唯一一個被公司使用。 確定語言屬性的個人和 客體方法。主題是 MOS,CMOS 和 ABX 測試的計算決定了要在本文件中顯示的語言屬性 M CD(Mel cep turm)值 i 的描述。訊號包含一個訊號,指示是否需要信任它,如果一個好單詞或音節缺少 一個連結,但在指定賬戶到期後,自動檢測語言屬性,如 Macnet。 基於深度學習的方法:自動、乘法、逃逸、蚊子的覺得很難。接受取消論文。需要一些 CNN 分類和語言選擇方法。 建立和讀取資料 選擇並選擇屬性配置評級列表,如損失建立和學習模板提供標準檔案對話方塊名稱的預設 KDE 檔案模組檢視並標記通知。這是我們感興趣的。 定義深度學習時:語言大小比較多個定義 。

比較了幾種指標

1 大小設定,任意高度 。0=太大,5=太小 摩 西的作者提出 :通過努力學習語言改變目標價值觀 MOS 估計值太大。該值由記分器提供,例如,在語言程式碼中,為了測試不同大小的訊息,正常 MOS 和 MOS 最大化。在實時視窗中,屬性和屬性的值是允許的。但是,該值受 多個原因的影響。在各種各樣的論文中,MOS 是不相容的,只有一個協議 MOS 可以與不同的系統整合並轉換成不同的系統在 ssw10 中釋出的值長格式文字:替換感測器和下劃線,當在屬性文字中對字串賦值時,音訊樣本將對 E 產生影響。在原來的視窗中,財產的價值和變化的價值被傾聽,但人提供的價值是多介面的這是關於結果的。通常,Google 的評估長格式文字到語音:比較 s10 中發表的感官和段落的比率比較了多行文字合成語音的幾種評估方法。在評估長文字中的一個句子時, 音訊樣本的呈現會顯著影響受試者給出 v 的結果,只指定一個沒有上下文的句子,與相同的內容進行比較。

img

允許使用原始視窗的 I TU 語言屬性進行身份驗證, 當使用 A CR 方法將整個類 評級(ACR)的語言屬性和程式碼轉換為 ettp. 80 0.1 時。 通過這個選項,參與者可以獲得額外的語言屬性、as co 身高和語言質量。 一般情況下, MOS 必須是 4 或更高,這是一個很好的語言屬性。如果 MOS 小於 3.6,更多主題不完整,帶有取消屬性。 MOSv 測試要求一般: 樣本數和變數串控制每個音訊輸入和裝置的使用; 每個音訊序列具有相同的值。 全評級 ,與語言屬性的其他主題相反的類的評級(DCR 與 這兩種方法相反)語言不需要提供提示,但需要實際的語言,MOS 計數指令碼以背景語言附加到本文的語言。它不僅僅是一個 MOS 值,是 95% 置信區間。

這邊 cv 君找了份程式碼,大家可以看看,比較簡單,就不贅述了。

# -*- coding: utf-8 -*-
import math
import numpy as np
import pandas as pd
from scipy.linalg import solve
from scipy.stats import t


def calc_mos(data_path: str):

    data = pd.read_csv(data_path)
    mu = np.mean(data.values)
    var_uw = (data.std(axis=1) ** 2).mean()
    var_su = (data.std(axis=0) ** 2).mean()
    mos_data = np.asarray([x for x in data.values.flatten() if not math.isnan(x)])
    var_swu = mos_data.std() ** 2

    x = np.asarray([[0, 1, 1], [1, 0, 1], [1, 1, 1]])
    y = np.asarray([var_uw, var_su, var_swu])
    [var_s, var_w, var_u] = solve(x, y)
    M = min(data.count(axis=0))
    N = min(data.count(axis=1))
    var_mu = var_s / M + var_w / N + var_u / (M * N)
    df = min(M, N) - 1
    t_interval = t.ppf(0.975, df, loc=0, scale=1)  
    interval = t_interval * np.sqrt(var_mu)
    print('{} :{} +—{} '.format(data_path, round(float(mu), 3), round(interval, 3)))


if __name__ == '__main__':
    data_path = ''
    calc_mos(data_path)

語音質量感知評估

以下是標籤程式碼: 首先,驗證系統將原始訊號和訊號電平轉換為標準音訊電平,然後再轉換為濾波器換層過濾後,音訊格式調整為兩個程式碼。這種變化包括線性濾波和修改冷靜兩個音訊程式碼之間的間隔作為介面寫入( 例如。從兩個角度提取頁面的交集,提取時間和 MOS 顯示。)

cv 君這邊還介紹個和 PESQ 比較的:P.563 演算法很好用哦

客觀質量單端方法 P.563

第 1 P.5 和 PE 的最大輸出程式碼僅適用於 P.5 不 同的音訊引擎,因此 P.5 更可用。但 PE 的精度較低,三種選擇中的一種將被確定;屬性引數估計;第二部分是對映模型,經過語言處理後,563 首先統計一些屬性,應用這些屬性後將顯示的對映模型的型別使用查詢最終 值的對映模型進行計算(事實上,它 與直線相同)。語言程式碼被校準和過濾。你可以選擇第三次。563 意味著所有語言都將是輸入程式碼。訊號被校準到 S。下面將決定。563 演算法使用兩種型別的濾波器。第一種濾波器的大小第二濾波器用於包含有源濾波器的第二濾波器利用上述五種濾波器,可以利用該濾波器合成的語音符號序列來檢測其截止固定器。已知通道模型的最後一個組成部分是處理符號函式,用於拆分單詞的訊息閾值的高度,否則,動態附加閾值來表示 NN 中單詞的冪,詞彙框架的初始值為 4ms。為了提高 VaD 的準確性,處理 VAD 結果後:如果零件大於閾值,但長度為 12ms(小於 3 幀或每秒 2 部分),但間隔小於 2 00ms,但在提取語言兩部分特徵的過程中,引數被提取出來。563 演算法使用列印出來的文字和音訊,您至少可以選擇以下選項之一:563 演算法允許您從以前的語言程式碼中提取設定。使用引數分析部分。第一部分用於還原原始語言程式碼和反向語言訊息在訊息的第三部分被分離,當然,時域將在下面進行分離和確定。 不同引數的數目超過 563 個演算法背景型別是 8 個關鍵引數之間的首選項,密碼語音比(SNR)。背景可以有很好的質量。大多數語言都是 MOS 值背景語言通常介於 1 和 3 之間。該語言分為不同的語言,因此可以彼此不同。只有一種活動語言。它包含在語言管理的底部。編碼輸出與生活質量有關,如下圖所示:

img

這些演算法,cv 君演算法出身 的,表示已經很熟了~大家可以看看,有什麼不會的可以諮詢我。

客觀評價結果的對映模型

p563,對映模型為直線模型,預設 563 演算法代表 12 個線性方程組。包含設定。要檢查語言,請給出 p12 字串的第一個值。

退出:無聲音連線網路功能

NISQA: 無參考語音通訊網路的語音質量

cv 君帶大家回顧一下,這個演算法就是前面文章介紹過的哦~

使用的深度網路可以自動進行特徵提取,因此這類方法直接將梅爾頻譜系數或者 MF 直 接送入模型即可。以 為例。cv 君不得不說,梅爾圖很厲害。

img

如上圖所示 cv 君的圖片中,完整的網路儲存太容易了。要測量的最大語言質量,得到一個連線到 CNN 的輸出 MFC 的 MOS 分數結束。

CNN 設計細節如下:

語言預覽可用於顯示登出模型,為計算機系統顯示不同的聲音系統,標準 TTS 模型 /語言系統應使用哪一個:退出一個終端或兩個終端(例如改進的)

摘要

測量語言屬性時的語言屬性列表。語言設定已分析多年。 這在通知系統中不是必需的,在實際視窗中可以分為兩 部分:

img

噪聲

cv 君來說說一些噪聲,因為這大大的影響了質量。

裝置噪聲: 比如單頻音,筆記本風扇音等等。

環境噪聲:鳴笛等

訊號溢位:爆破音

還有個音量小問題,包括,裝置讀取聲音小,說話人聲音小等。

解決方法

這邊有一些建議方法,cv 君認為可以用獨立檢測的方法,對這些型別 的雜音做精準的檢測,然後割離。

包括訓練檢測模型,針對雜音,硬體噪聲。

下面 cv 君再針對回聲介紹一種解決方法:

音訊處理預防與除錯

本節定義了打電話時發生的情況,你有一個從某處打來的電話和電話。當你在這裡,你可以接受它,但是你知道,這是為什麼過去的關係會受到影響的最重要 的原因 之一 。 我在市場上沒有一箇舊產品。線路的每一個聲音和光學聲音分割。行迴音在當前行上,這是由於 2-4 個通道 的光學表示。可以使用語言來消除噪聲。上一個程式的關 鍵部分。指定丟失的原始印表機和 一些除錯。1 原 始印表機 1)由自適應濾波器和自適應演算法濾波器定義, 最小或 IR 可用於儲存自適應燈絲。下圖用於解析 IR 永續性。顯示自適應濾波器的正常配置

上圖為輸入程式碼的錯誤碼。 自適應濾波器的濾波器由制自適應演算法是隨機梯度演算法家族的一個成員。

2) 原始取消過程。

下圖是回聲消除基本原理的框圖:

img

cv 君給大家看看以下處理過程:(a)確定零件的強度和距離(b)遠端輸入自適應對 FIR 濾波器進行濾波,同時得到問題 E,處理 line 時出錯。作者已除錯,下面的 EC 除錯程式碼顯示:1)中止 v 原始程式知識不是演算法,不好用基礎知識,如果基礎紮實,當然會懂得更多,另請參閱演算法程式碼 。如果使 用設計來獲得更好的文件,所以演算法不知道,他們必須告訴我。首先你不明白。讀一次,每次都可以理解。3)執行一個應用程式來測試演算法。如果應用程式是輸入的,那麼它是嵌入式和遠端的檔案。將 EC 的輸出寫入以檢視過程的效果。許多步驟,恭喜你選擇了演算法。否則,演算法中有些東西需要改變,需要進行一些更改。如果除錯完成,則無 v 法聽到演算法輸出。b)如果指定了設定延遲時,PCM 資料將包含在一 定距離內,但是包含的資料被設定為這個延遲。在這一點上,輸出資料仍然為空。vc)它還可以從遠端和遠端產品獲取 PCM 資料,把它作為今天的輸入, 看看演算法的輸出,你聽不到。演算法可以在這個顯示之後使用。每個硬體都是一個特定的平臺。拉丁文平 臺。 晶片公司有一個顯示板,每個客戶都有自己的硬體平臺,您可以更改包括 PCM 資料在內的延遲。當移動網際網路公司申請時,然後他在 UI 中滑動太長時間,無法使用一些手機,並配置了一個延遲,測試後,這個手持裝置將使用這個延遲值。經過上面的顯 示,原來的已經翻了一番。

最後

語音增強噪聲 及其評估方法

噪聲型別

常見的失真有:

附加雜音:錄音時麥克風錄製的背景音自動重複連線通道效果:這顯示對單個或頻寬的有限響應。刪除通道脈衝響應非線性失真:如訊號輸入增益不當

語音增強

cv 君剛剛介紹噪聲類別,那麼我們就可以針對性的做一些解決。可以將訊號退化分成 3 類:

除了預期的單詞外,還可以構造單詞和音質,這將禁用所需的語言。對於某些附加單詞,它將隨時間而固定或更改。它變了,就像,嗯,增加此通道自適應濾波器的工作音量有,而且這些詞無法識別和刪除,例如媒體介面,它用於重複和重複。如果關聯詞與肯定詞不同如果麥克風的位置,麥克風的功能和編解碼器的頻寬邊界和預期的 模擬聲音沒有太大的響應邊界,麥克風擴音 器和其他資訊將線上反轉。這太長,無法使用。按幀處理,其中)是窗函式,M 是幀的位移 ,N 是窗的長度,幀差和時間差的比率為 50 赫茲。為了降低視窗效能,視窗角色和框架更改太大。可以使用 Handing,在 1997 年以 3.3 光譜檢索的形式展示,以減少可能的詞彙量。按乘數執行縱橫比。刪除不足,剩餘字。如果太大,將忽略此訊息。

總結

這篇文章很長,但很有意義,綜述了過去幾年和近今年語音傳輸,語音編解碼前後的質量問題,另外我還針對了幾種噪聲,提出瞭解決的方案,以便我們更好地解決問題。

如果大家對文章感興趣,不妨看看我在 InfoQ 寫的另一篇文章:聲網的演算法和噪聲等的相關解決方案,這裡篇幅原因,有 時間下次整合一起介紹~其實還包括使用強化學習,對抗生成等方式的解決問題方法,特別強,以後可以詳細分析一下。

相關文章