MOS 是什么:语音合成的主观评分怎么打
MOS 是 Mean Opinion Score 的缩写,指一群听众按 1 到 5 分给语音样本逐条打分之后取的平均值——它衡量的是人耳的主观感受,不是机器算出来的客观量。
语音合成是否”好听”,最后只能由人来判定。但主观评分这把尺子本身会变形:同一段音频,换一批听众、换一套样本、换一副耳机,就可能得到不一样的分数。理解这一点,比记住任何一个分数都重要。
MOS 到底在测什么
一次标准的 MOS 测试大致是这样跑的:
- 准备一批待评样本,通常来自多个待比较的系统;
- 招募听众,说明打分标准;
- 听众逐条听、逐条打分,量表是 1 到 5,5 最好;
- 把所有分数取平均,得到每个系统的 MOS。
题面决定了这个分数的含义。“自然度”(听起来像不像真人)、“可懂度”(能不能听清内容)、“音质”(有没有杂音和失真)是三件不同的事。同一批音频,问法换了,排序也可能跟着换。所以报告 MOS 时必须写清听众被要求评什么。
为什么这件事非用人不可?因为语音”像机器”的那些毛病——韵律平、该停不停、听感发闷、语气与内容打架——大多发生在感知层面,机器指标很难直接量化。详见语音合成为什么听起来像机器。
还要注意,MOS 只评听感。合成速度、首包延迟这类工程指标不在它的评价范围内,那是另一套账,见流式合成与首包延迟。
最核心的一点:MOS 是相对值,不是绝对值
这是关于 MOS 最重要、也最容易被误读的一句话。
人的心里没有”4 分的绝对听感”这种东西。 听众打分靠的是对比校准:听完前几条,心里先建立一个大致的参照系,后面的样本再往这个尺子上放。有对比才有高低。
由此带来一个直接后果:同一条音频,放进一批整体较差的样本里,容易得高分;放进一批整体很好的样本里,可能得低分。 音频没变,分数变了,变的是它周围的邻居。
除了样本组成,还有一串条件会同时改变分数刻度:
| 变量 | 怎么影响分数 |
|---|---|
| 听众群体 | 从业者听得出细节、要求苛刻;普通用户更宽松 |
| 听音设备 | 手机外放、廉价耳机、监听耳机能听出的瑕疵完全不同 |
| 测试语料 | 短句朗读比长段落、专名密集文本容易得高分 |
| 题面措辞 | 问”自然度”和问”你愿不愿意听完”,答案不一样 |
| 批次与时间 | 不同轮次的听众打分习惯本身就有偏移 |
所以,不同论文、不同报告之间的 MOS 不能横向对比。 看到两篇文章各报一个 MOS 就把它们排个名次,这个比较从一开始就不成立——两把尺子的刻度不一样,谁也不知道差多少。
MOS 唯一可靠的用法是:在同一次测试内部,比较同时参评的几个系统。 出了这次测试的边界,数字就失去了参照。
识别侧有完全同构的问题,同样是”数字看着好、场景一换就崩”,机制可以对照着读:识别准确率被高估的三种常见情况。
CMOS 和 SMOS:什么时候该换一把尺子
MOS 有两个常用变体,各自补上了绝对打分的短板。
| 打法 | 输出 | 适合的场景 | |
|---|---|---|---|
| MOS | 逐条听、给绝对分 | 1-5 的平均分 | 系统之间差距明显,需要一个总体水平判断 |
| CMOS | 两两对比,给偏好差值 | 带正负号的偏好量,正表示 A 好、负表示 B 好 | 两个系统差距很小 |
| SMOS | 听参考音频和合成音频,评相似度 | 相似度评分 | 评价克隆出的音色像不像本人 |
CMOS 的价值在于灵敏度。 当两个系统已经很接近时,让听众各打一个绝对分,往往两边都落在差不多的位置,真实差异被打分噪声淹没,看不出来。而把两条音频放在一起直接问”哪个更好、好多少”,人的判断能力要强得多——人擅长比较,不擅长估值。所以做小步迭代、验证一次改动是否有收益时,CMOS 通常比 MOS 更合适。
SMOS 评的是另一个维度:不是好不好听,而是像不像。合成音听着很自然但音色跟目标人对不上,自然度分可以很高、相似度分依然很低。做声音克隆必须两个分一起看,机制见声音克隆是怎么做到的。
做一次可信的 MOS 测试:操作清单
主观评测最怕的不是分数难看,而是分数不可信。下面这套流程逐条都对应一个真实会犯的错。
- 先定题面。 明确评什么、量表每一档的语言描述是什么,并把这段说明原样写进报告。
- 语料要有代表性。 别只挑短句和好读的句子。把长段落、数字、专名、中英混排都放进去,这些恰恰是前端最容易出错的地方,见三段流水线。
- 听众要够多。 人少时,个别人的打分习惯就能左右整体均值。
- 随机化呈现顺序。 每个听众看到的样本顺序都要独立打乱。固定顺序会引入顺序效应——排在前面的样本承担了”建立参照系”的角色,处境和后面的不一样。
- 不要告诉听众样本来自哪个系统。 知道来源就会带预期。
- 加入锚点样本。 这条最容易被省掉,也最关键,下面单独说。
- 剔除不认真的听众。 典型信号:整份问卷打同一个分、答题时间短到不可能听完、锚点打反。剔除规则要事先定好并写进报告,不能看完结果再挑。
- 统一听音条件。 耳机型号、音量、环境噪声尽量一致;做不到统一,至少要记录下来并在报告里说明。
- 条件随分数一起公布。 听众人数与构成、语料来源、设备、剔除规则——缺了这些,分数无法被别人正确解读。
锚点样本为什么是必需品
锚点是一组已知好、已知差的参考音频,混在待评样本里一起打分。 好锚点通常用真人录音,差锚点用明显带瑕疵的音频。
它解决的是尺度问题。没有锚点,你根本不知道这批听众的尺子是松还是紧。 有人再好也不给满分,有人听着顺就顶格打。只看待评系统的分数,无从分辨”分数低”是系统差还是这批人严格。
锚点提供了参照系,作用有三个:
- 校准尺度——看锚点落在哪,就知道这批听众整体偏松还是偏紧;
- 跨批次对齐——不同轮次用同一组锚点,才有机会把两次结果放在一起看;
- 验数据质量——如果好锚点没显著高于差锚点,说明这批数据本身有问题,待评系统的分数一概不能用。
主观评测很贵,所以不能天天做
MOS 的成本是实打实的:要招人、要组织、要控制听音条件、要清洗数据,跑一轮的周期远长于跑一次训练。这决定了它不可能进日常迭代的循环。
实际做法是分层的:
- 日常迭代用客观指标做回归筛查,卡住明显的退化;
- 关键节点——版本定稿、方案选型、对外发布前——才组织一次正式的主观评测。
客观指标便宜、可自动化、能天天跑,但它们衡量的东西各有边界,没有哪一个能完全替代人耳。哪些客观指标测什么、边界在哪,见语音合成的客观指标。
常见问题
问:听众应该找专业人士还是普通用户?
看你要回答什么问题。要发现细微瑕疵,从业者更敏感;要预判上线后的口碑,普通用户更贴近真实。两类人的绝对分不可混用,关键是全程只用一类,并在报告里写明。
问:我们团队自己的 MOS 能跨时间对比历史成绩吗?
默认不能,除非从一开始就固定了锚点、语料和题面。哪怕是同一个团队,隔了半年、换了一批听众,两个数字之间的差可能全部来自尺度漂移。想要可比,就得让锚点一路不变。
问:只有很少人手,还能做有意义的评测吗?
能,但要换方法。人手不足时,与其勉强做一次听众不够的 MOS,不如做 CMOS 式的两两对比:只问”A 和 B 哪个更好”,判断更稳、所需样本量更小,也更贴合”这次改动有没有收益”这个实际问题。同时务必保留锚点和随机化,这两条省不得。
相关阅读
MOS 的正确读法只有一句:它是一次测试内部的相对排序,不是这个系统的绝对水平。 带着条件一起看,它很有用;脱离条件单看一个数,它什么也说明不了。
本文讲的是语音合成主观评测的通用方法,不针对任何具体系统、团队或评测报告。 文中不给任何 MOS 分数,因为脱离测试批次、听众群体、语料与听音条件的 MOS 不具备可比性。 我们没有对任何方案做过实测,请以你自己组织的评测结果为准。