语音增强评价方法(1):MOS 和 DNSMOS
当我们做语音增强或降噪时,需要有方法来评价降噪效果到底怎么样。只用传统 SNR 来评价的话太过片面,因为降噪效果不只是考虑噪声被压制了多少,还要考虑人声音质有没有完整的保留或提升。
在语音增强、实时通话、会议降噪、车载语音、耳机通话等场景里,我们通常用到两类评价方法:
主观评价:让真实的人来听,给出听感评分;
客观评价:用算法自动预测或计算质量分数。
我们这一篇先讲一讲 MOS 和 DNSMOS, MOS 是主观评价体系里核心的概念之一;DNSMOS 则可以理解成一种面向降噪场景的自动化 MOS 预测工具。
本文和仿真代码同步发在个人博客网站 VoxWorking · 声学与音频知识平台,网站定期更新音频处理、语音处理和声学相关知识,欢迎大家浏览交流~
1. MOS 的定义
MOS 是 Mean Opinion Score 的缩写,中文即是“平均意见分”或“平均主观评分”。它的基本思想是找一批听音人,让他们听一组音频样本,并根据自己的主观感受打分;最后把多个听音人的评分取平均,得到这个样本或这个系统的平均听感分数。
MOS 在通信和语音质量评价里有比较长的标准化历史。ITU-T (国际电信联盟-电信标准化部门) P.800《Methods for subjective determination of transmission quality》给出了语音传输质量主观测试的方法,其中常见的 ACR(Absolute Category Rating,绝对类别评分)方法就使用 1 到 5 的质量等级进行评分。
| 分数 | 英文等级 | 常见中文理解 |
|---|---|---|
| 5 | Excellent | 非常好,几乎没有明显问题 |
| 4 | Good | 好,有轻微问题但整体自然 |
| 3 | Fair | 一般,能接受但问题明显 |
| 2 | Poor | 差,听起来不舒服 |
| 1 | Bad | 很差,难以接受 |
ITU-T P.800.1 则进一步规范了 MOS 相关术语,用于减少大家在讨论 MOS 时的歧义,比如这是主观听测得到的 MOS,还是客观模型预测出来的 MOS。
ITU-T P.835 则更贴近降噪场景,专门用于评价带噪语音和噪声抑制系统。在降噪场景不能只考虑“噪声小没小”,还要考虑人声是否清晰自然,背景噪声是否被抑制且自然,整体听感是否比处理前更好。因此评价拆成语音信号质量、背景噪声质量和整体质量3个维度:
| 维度 | 含义 | 工程解释 |
|---|---|---|
| SIG | Speech Signal Quality | 人声本身质量,关注失真、清晰度、自然度 |
| BAK | Background Noise Quality | 背景噪声质量,关注噪声是否明显、是否侵入 |
| OVRL | Overall Quality | 整体质量,综合人声和背景后的听感 |
2. MOS 的优缺点
语音质量最终是给人听的,很多时候客观物理指标提升,并不代表人耳觉得更好。比如一个降噪算法可能显著降低背景噪声能量,但同时引入音乐噪声或语音失真,用户反而会觉得更不自然。而 MOS 直接面向人耳听感,贴近真实用户感受,适合评价复杂失真,比如断续、金属音、闷感、残响、过度抑制等,可以作为客观评价模型的训练目标或校准依据,在算法评测、产品验收、竞赛排名中有较强说服力。
而 MOS 的问题也非常明显:贵、慢、难复现,一次规范的主观听测,需要准备样本、招募听音人、搭建测试系统、控制播放设备和环境,还要做数据清洗和统计分析。对于日常算法迭代来说,这个成本太高。而且,不同测试条件下的 MOS 不一定能直接横向比较,听音人群体、耳机设备、环境噪声都会影响结果,样本数量太少时,结果容易被个别样本影响,同一组音频两组MOS 听音测试结果可能都不一致。这也是为什么工程上会需要 DNSMOS、PESQ、POLQA、ViSQOL、STOI 等客观或半客观指标,虽然不能完全替代人,但可以帮助更快筛查问题。
7. DNSMOS 是什么
2021 年,Microsoft Research 发表了论文《DNSMOS: A Non-Intrusive Perceptual Objective Speech Quality Metric to Evaluate Noise Suppressors》,目标是提出一种不需要干净参考语音、同时与人类主观评分相关性较高的降噪质量评价指标。
像 PESQ、POLQA、ViSQOL 这类指标通常需要一段干净参考语音和一段处理后语音做对比;而真实会议录音、线上通话、车载语音里,大部分时候并没有那段“绝对干净的原始语音”。DNSMOS 的优势就在于可以在没有干净参考语音的情况下,只输入一段待评价音频,就预测它在人类听测中可能得到的 MOS 分数,可以理解成面向 深度学习降噪(Deep Noise Suppression) 场景的 MOS 预测模型。
DNSMOS 针对 ITU-T P.835 的三维主观评价方式,对降噪结果分别预测(1)SIG:语音信号质量;(2)BAK:背景噪声质量;(3)OVRL:整体质量。微软的 DNS-Challenge GitHub 仓库中也提供了 DNSMOS 相关工具和引用信息。
9. 怎么利用 DNSMOS 评价降噪效果
工程上使用 DNSMOS,不光要盯着一个分数看,还要看分数之间的关系,假设有两个降噪模型:
| 模型 | SIG | BAK | OVRL |
|---|---|---|---|
| Model A | 3.8 | 3.2 | 3.4 |
| Model B | 3.5 | 4.1 | 3.6 |
如果只看 OVRL,Model B 从 3.4 提升到 3.6,好像更好。但 SIG 从 3.8 降到 3.5,说明人声质量可能被伤害了。BAK 从 3.2 提升到 4.1,说明背景确实更干净。
这时候工程判断应该是:Model B 的降噪更激进,噪声抑制更强,但可能牺牲了一部分人声自然度,需要认真听一下低分样本,确认是否出现人声发闷、齿音损伤、断续感或金属音。
DNSMOS 另一个好处是可以当成“批量自动筛选工具”,比如
(1)建立一套固定测试集,覆盖常见噪声类型、信噪比、说话人、语种、设备和录音环境;
(2)每个模型版本都跑 DNSMOS,记录 SIG / BAK / OVRL;
(3)不要只看总平均分,要按场景分组统计;
(4)重点关注 SIG 下降的样本,因为这往往意味着人声被过度处理;
(5)把 DNSMOS 提升明显、下降明显、分歧明显的样本挑出来人工试听;
(6)上线前仍然需要主观听测或真实用户反馈兜底。
DNSMOS 能先帮我们从几千、几万条样本里筛出值得关注的问题样本,工程师不需要盲听所有音频。
13. MOS 和 DNSMOS 的关系
最后总结一下两者关系:
| 项目 | MOS | DNSMOS |
|---|---|---|
| 本质 | 人类主观评分的平均值 | 模型预测的感知质量分 |
| 是否需要参考音频 | 取决于测试方法,ACR 通常不需要参考 | 不需要参考 |
| 成本 | 高 | 低 |
| 速度 | 慢 | 快 |
| 可信度 | 高,但依赖测试设计 | 适合批量筛查,但不能替代真人听测 |
| 适用阶段 | 产品验收、论文评测、关键版本确认 | 论文评测、日常迭代、A/B 对比、自动化回归 |
资料来源
ITU-T P.800: Methods for subjective determination of transmission quality
https://www.itu.int/rec/T-REC-P.800/ITU-T P.800.1: Mean opinion score terminology
https://www.itu.int/ITU-T/recommendations/rec.aspx?rec=12972ITU-T P.835: Subjective test methodology for evaluating speech communication systems and terminals providing noise suppression functionality
https://www.itu.int/rec/T-REC-P.835/enMicrosoft Research: DNSMOS: A Non-Intrusive Perceptual Objective Speech Quality Metric to Evaluate Noise Suppressors
https://www.microsoft.com/en-us/research/publication/dnsmos-a-non-intrusive-perceptual-objective-speech-quality-metric-to-evaluate-noise-suppressors-2/Microsoft DNS-Challenge GitHub Repository
https://github.com/microsoft/DNS-ChallengeNaderi and Cutler, Subjective Evaluation of Noise Suppression Algorithms in Crowdsourcing, INTERSPEECH 2021
https://www.isca-archive.org/interspeech_2021/naderi21_interspeech.html