article
端侧语音转文字模型怎么选:FunASR、Whisper、Vosk、小米 MiMo 和一堆开源 ASR 的真实对比
从模型大小、流式能力、语种覆盖和手机端可行性出发,比较 FunASR、sherpa、Vosk、Whisper、小米 MiMo、PaddleSpeech、WeNet、MiniMind/MiniCPM-o 等开源 ASR 方案。
把语音转文字塞进手机里,真正要看的不是跑分,是包体、流式和发热
昨晚我重新把这一批开源 ASR 项目翻了一遍。FunASR 很热,小米 MiMo 也出来了,MiniMind / MiniCPM-o 这种语音多模态项目也容易让人心动。可如果目标是做一个普通用户能下载、低端安卓机也不至于崩的离线功能,筛选标准一下子就变得很朴素:模型别太大,最好能流式,语言够用,运行时别把 App 拖死。
我这次按端侧产品的口径查了一轮:官方仓库、ModelScope、Hugging Face、模型文件大小、移动端运行时。下面不是学术排名,而是产品选型笔记。
先把结论放前面
- 最适合端侧落地的路线:sherpa-onnx / sherpa-ncnn 加小型流式模型。它不是一个单独模型,而是一套移动端 ASR 运行时,Android、iOS、HarmonyOS、WebAssembly 都有现成路径。
- 中文离线 ASR 的优先候选:FunASR 里的 Paraformer 流式模型、SenseVoiceSmall ONNX 量化版。前者更像正经 ASR,后者附带语种、情绪、音频事件能力。
- 低包体、真流式、上手机最稳:Vosk small 模型。中文小模型约 42 MB,英文小模型约 39 MB。效果不是最强,但工程风险低。
- Whisper 路线:别用原版 Python/PyTorch 硬塞手机。要走 whisper.cpp。tiny/base/small 可考虑;medium 以上基本别想。
- 小米 MiMo-V2.5-ASR:开源,但权重约 32 GB。它更像研究/服务器模型,不是手机端 ASR 候选。
- MiniMind-3o、MiniCPM-o:它们更接近语音多模态助手,不是专门的轻量语音转文字引擎。拿来做 App 内 ASR 主链路,不划算。
一条硬线:500 MB 以下才值得继续谈手机端
对离线 App 来说,500 MB 是一个很现实的分水岭。不是说 700 MB、1 GB 不能跑,而是下载转化、安装包、首次启动、内存峰值、低端机发热都会一起找上门。HyTranslate 之前把端侧模型控制在 500 MB 以内,这个标准放到 ASR 上同样适用。
按这个标准筛,能认真进入手机端候选名单的其实没那么多。
逐个看:哪些能放手机,哪些只是看起来诱人
1. FunASR / SenseVoice / Paraformer:中文产品最该先试的一组
- 开源情况:开源,FunASR 是 ModelScope/FunAudioLLM 生态里的主项目。
- 流式:Paraformer 有 streaming 版本;FunASR 服务端也支持在线/离线模式。SenseVoiceSmall 本身更偏非流式,可配合 VAD 分段。
- 语言:SenseVoiceSmall 支持中文、英文、日文、韩文、粤语;Fun-ASR-Nano 标称 31 种语言;FunASR README 里还把生态能力写到 50+ 语言。
- 模型大小:SenseVoiceSmall PyTorch 约 893 MiB;SenseVoiceSmall 量化 ONNX 约 230 MiB。Paraformer 量化 ONNX 约 227 MiB;Paraformer PyTorch 约 840 MiB。VAD ONNX 只有约 0.5 MiB,CAM++ 说话人模型约 27 MiB。
- 手机端判断:用 PyTorch 原模型不合适;用 ONNX/int8 后很有机会。中文、粤语、日英韩混合场景,SenseVoiceSmall 值得先测。纯中文实时转写,Paraformer streaming 更干净。
2. sherpa-onnx / sherpa-ncnn:不是大厂模型,但像是给手机端干活的
- 开源情况:开源,来自 k2-fsa 生态。
- 流式:支持真正的流式和非流式 ASR。
- 语言:看具体模型,覆盖中文、英文、日文、韩文、粤语,以及 Whisper、Paraformer、SenseVoice、Zipformer 等多种模型家族。
- 模型大小:Zipformer small 英文 int8 组件合计大约 26 MB 级;中文 streaming Zipformer small CTC int8 约 25 MB;Paraformer int8 ONNX 约 213 MB。
- 手机端判断:这是我会优先拿来做端侧验证的运行时。它已经把 Android、iOS、HarmonyOS、WebAssembly、C++、Kotlin、Swift 这些工程接口铺好了,比自己从 PyTorch 模型开始啃要稳得多。
3. Vosk:小、老派、能跑
- 开源情况:开源,基于 Kaldi 路线。
- 流式:支持流式,官方就主打 zero-latency response。
- 语言:官方模型覆盖 20 多种语言,包括中文、英文、德语、法语、西语、俄语、日语、印地语等。
- 模型大小:vosk-model-small-cn-0.22 约 41.9 MiB;vosk-model-small-en-us-0.15 约 39.3 MiB。小模型运行内存通常在数百 MB 级。
- 手机端判断:如果业务不是追求最强识别率,而是要快速上线一个稳定离线语音输入,Vosk 很实在。缺点也明显:开放域、口音、嘈杂场景下,效果通常不如新一代端到端模型。
4. Whisper / whisper.cpp:质量好,但要控制体型
- 开源情况:OpenAI Whisper 开源,移动端通常用 whisper.cpp。
- 流式:原生不是严格流式,通常是 30 秒窗口或分块伪流式。whisper.cpp 有连续麦克风转写示例,但本质仍不是因果流式模型。
- 语言:多语言版本覆盖很多语种;也有英文专用 .en 模型。
- 模型大小:whisper.cpp 的 ggml tiny 约 74 MiB,base 约 141 MiB,small 约 465 MiB,medium 约 1.46 GiB。OpenAI safetensors small 已接近 922 MiB。
- 手机端判断:tiny/base 可以认真试,small 已经顶到 500 MB 线附近,medium 以上基本转去桌面/服务器。它适合“离线转写质量要尽量稳”的场景,不适合低延迟语音输入框。
5. Distil-Whisper:英文场景的折中方案
- 开源情况:Hugging Face 开源。
- 流式:不是原生真流式,更多是 chunked/sequential 推理。
- 语言:官方重点是英文。
- 模型大小:distil-small.en 的 ggml 文件约 336 MB;distil-large-v3 safetensors 约 1.51 GB。
- 手机端判断:如果只做英文,distil-small.en 是能进候选名单的;多语言产品就别把它当主力。
6. WeNet:认真做 ASR 的工程团队可以看
- 开源情况:开源,Apache-2.0。
- 流式:支持流式和非流式,偏生产级 E2E ASR 工具链。
- 语言:中文、英文等,具体看预训练模型。
- 模型大小:因模型不同差异很大,官方有预训练模型和 runtime 包,但不如 Vosk/sherpa 那样一眼能拿来做 App。
- 手机端判断:可信,但工程成本比 sherpa 高。适合有 ASR 工程经验的团队,不适合想一周内塞进 App 的产品。
7. Baidu PaddleSpeech:模型多,移动端不是最顺手
- 开源情况:开源,Apache-2.0。
- 流式:支持流式 ASR,也有 C++ streaming 部署路径。
- 语言:中文、英文模型都有。
- 模型大小:AISHELL Conformer 约 182 MiB;chunk Conformer AISHELL 约 178 MiB;WenetSpeech Conformer 约 456 MiB;部分 DeepSpeech2 模型超过 650 MiB 到 1.3 GiB。
- 手机端判断:模型大小有些是合适的,但端侧 App 资料和落地路径没有 sherpa 直接。可以作为中文模型备选,不建议第一优先。
8. Xiaomi MiMo-V2.5-ASR:很强,但不是手机包体
- 开源情况:小米开源,MIT。
- 流式:没有看到清晰的实时流式 ASR API 说明,更像上传/录音片段识别。
- 语言:中文、英文、粤语,并强调方言、代码切换、歌曲、噪声、多说话人。
- 模型大小:Hugging Face safetensors 总量约 32 GB。
- 手机端判断:直接排除。它适合研究、服务器、效果对比,不适合做离线手机 App 内置模型。
9. Tencent 相关:有基础设施和预训练模型,但少一个“拿来就用”的端侧 ASR 包
- 开源情况:Tencent ncnn 是优秀移动推理框架;TencentGameMate 有中文 wav2vec2/HuBERT 预训练项目。
- 流式:ncnn 是推理框架,不是 ASR 模型;预训练 speech 项目也不是开箱即用流式 ASR。
- 语言:主要看具体模型,TencentGameMate 那批偏中文预训练。
- 模型大小:没有像 Vosk small、SenseVoice ONNX 这样明确适合 App 打包的官方 ASR 成品。
- 手机端判断:如果团队有模型转换能力,可以用 ncnn 做底层;但“腾讯开源 ASR 模型直接端侧用”这条线,目前不如 FunASR / sherpa 清晰。
10. Meta MMS:语种覆盖可怕,但手机端太重
- 开源情况:Meta MMS 开源在 fairseq 生态。
- 流式:不是面向手机端的现成流式产品。
- 语言:ASR 覆盖 1100+ 语言,这是它最大的价值。
- 模型大小:MMS-1B safetensors 约 3.86 GB;MMS-300M PyTorch 约 1.27 GB,语言 adapter 单个约 9 MB。
- 手机端判断:如果业务是长尾语言研究,它很重要;如果业务是中文/英文手机 App,它太重。
11. NVIDIA NeMo / Parakeet:服务器和 GPU 的东西
- 开源情况:NeMo 开源,Parakeet 有开放权重。
- 流式:NeMo/Riva 生态里有流式能力,具体模型要分开看。
- 语言:公开 Parakeet 主要偏英文。
- 模型大小:Parakeet TDT 0.6B 的 .nemo 文件约 2.47 GB。
- 手机端判断:不适合作为普通手机端 ASR 内置方案。它更适合 GPU 服务器、边缘盒子、NVIDIA 生态部署。
12. MiniMind-3o / MiniCPM-o:别把语音助手误当 ASR 引擎
- 开源情况:MiniMind-O、MiniCPM-o 都有开放项目或权重。
- 流式:它们关注语音对话、实时交互、多模态输入输出,不是专门的轻量 STT。
- 语言:MiniMind-3o 主要中英;MiniCPM-o 是中英语音对话加多模态能力。
- 模型大小:MiniMind-3o 自身权重约 226 MB,但依赖冻结的 SenseVoice、SigLIP2、Mimi 等组件;MiniCPM-o 2.6 权重约 17 GB。
- 手机端判断:如果只是语音转文字,不要上这种 omni 模型。它们解决的是“语音聊天/多模态助手”,不是“低延迟、低包体、稳定转写”。
按业务怎么选
- 中文离线输入框、实时性优先:sherpa-onnx + 中文 streaming Zipformer/Paraformer,先测 25 MB 到 213 MB 的模型。
- 中文/粤语/日英韩混合、还想识别情绪或音频事件:SenseVoiceSmall ONNX 量化版,约 230 MB,加 VAD/CAM++ 后约 260 MB。
- 只要小而稳,准确率不是第一:Vosk small,40 MB 级别,最容易过包体关。
- 英语离线转写:whisper.cpp tiny/base,或者 Distil-Whisper small.en。
- 长尾语种覆盖:Meta MMS 放服务器侧更现实。
- 视频字幕/长音频批处理:Whisper small、FunASR Paraformer、SenseVoice 都能试,但要接受耗时和发热。
我会怎么给端侧 App 排优先级
- 第一轮:sherpa-onnx 中文 streaming Zipformer small int8、Vosk small cn/en、SenseVoiceSmall ONNX int8。
- 第二轮:Paraformer streaming ONNX、whisper.cpp base/small 量化版。
- 暂不进入端侧包:Xiaomi MiMo-V2.5-ASR、MiniCPM-o、Meta MMS、NVIDIA Parakeet、Fun-ASR-Nano 原始权重。
真正的分界线不是“哪家模型名气大”。是把手机断网、拿一台普通安卓机、连续录十分钟,看它是不是还能稳稳吐字,不烫手,不崩,不把安装包撑到用户想卸载。能过这一关的,才是产品里的 ASR。
主要资料来源
More from WayDigital
Continue through other published articles from the same publisher.
Tags
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment