怎么做網(wǎng)站結(jié)構(gòu)圖東莞seo建站哪家好
引言
在語(yǔ)音增強(qiáng)、語(yǔ)音合成、語(yǔ)音轉(zhuǎn)換、聲音轉(zhuǎn)換、語(yǔ)音克隆、語(yǔ)音修復(fù)等等領(lǐng)域,常常要對(duì)輸出的語(yǔ)音進(jìn)行評(píng)價(jià)。對(duì)語(yǔ)音的質(zhì)量評(píng)價(jià)一般關(guān)注兩個(gè)方面,即主觀評(píng)價(jià)和客觀評(píng)價(jià)。主觀評(píng)價(jià)就是人憑借聽(tīng)覺(jué)感受對(duì)語(yǔ)音進(jìn)行打分,客觀評(píng)價(jià)比較廣泛,有的是通過(guò)計(jì)算輸出語(yǔ)音與目標(biāo)語(yǔ)音之間的聲學(xué)參數(shù)之間的差異來(lái)衡量輸出語(yǔ)音的質(zhì)量;有的是依靠?jī)x器測(cè)試響度、頻率響應(yīng)、靈敏度等指標(biāo);有的依靠模型和算法,模擬人工打分。
- 主觀評(píng)價(jià)方法:MOS、CMOS、ABX(XAB)、Mushar、PESQ…
- 客觀評(píng)價(jià)方法:MCD、MSD 、MEL loss、F0 MSE、F0RMSE、F0 CC、E MSE、 DurMSE…
注:
這些評(píng)價(jià)方法并不都是相互獨(dú)立的,如:F0 MSE、F0RMSE是計(jì)算最小均方誤差和最小均方根誤差。有一定的相似性。
這些評(píng)價(jià)方法在不同的領(lǐng)域評(píng)價(jià)又有一定的區(qū)別。評(píng)估的目的不同,所用的評(píng)估方法也不同。
平均意見(jiàn)得分MOS
早期語(yǔ)音質(zhì)量的評(píng)價(jià)方式是憑主觀的,人們?cè)诖蛲娫捴笸ㄟ^(guò)人耳來(lái)感知語(yǔ)音質(zhì)量的好壞。1996年國(guó)際ITU組織在ITU-T P.800(電話傳輸系統(tǒng)語(yǔ)音質(zhì)量主觀評(píng)價(jià))和P.830(電話寬帶和寬帶數(shù)字語(yǔ)音編解碼器主觀評(píng)價(jià)方法)建議書(shū)開(kāi)始制訂相關(guān)的評(píng)測(cè)標(biāo)準(zhǔn),即MOS(Mean Opinion Score)測(cè)試。
平均主觀值MOS是廣泛認(rèn)同的語(yǔ)音質(zhì)量標(biāo)準(zhǔn)。因此,無(wú)論采用何種方法,所有測(cè)量方法所得到的結(jié)果都必須對(duì)應(yīng)到最終的平均主觀值MOS。
官網(wǎng):MOS terminology
評(píng)價(jià)標(biāo)準(zhǔn)
它是一種主觀測(cè)試方法,將用戶(hù)接聽(tīng)和感知語(yǔ)音質(zhì)量的行為進(jìn)行調(diào)研和量化,由不同的調(diào)查用戶(hù)分別對(duì)原始標(biāo)準(zhǔn)語(yǔ)音和經(jīng)過(guò)無(wú)線網(wǎng)傳播后的衰退聲音進(jìn)行主觀感受對(duì)比,評(píng)出MOS分值。評(píng)價(jià)為5分制,標(biāo)準(zhǔn)如下:
與評(píng)測(cè)的人員對(duì)語(yǔ)音整體質(zhì)量進(jìn)行打分,分值范圍為1-5分,分?jǐn)?shù)越大表示語(yǔ)音質(zhì)量最好。
一般MOS應(yīng)為4或者更高,這可以被認(rèn)為是比較好的語(yǔ)音質(zhì)量,若MOS低于3.6,則表示大部分被測(cè)不太滿意這個(gè)語(yǔ)音質(zhì)量。
MOS測(cè)試一般要求:
- 足夠多樣化的樣本(即試聽(tīng)者和句子數(shù)量)以確保結(jié)果在統(tǒng)計(jì)上的顯著;
- 控制每個(gè)試聽(tīng)者的實(shí)驗(yàn)環(huán)境和設(shè)備保持一致;
- 每個(gè)試聽(tīng)者遵循同樣的評(píng)估標(biāo)準(zhǔn)。
評(píng)價(jià)規(guī)則
標(biāo)準(zhǔn)中的測(cè)試規(guī)則主要定義幾點(diǎn):
-
參考的標(biāo)準(zhǔn)音頻和被測(cè)試音頻間隔測(cè)試,連續(xù)重復(fù)4次;
-
音頻源采用15~20s;
-
一次完整的測(cè)試時(shí)間不應(yīng)超過(guò)15~20min;
-
測(cè)試成員:專(zhuān)家成員最少10人,非專(zhuān)家20人。(語(yǔ)音合成需至少40人)
-
如果預(yù)先定義評(píng)分值,則不需要對(duì)單個(gè)評(píng)分值做歸一化,否則需要?dú)w一化處理。
-
評(píng)分可以采用5分或者7分制,也有嫌它不夠精細(xì)的,用10分20分的。
-
所測(cè)語(yǔ)音材料要足夠豐富,測(cè)試環(huán)境要盡量保持相同。
評(píng)價(jià)內(nèi)容
對(duì)于語(yǔ)音合成系統(tǒng),評(píng)估的內(nèi)容也包含三個(gè)方面,即合成語(yǔ)音的清晰度,可懂度,自然度。
對(duì)于語(yǔ)音轉(zhuǎn)換系統(tǒng),一般評(píng)估
語(yǔ)音合成中的MOS
對(duì)于語(yǔ)音合成(文語(yǔ)轉(zhuǎn)換TTS)系統(tǒng),評(píng)估的工作有三個(gè)方面的任務(wù)和目的:
- 對(duì)比不同的合成系統(tǒng)或算法,排出位次;
- 對(duì)某個(gè)系統(tǒng)或算法進(jìn)行診斷,指出其不足之處和問(wèn)題所在;
- 應(yīng)用評(píng)價(jià),確定某系統(tǒng)是否適應(yīng)某種應(yīng)用。
對(duì)于語(yǔ)音合成系統(tǒng),評(píng)估的內(nèi)容也包含三個(gè)方面,即合成語(yǔ)音的清晰度,可懂度,自然度:
- 清晰度:針對(duì)語(yǔ)音中詞以下的語(yǔ)音單元(音素、聲母、韻母等)的清晰度;
- 可懂度:針對(duì)語(yǔ)音中詞以上的語(yǔ)言單元(如字、單詞和句子等)的可懂程度;
- 自然度:指的是更高一層的內(nèi)容,如短語(yǔ)、句子、篇章等方面的整體自然水平。
合成語(yǔ)音質(zhì)量的評(píng)估,不但與語(yǔ)音學(xué)、語(yǔ)言學(xué)相關(guān)、而且與心理學(xué)也有著密切的聯(lián)系。
MOS不僅用于語(yǔ)音編碼、通信設(shè)備的性能測(cè)試上,也可用于語(yǔ)音合成系統(tǒng)的整體評(píng)估,1994年國(guó)際ITU組織在ITU-T P.85(語(yǔ)音輸出設(shè)備質(zhì)量的主觀性能評(píng)測(cè)方法),根據(jù)該建議草案,選擇10-30句語(yǔ)音測(cè)試材料,從8個(gè)方面用5分制MOS進(jìn)行打分。
- 整體印象:整體感覺(jué)如何
- 可接受度:你認(rèn)為這種聲音是否可以在某個(gè)應(yīng)用領(lǐng)域上做信息服務(wù)?
- 收聽(tīng)效果、注意力:需要多大的專(zhuān)心或注意力程度才能聽(tīng)懂語(yǔ)音
- 理解難度:句子的意思是不是說(shuō)清楚了?是否有些詞不好理解
- 清晰度:聲音是不是清晰可辨?
- 發(fā)音:發(fā)音中的規(guī)則讓人不舒服的程度
- 聲音的悅耳程度:聲音好聽(tīng)嗎?
- 講話速度:速度快,慢,還是正常?
在P.85中雖然沒(méi)有給出整體印象的5個(gè)等級(jí)的具體定義,但其他7個(gè)方面都給出了5個(gè)等級(jí)的具體說(shuō)明??梢杂糜?jì)權(quán)平均的方法得到總體的滿意度評(píng)價(jià),也可以綜合這幾個(gè)方面給出一個(gè)主觀的評(píng)價(jià)得分。
附語(yǔ)音合成論文中計(jì)算MOS的腳本,其不僅強(qiáng)調(diào)MOS值,并且要求95%的置信區(qū)間內(nèi)的分?jǐn)?shù):
# -*- coding: utf-8 -*-
# @FileName: caculate_MOS.pyimport math
import numpy as np
import pandas as pd
from scipy.linalg import solve
from scipy.stats import tdef calc_mos(data_path: str):'''計(jì)算MOS,數(shù)據(jù)格式:MxN,M個(gè)句子,N個(gè)試聽(tīng)人,data_path為MOS得分文件,內(nèi)容都是數(shù)字,為每個(gè)試聽(tīng)的得分:param data_path::return:'''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() ** 2x = 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 # 可以不減1t_interval = t.ppf(0.975, df, loc=0, scale=1) # t分布的97.5%置信區(qū)間臨界值interval = t_interval * np.sqrt(var_mu)print('{} 的MOS95%的置信區(qū)間為:{} +—{} '.format(data_path, round(float(mu), 3), round(interval, 3)))if __name__ == '__main__':data_path = ''calc_mos(data_path)