← 返回文章

测了 11 个中文语音识别模型:识别最准,也可能漏掉念错的字

我听辨标注了 168 段中文合成播客音频,用它们比较 11 个开放的语音识别模型。Qwen3-ASR-1.7B 的字符错误率最低,但准确率高的模型有时会把念错的内容自动纠正,反而掩盖发音问题。这次测试让我决定更换第二遍检查模型,同时保留人工听辨。

我会用语音识别检查每一期中文播客。这次测试让我量化了一个盲点:识别模型把文字写对了,并不代表合成语音把它念对了。

在我确认音频正确的片段上,11 个模型中表现最好的是 Qwen3-ASR-1.7B,字符错误率约为 1/40;目前用于第二遍检查的模型,约为 1/7。前者更准,但准确率高的模型也会悄悄“修正”合成语音的错误读音,让本该被检查出来的问题消失在转写文本里。

我的播客由文本转语音引擎配音。每期音频先经过两遍自动语音识别(ASR),再由语言模型将转写文本与脚本比较;有疑问的地方切成短音频,交给我听辨。两周里,我一共标注了 168 段,其中 141 段没有发现问题,27 段有缺陷。剔除不适合主分析的早期片段后,用于准确率比较的是 136 段确认正确的音频。

这些数据来自实际播客制作:既有经听辨核对的参考文本,也有我确实听到的错误,可以同时检验“转写准不准”和“能不能发现配音缺陷”。

转写准确率,差距很明显

在这 136 段正确音频上,最好模型的字符错误率约为 2.4%,我当前的第二遍检查模型则为 14.3%。

136 段正确音频上的字符错误率:Qwen3-ASR-1.7B 2.4%、Qwen3-ASR-0.6B 2.8%、FireRedASR2-AED 2.9%、Fun-ASR-Nano 3.0%、Paraformer 4.4%、SenseVoice-Small 4.4%、Whisper-large-v3 7.1%、Belle-Whisper-turbo-zh 7.3%、Cohere Transcribe 8.2%、Zipformer-large 13.8%、Zipformer-middle 14.3%
fig 01 136 段正确音频上的字符错误率:Qwen3-ASR-1.7B 2.4%、Qwen3-ASR-0.6B 2.8%、FireRedASR2-AED 2.9%、Fun-ASR-Nano 3.0%、Paraformer 4.4%、SenseVoice-Small 4.4%、Whisper-large-v3 7.1%、Belle-Whisper-turbo-zh 7.3%、Cohere Transcribe 8.2%、Zipformer-large 13.8%、Zipformer-middle 14.3%
模型 字符错误率 统一数字写法后的字符错误率 被误报的正确片段数(共 136 段)
Qwen3-ASR-1.7B 2.4% 2.1% 1
Qwen3-ASR-0.6B 2.8% 2.7% 1
FireRedASR2-AED 2.9% 2.9% 4
Fun-ASR-Nano 3.0% 2.9% 5
Paraformer(当前第一遍) 4.4% 4.3% 3
SenseVoice-Small 4.4% 4.3% 5
Whisper-large-v3 7.1% 3.8% 13
Belle-Whisper-turbo-zh 7.3% 7.5% 10
Cohere Transcribe 8.2% 5.1% 15
Zipformer-large 13.8% 13.4% 29
Zipformer-middle(当前第二遍) 14.3% 14.0% 33

表中的 Belle-Whisper-turbo-zh,是本次测试的 Belle-Whisper-large-v3-turbo-zh 的简称。

前四个模型都优于当前第一遍使用的 Paraformer,这个差距在重采样分析中仍然成立。Whisper-large-v3 和 Cohere Transcribe 的错误率,主要受到数字写法的影响:将“V3”和“V三”视为相同内容后,Whisper 的错误率接近减半。

我当前第二遍用的是小型 Zipformer。正确音频中的 84 个英文术语,它漏掉了 80 个,还会把“Attention”写成近似读音的汉字。

字写对了,可能恰好掩盖了缺陷

不同模型能发现的缺陷:部分准确率较高的模型将错误读音写成正确文字,更贴近声音的转写则暴露了问题
fig 02 不同模型能发现的缺陷:部分准确率较高的模型将错误读音写成正确文字,更贴近声音的转写则暴露了问题

合成语音曾把“省”念成“xing”,而不是“sheng”。Qwen3-ASR-1.7B 和 FireRedASR2-AED 都写出了正确的“省”,于是转写与脚本一致,读音错误没有显现。另一次,音频把“AutoML”念成了“Auto-L”,FireRed 和 Qwen3-ASR-0.6B 仍然写成“AutoML”。

Cohere Transcribe 则写出了“Altomel”,并将念错的“省”写成“行”,反而暴露了实际读音。

做质量检查时,至少需要有一遍识别能保留声音里的偏差。识别器内部较强的语言模型有利于生成可读字幕,却也可能把配音检查需要发现的错误纠正掉。

换掉第二遍检查,能减少多少无效听辨

在这批数据上,将第二遍模型换成 Qwen3-ASR-1.7B,检出的缺陷数不变,需要我复听的误报位置却减少了一半以上。

当前组合与候选组合的比较:当前组合和 Paraformer + Qwen3-ASR-1.7B 都检出 10 处缺陷中的 8 处;后者将送交复听的正确位置从 36 处减到 14 处
fig 03 当前组合与候选组合的比较:当前组合和 Paraformer + Qwen3-ASR-1.7B 都检出 10 处缺陷中的 8 处;后者将送交复听的正确位置从 36 处减到 14 处

现有流程会在两种情况下把一个位置交给我:两遍识别都与脚本不一致;或者其中一遍显示含义改变、多音字读音不同。我按这套规则对 11 个模型的全部 55 种两两组合进行了评估。这里是对生产分流规则的近似评估,尚不能当作更换模型后的线上实测结果。

组合 检出的缺陷位置(共 10 处) 送交复听的正确位置(共检查 218 处) 被误报的正确片段(共 136 段)
Paraformer + Zipformer-middle(当前) 8 36 33
Paraformer + Qwen3-ASR-1.7B(准备采用) 8 14 3
Qwen3-ASR-0.6B + Qwen3-ASR-1.7B 8 11 1
Qwen3-ASR-1.7B + Cohere Transcribe 9 12 15
Whisper-large-v3 + Qwen3-ASR-1.7B 9 13 13

新旧组合都检出 8 处,但并非同样的 8 处:新组合漏掉了旧模型能发现的一处“调”字误读,却发现了旧模型漏掉的“Llama”错误发音。

另有两种组合检出 9 处。不过,缺陷样本只有 10 处,多检出一处还不足以让我认定它们更好。更换现有第二遍模型的依据,不依赖这 10 处缺陷的小样本;它主要来自 136 段正确音频上的大量误报。

哪些问题仍然需要耳朵判断

按转写可见性分类:5 处词语错误或遗漏、2 处读音错误且对应不同汉字的问题可以显现;3 处同字异音问题很少显现;9 处停顿或疑问句语调平淡的问题不体现在普通转写中;另有 6 处是脚本文字问题
fig 04 按转写可见性分类:5 处词语错误或遗漏、2 处读音错误且对应不同汉字的问题可以显现;3 处同字异音问题很少显现;9 处停顿或疑问句语调平淡的问题不体现在普通转写中;另有 6 处是脚本文字问题

去掉重复记录后,共有 19 处音频缺陷、6 处脚本文字问题。19 处音频缺陷中,只有 7 处会可靠地改变转写文本:5 处词语错误或遗漏,2 处读音错误且对应不同汉字的问题。其余包括 9 处停顿或疑问句语调平淡的问题,以及 3 处字写对了、读法却不对的问题。

前面模型组合比较的 10 处缺陷,取自这 7 处词语或不同汉字的读音问题,加上 3 处同字异音问题;它们不包含那 9 处停顿和语气问题。

普通转写文本不能可靠地呈现这些停顿、语气和同字异音问题,因此人工听辨还要保留。接下来我准备:

  • 将第二遍模型换成 Qwen3-ASR-1.7B。
  • 继续亲自检查语气、停顿和多音字。
  • 继续标注,新增至少 30 处词级缺陷后,重新比较检出 8 处与 9 处的组合。

为质量检查选择识别器,要看它能暴露哪些问题。转写排行榜上的分数,只回答了其中一个问题。

测试方法与边界

  • 数据集: 168 段中文播客音频,约 25 分钟,均由我听辨。确认正确的片段,以脚本文字作为参考转写。最早一个审听页面里的音频截得比卡片文本长,该批 13 段不纳入主分析;其中有 5 段原本标为正确,因此准确率比较使用 141−5=136 段正确音频。27 条原始缺陷记录去掉两条重复后,得到上文的 19 处音频缺陷和 6 处脚本文字问题。
  • 评分: 先使用与生产检查器相同的文本规范化方式,再计算字符错误率;另算拼音层面的错误率,不将“它/他”这类同音字差异算作声音错误。置信区间通过对音频片段重采样获得。
  • 限制: 音频来自两个合成声音,不是真人语音,模型排名未必适用于真人录音。组合的缺陷检出结果只基于 10 个位置。其中一次 Cohere Transcribe 转写漏掉了片段中的大部分内容。
  • 测试模型: Qwen3-ASR-1.7B 和 0.6B、FireRedASR2-AED、Paraformer、Cohere Transcribe,以及 Fun-ASR-Nano、SenseVoice-Small、Whisper-large-v3、Belle-Whisper-large-v3-turbo-zh 和两个 WenetSpeech Zipformer 模型。