FunASR vs faster-whisper:中文与粤语语音识别实测对比
faster-whisper 是目前最流行的 Whisper 加速实现(CTranslate2),英语和通用多语种都很强。但在中文、尤其是粤语和方言上,它有明显短板。下面是同样三段音频上 faster-whisper(small)和 FunASR SenseVoice 的逐句实测对比。
实测对比(同样音频,逐字结果)
| 音频 | faster-whisper (small) | FunASR SenseVoice |
|---|---|---|
| 普通话 | 开放时间早上九点至下午五点。 | 开放时间早上9点至下午5点。 |
| 粤语 | 语言误判为 zh; 這幾個字都表達不到我想講的意思 | 正确识别 yue;呢几个字都表达唔到,我想讲嘅意思 |
| 日语 | うちの中学は弁当性で… | うちの中学は弁当制で… |
三个关键差异:
- 粤语:faster-whisper 把它当普通话处理——语言检测成
zh,并把口语粤语转写成普通话书面语(丢掉呢 / 唔到 / 嘅这些粤语特征字)。SenseVoice 原生支持粤语,正确识别yue并保留粤语原貌。 - 日语同音字错:faster-whisper 把「弁当制」听成「弁当性」(同音误识),SenseVoice 正确。
- 普通话简单句两者都对——差异主要在难样本、方言、专名上显现。
整体准确率(184 段中文)
同机 CPU、字符级 CER(越低越准):FunASR SenseVoice 8.0% / Paraformer 9.9% / Fun-ASR-Nano 8.3%;Whisper 系(small/base/large-v3-turbo)约 22–31%。中文上 FunASR 的 CER 低约 2.7 倍,原因=大规模中文训练数据 + 非自回归架构(更快)。完整方法学见 BENCHMARKS.md。
FunASR 还多给你什么
- 语种识别:zh / en / yue(粤语)/ ja / ko 自动判别(faster-whisper 把粤语判成 zh)
- 情感 + 音频事件:HAPPY/SAD/ANGRY、BGM/掌声/笑声(详见)
- 非自回归更快:SenseVoice/Paraformer 一次前向,CPU 上 ~20× 实时
- 端侧:还有 llama.cpp/GGUF 运行时,单二进制零 Python 跑
该用哪个?
诚实地说:faster-whisper 在英语、通用 99 语种、翻译任务上依然很强,生态也成熟。但如果你的场景是中文、粤语、方言,或需要情感/事件/语种信息,FunASR 更准也更全。两者都开源、都能本地跑。
3 行试 FunASR
pip install funasr from funasr import AutoModel m = AutoModel(model="iic/SenseVoiceSmall") print(m.generate(input="audio.wav", language="auto", use_itn=True)[0]["text"])
FunASR 全家桶开源——ASR / VAD / 标点 / 说话人 / 情感事件 / LLM-ASR / llama.cpp 端侧。觉得有用点个 Star 👇
也欢迎 Star:SenseVoice · Fun-ASR · FunClip