音频评估指标:WER、MOS、UTMOS、MMAU、FAD 与公开排行榜 本节摘要:你无法上线你无法度量的东西。本节命名 2026 年每个音频任务的指标:ASR(WER、CER、RTFx)、TTS(MOS、UTMOS、SECS、经 ASR 往返的 WER)、音频语言模型(MMAU、LongAudioBench)、音乐(FAD、CLAP)、说话人(EER),以及你用来对比的排行榜。每个音频任务都有多个指标,各测一个不同轴;用错指标,就是你上线一个「在仪表盘上看着很好、在生产里很糟」的模型的根源。本节会把全章散落各处的指标收拢成一张可查询的速查表,讲透每个指标的公式、适用场景、典型数值与坑——何时用主观(MOS 评分小组),何时用客观(UTMOS、FAD),何时两者必须并存。
本节摘要:你无法上线你无法度量的东西。本节命名 2026 年每个音频任务的指标:ASR(WER、CER、RTFx)、TTS(MOS、UTMOS、SECS、经 ASR 往返的 WER)、音频语言模型(MMAU、LongAudioBench)、音乐(FAD、CLAP)、说话人(EER),以及你用来对比的排行榜。每个音频任务都有多个指标,各测一个不同轴;用错指标,就是你上线一个「在仪表盘上看着很好、在生产里很糟」的模型的根源。本节会把全章散落各处的指标收拢成一张可查询的速查表,讲透每个指标的公式、适用场景、典型数值与坑——何时用主观(MOS 评分小组),何时用客观(UTMOS、FAD),何时两者必须并存。读完本节,你能为任意音频模型发布选择指标、基准与汇报格式,并掌握「评分前先归一化」「汇报分布而非均值」「至少跑一个公开基准」三条铁律。
阅读完本节,你应当能够:
每个音频任务都有多个指标,各测一个不同轴。用错指标,就是你上线一个「在仪表盘上看着很好、在生产里很糟」的模型的根源。2026 年的权威清单:
| 任务 | 主指标 | 次指标 |
|---|---|---|
| ASR | WER | CER · RTFx · 首 token 延迟 |
| TTS | MOS / UTMOS | SECS · 经 ASR 往返 WER · CER · TTFA |
| 语音克隆 | SECS(ECAPA 余弦) | MOS · CER |
| 说话人验证 | EER | minDCF · 工作点的 FAR / FRR |
| 分离 | DER | JER · 说话人混淆 |
| 音频分类 | top-1 · mAP | 宏 F1 · 每类召回 |
| 音乐生成 | FAD | CLAP · 听听小组 MOS |
| 音频语言模型 | MMAU-Pro | LongAudioBench · AudioCaps FENSE |
| 流式 S2S | 延迟 P50/P95 | WER · MOS |
WER(词错率):(S + D + I) / N。评分前小写、去标点、归一化数字。用 jiwer 或 OpenAI 的 whisper_normalizer。<5% = 朗读语音的人类水平。
CER(字符错率):同公式,字符级。用于声调语言(普通话、粤语),那里分词有歧义。
RTFx(逆实时因子):每墙上时钟秒处理的音频秒数。越高越好。Parakeet-TDT 达 3380×。Whisper-large-v3 约 30×。
首 token 延迟:从音频输入到首个转录 token 的墙上时钟。对流式至关重要。Deepgram Nova-3:约 150 毫秒。
MOS(平均意见分):1~5 人工评分。金标准但慢。每样本收集 20+ 听众,每模型 100+ 样本。
UTMOS(2022-2026):学出来的 MOS 预测器。在标准基准上与人类 MOS 相关约 0.9。F5-TTS:UTMOS 3.95;真值:4.08。
SECS(说话人编码器余弦相似度):用于语音克隆。参考与克隆输出的 ECAPA 嵌入余弦。>0.75 = 可识别的克隆。
经 ASR 往返 WER:对 TTS 输出跑 Whisper,对输入文本算 WER。抓可懂度回退。2026 SOTA:<2% CER。
TTFA(首音频时间):墙上时钟延迟。Kokoro-82M:约 100 毫秒;F5-TTS:约 1 秒。
SECS + MOS + CER 三件套。高 SECS 低 MOS = 音色对但不自然;反之 = 自然但说话人错。
EER(等错误率):错误接受率等于错误拒绝率的阈值。ECAPA 在 VoxCeleb1-O:0.87%。
minDCF(最小检测代价):选定工作点(常 FAR=0.01)的加权代价。比 EER 更贴近生产。
DER(分离错误率):(FA + Miss + Confusion) / total_speaker_time。漏语音 + 误报语音 + 说话人混淆,各占比例。AMI 会议:DER 约 10~20% 现实。pyannote 3.1 + Precision-2 商业:在录音良好的音频上 <10% DER。
JER(Jaccard 错误率):DER 的替代,对短段偏差鲁棒。
多标签:所有类别上的 mAP(平均精度均值)。AudioSet:BEATs-iter3 0.548 mAP。
多分类互斥:top-1、top-5 准确率。Speech Commands v2:99.0% top-1(Audio-MAE)。
失衡:宏 F1 + 每类召回。按类汇报——汇总准确率会掩盖哪些类失败。
FAD(Fréchet 音频距离):真实与生成音频的 VGGish 嵌入分布距离。MusicGen-small 在 MusicCaps:4.5。MusicLM:4.0。越低越好。
CLAP 分数:用 CLAP 嵌入的文本-音频对齐分数。>0.3 = 合理对齐。
听听小组 MOS:消费级音乐的最终裁决。Suno v5 在 TTS Arena 上 ELO 1293(来自成对人类偏好)。
MMAU(大规模多音频理解):1 万个音频-QA 对。
MMAU-Pro:1800 个难题,四类:语音 / 声音 / 音乐 / 多音频。4 选 1 随机猜 25%。Gemini 2.5 Pro 总体约 60%;多音频在所有模型上约 22%。
LongAudioBench:多分钟片段 + 语义查询。Audio Flamingo Next 击败 Gemini 2.5 Pro。
AudioCaps / Clotho:描述基准。SPICE、CIDEr、FENSE 指标。
延迟 P50 / P95 / P99:从用户话尾到首个可听响应的墙上时钟。Moshi:200 毫秒;GPT-4o Realtime:300 毫秒。
输出上的 WER / MOS。
抢话响应性:从用户打断到助手静音的时间。目标 <150 毫秒。
💡 主观与客观不是二选一,而是必须并存。UTMOS 与人类 MOS 相关约 0.9,意味着仍有 10% 的方差它解释不了——而那 10% 往往就是「这个克隆听起来像不像真人」的关键差异。所以快速迭代时用 UTMOS 省钱,但任何要上线的决策必须用人类 MOS 小组背书。
| 排行榜 | 跟踪 | URL |
|---|---|---|
| Open ASR Leaderboard(HF) | 英语 + 多语种 + 长音频 | huggingface.co/spaces/hf-audio/open_asr_leaderboard |
| TTS Arena(HF) | 英语 TTS | huggingface.co/spaces/TTS-AGI/TTS-Arena |
| Artificial Analysis Speech | TTS + STT,成对投票 ELO | artificialanalysis.ai/speech |
| MMAU-Pro | LALM 推理 | mmaubenchmark.github.io |
| SpeakerBench / VoxSRC | 说话人识别 | voxsrc.github.io |
| MMAU 音乐子集 | 音乐 LALM | (MMAU 内) |
| HEAR benchmark | 自监督音频 | hearbenchmark.com |
from jiwer import wer, Compose, ToLowerCase, RemovePunctuation, Strip transform = Compose([ToLowerCase(), RemovePunctuation(), Strip()]) score = wer( truth="Please turn on the lights.", hypothesis="please turn on the light", truth_transform=transform, hypothesis_transform=transform, ) # ~0.17
def ttr_wer(tts_model, asr_model, texts): errors = [] for txt in texts: audio = tts_model.synthesize(txt) recog = asr_model.transcribe(audio) errors.append(wer(truth=txt, hypothesis=recog)) return sum(errors) / len(errors)
from speechbrain.inference.speaker import EncoderClassifier sv = EncoderClassifier.from_hparams("speechbrain/spkrec-ecapa-voxceleb") emb_ref = sv.encode_batch(load_wav("reference.wav")) emb_clone = sv.encode_batch(load_wav("cloned.wav")) secs = torch.nn.functional.cosine_similarity(emb_ref, emb_clone, dim=-1).item()
from frechet_audio_distance import FrechetAudioDistance fad = FrechetAudioDistance() score = fad.get_fad_score("generated_folder/", "reference_folder/")
def eer(same_scores, diff_scores): thresholds = sorted(set(same_scores + diff_scores)) best = (1.0, 0.0) for t in thresholds: far = sum(1 for s in diff_scores if s >= t) / len(diff_scores) frr = sum(1 for s in same_scores if s < t) / len(same_scores) if abs(far - frr) < best[0]: best = (abs(far - frr), (far + frr) / 2) return best[1]
设计要点:这五个指标覆盖了音频评估的五大轴——可懂度(WER)、自然度(MOS/UTMOS)、保真度(SECS)、分布相似度(FAD)、判别力(EER)。任何音频模型发布都应从这五轴里挑出与本任务相关的,组成一个固定评估挽具,在每次模型更新时跑一遍。这是把「感觉变好」变成「可复现地变好」的唯一途径。
为每次部署配一个固定评估挽具,在每次模型更新时跑。三条铁律:
⚠️ 五类坑:① UTMOS 外推——在 VCTK 风格干净语音上训,对噪声/克隆/情感音频评分很差;② MOS 小组偏差——20 个 Mechanical Turk 工人 ≠ 20 个目标用户, stakes 高时花钱请域内小组;③ FAD 依赖参考集——跨模型对比要用同一参考分布;④ 汇总 WER——整体 5% WER 可能掩盖带口音语音上 30% 的 WER,要按人口切片汇报;⑤ 公开基准饱和——多数前沿模型在标准基准上已接近天花板,要建一个反映你流量的内部留出集。
本节产出技能文档(原课程 outputs/skill-audio-evaluator.md),为任意音频模型发布选择指标、基准、汇报格式。模板:
| 任务 | 主指标(必跑) | 次指标(建议) | 公开基准 |
|---|---|---|---|
| ASR | WER(归一化) | CER · RTFx · 首 token 延迟 | Open ASR Leaderboard |
| TTS | UTMOS + 人类 MOS | SECS · 往返 WER · TTFA | TTS Arena |
| 克隆 | SECS + MOS + CER | — | (内部留出集) |
| 说话人 | EER | minDCF · 工作点 FAR/FRR | VoxSRC |
| 分离 | DER | JER · 说话人混淆 | (AMI 内部) |
| 分类 | top-1 或 mAP | 宏 F1 · 每类召回 | HEAR |
| 音乐 | FAD + ELO | CLAP | (内部 + TTS Arena) |
| LALM | MMAU-Pro(分类别) | LongAudioBench | MMAU-Pro |
| 流式 S2S | 延迟 P50/P95 + 抢话响应 | WER · MOS | (内部) |
基础:运行 code/main.py。在玩具输入上算 WER / CER / EER / SECS / FAD 近似 / MMAU 近似。
进阶:搭一个 TTS 往返 WER 挽具。把你的 Kokoro 或 F5-TTS 输出跑过 Whisper,对 50 条提示算 WER,标出 WER >10% 的提示。
挑战:在第 10 节选的 LALM 上,对 MMAU-Pro 语音 + 多音频子集(各 50 条)评分,按类别汇报准确率,与公开数字对比。
至此,第 7 章「语音与音频」17 节全部完成。从最底层的波形与采样,一路走到全双工对话模型与反欺诈水印,你已掌握让机器听懂声音、说出声音、辨别声音、守护声音的完整工程图谱。下一章,我们将进入新的感知通道。