语音质量评估

本文探讨了语音质量评估的两种主要方法:主观的MOS(Mean Opinion Score)和客观的MCD、F0RMSE等指标。MOS通过用户打分反映主观感受,包括MOS值对应的质量等级和测试要求。客观方法如MCD测量MFCC特征差异,F0RMSE关注基频精度。了解这些技术有助于优化语音合成系统的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语音合成质量评估

语音质量评测方法:
1、主观方法:MOS、CMOS、MUSHRA

2、 客观方法:MCD、F0 RMSE、F0 MSE、 E MSE、Dur MSE、 mel loss

主观方法介绍:

  1. MOS(Mean Opnion Score)平均意见得分。

    在实时通讯领域,国际电信联盟(ITU)将语音质量的主观评价方法做了标准化处理,代号为ITU-T P.800.1。其中收听质量的绝对等级评分(Absolute Category Rating, ACR) 是目前比较广泛采用的一种主观评价方法。在使用ACR方法对语音质量评价时,参与评测的人员对语音整体质量进行打分,分值范围为0-5分,分数越大表示语音质量最好。

    级别MOS值评价标准
    4.0~5.0很好,听得清楚;延迟小,交流流畅
    3.5~4.0稍差,听得清楚;延迟小,交流欠流畅,有点杂音
    3.0~3.5还可以,听不太清;有一定延迟,可以交流
    1.5~3.0勉强,听不太清;延迟较大,交流需要重复多遍
    0~1.5极差,听不懂;延迟大,交流不通畅

    一般MOS应为4或者更高,这可以被认为是比较好的语音质量,若MOS低于3.6,则表示大部分被测不太满意这个语音质量。
    MOS测试一般要求:

    • 足够多样化的样本(即试听者和句子数量)以确保结果在统计上的显著;
    • 控制每个试听者的实验环境和设备保持一致;
    • 每个试听者遵循同样的评估标准。
  2. CMOS (comparison mean option score)
    在比较平均选项分数(CMOS)测试中,测试人员每次听两个音频,并使用一个测试中的分数来评估后者与前者相比的感觉,范围为[−3,3],间隔为1。

  3. MUSHRA (MUlti Stimulus test with Hidden Reference and Anchor)
    MUSHRA 打分范围0-100 分,可以对非常小的差异进行评级。取消那些对超过 15% 的所有测试项目的隐藏参考评分低于 90 MUSHRA 分的听众资格。

客观方法介绍:

  1. MCD (Mel cepstral distortion)
    它表示的是转换后语音的 MFCC 特征与标准输出语音的 MFCC 特征的差距,越小越好,单位为DB。设某一帧的标准输出特征为 y y y,而合成后的特征为 y ^ \hat y y^,则这一帧的 MCD 定义为:

    M C D ( y , y ^ ) = 10 2 l n 10 ∥ y − y ^ ∥ 2 (1) MCD(y,\hat y)=\frac{10\sqrt2}{ln 10}\|y-\hat y\|_2\tag{1} MCD(y,y^)=ln10102 yy^2(1)

    但研究发现,它与人们主观感受到的音质的相关性并不够强。

  2. F0 RMSE 基频的均方根误差,单位HZ。 f 0 f0 f0表示目标 f 0 f0 f0特征, f ^ 0 \hat f0 f^0表示预测的 f 0 f0 f0特征。RMSE的值越低表示基频轮廓越接近,效果越好。
    R M S E ( f 0 , f ^ 0 ) = 1 N ∑ i = 1 N ( f 0 i − f ^ 0 i ) 2 (2) RMSE(f0,\hat f0)=\sqrt{\frac{1}{N}\sum\limits_{i=1}^{N}(f0_i-\hat f0_i)^2}\tag{2} RMSE(f0,f^0)=N1i=1N(f0if^0i)2 (2)

  3. F0 MSE、 Energy MSE、Duration MSE 和 mel loss分别是基频的均方误差,能量的均方误差,持续时间的均方误差和梅尔频谱的损失,计算方式和(2)式类似,只是无需开根号。

参考:
语音质量评估
MUSHRA
MCD论文
RMSE

# MOS-PESQ The project is a tool that can get MOS(PESQ) score for the voice. PESQ measure: ------------- Usage of the PESQ objective measure is as follows: [pesq_mos]=pesq(cleanfile.wav,enhanced.wav) where 'cleanfile.wav' contains the clean speech file and 'enhanced.wav' contains the enhanced file. Example: To run the PESQ objective measure with the example files provided, type in MATLAB: >> pesq('sp09.wav','enhanced_logmmse.wav') ans = 2.2557 Source code for the PESQ implementation is available from a CD-ROM included in the following book: Loizou, P. (2007) "Speech enhancement: Theory and Practice", CRC Press. COMPOSITE MEASURE: ----------------- Usage: [Csig,Cbak,Covl]=composite(cleanfile.wav,enhanced.wav) where 'Csig' is the predicted rating of speech distortion 'Cbak' is the predicted rating of background distortion 'Covl' is the predicted rating of overall quality. You may run example files included in the zip file. In MATLAB, type: >> [c,b,o]=composite('sp09.wav','enhanced_logmmse.wav') LLR=0.681368 SNRseg=3.991727 WSS=49.671978 PESQ=2.255732 c = 3.3050 b = 2.6160 o = 2.7133 where 'sp09.wav' is the clean file and 'enhanced_logmmse.wav' is the enhanced file. The predicted ratings for overall quality was 2.7133, for background was 2.61 and for signal distortion it was 3.3050. Operating steps: ----------------- >> ./matlab-PESQ/readme.txt Thank: ----------------- Any questions, please E_mail: kinglongbest@163.com/245051943@qq.com 操作步骤 1.将所录序列加载如当前工作路径,也可以按自己工作路径自行加载; 2.在read.m中修改参考序列,默认为ref.wav,16KHz采样; 3.利用wavdivide.m对所录多组序列文件进行拆分(支持多种采样频率),并按序保证至当前路径; 4.运行tongji.m计算PESQ_MOS得分并通过excel/txt输出至指定路径; NOTE: 对于步骤4,每次执行记得修改excel中输出列位置,如cellnames2=['B',num2str(k+1),':B',num2str(k+1)];, 指定写入B列,下次执行改为C列,以此类推; 其中ref_8k.wav为8KHz采样测试序列,ref.wav为16KHz,ref_3s.wav只是为方便测试在ref.wav语音前加3s静音;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值