导读
中文语音识别的开源方案越来越多,但它们不在同一个层面上------有的是模型,有的是工具包,有的是部署运行时。直接把它们摊在一张表里比"谁更好",容易越看越糊涂。本文把 6 个中文语音识别模型和 2 个配套工具拆开来看,在统一基准上比精度、速度和功能,帮你理清它们的关系,找到适合自己场景的组合方案。
一、先搞清楚:这些项目是什么关系?
中文语音识别的开源生态可以分为三层:
模型层------做识别的:
| 模型 | 出品方 | 发布时间 | 一句话定位 |
|---|---|---|---|
| Paraformer | 达摩院 | 2022 年 | FunASR 最早的自研模型,集成最成熟,有流式版本 |
| SenseVoice-Small | 通义实验室 | 2024/07 | 不只听你说了什么,还能识别情绪和周围声音 |
| Fun-ASR-Nano | 通义实验室 | 2025/12 | 数千万小时数据训练,支持流式转录、7 种方言、26 种口音 |
| FireRedASR | 小红书 | 2025/01(v2: 2026/02) | 中文识别精度公开基准第一 |
| Qwen3-ASR | 阿里云 Qwen 团队 | 2026/01 | 22 种中文方言,提供独立安装包 qwen-asr |
| Moonshine | Useful Sensors | 2024/10 | 最小(27M)最轻,为端侧而生 |
注:Moonshine 是美国 Useful Sensors 公司开发的端侧 ASR 模型,中文精度有限(CER ~36%),但模型仅 27M 参数,是目前最轻量的端侧选择,本文将其纳入对比供端侧部署场景参考。
工具包层------管理和组合模型的:
- FunASR (达摩院,15.2k Star):统一的
AutoModel接口,可以将语音活动检测(VAD)、ASR、标点恢复、说话人分离串联成流水线。Paraformer、SenseVoice、Fun-ASR-Nano 都可以通过它调用。
部署运行时(Runtime)层------把模型跑在设备上的:
模型本身只是一个权重文件,不能自己运行。你需要一个程序来加载模型、接收音频、执行计算、输出文字------这就是运行时(Runtime)。服务端部署通常用 FunASR 的 Docker 服务或 vLLM;端侧部署(手机、嵌入式设备)则主要靠:
- sherpa-onnx(Next-gen Kaldi,10.8k Star):把 Paraformer、SenseVoice 等模型部署到手机、树莓派、鸿蒙设备上,支持 12 种编程语言,完全离线运行。
值得注意的是,很多时候是组合使用的。比如"用 SenseVoice 模型 + 通过 FunASR 接口调用 + 用 sherpa-onnx 部署到手机上"。下面先比模型,再讲怎么用、怎么部署。
二、精度对比:数据说话
统一基准对比(CER%,越低越好)
以下数据来自 FireRedASR2S 仓库的对比表,所有模型在相同测试集上由同一方测试,数据口径统一:
| 测试集 | FireRedASR2-LLM | FireRedASR2-AED | Qwen3-ASR-1.7B | Fun-ASR |
|---|---|---|---|---|
| AISHELL-1 | 0.64 | 0.57 | 1.48 | 1.64 |
| AISHELL-2 | 2.15 | 2.51 | 2.71 | 2.38 |
| WenetSpeech net | 4.44 | 4.57 | 4.97 | 6.85 |
| WenetSpeech meeting | 4.32 | 4.53 | 5.88 | 5.78 |
| 普通话平均 | 2.89 | 3.05 | 3.76 | 4.16 |
数据来源:FireRedASR2S 仓库(同一方测试,数据口径统一)。原始对比表还包含 Doubao-ASR(非开源),本文未纳入。表中"Fun-ASR"为 Fun-ASR(7.7B),该模型未开源,开源版本为 Fun-ASR-Nano(800M)。
几个关键信息:
- FireRedASR 在所有普通话测试集上都排第一,AISHELL-1 上 AED 版本 CER 仅 0.57%
- Qwen3-ASR(3.76%)和 Fun-ASR-Nano(约 4.55%,开源)水平接近
其他模型的精度参考
以下模型不在上面的统一对比表中,数据来自各自的官方来源,口径可能不完全一致:
| 模型 | AISHELL-1 CER | 来源 | 备注 |
|---|---|---|---|
| Paraformer-zh(220M) | 1.95% | FunASR 论文 | FireRedASR v1 对比表中为 1.68%,差异可能源于测试条件不同 |
| SenseVoice-Small(234M) | ~3.0% | SenseVoice 仓库(柱状图近似值) | --- |
| Whisper-Large-v3(1550M) | 5.14% | FireRedASR v1 对比表 | WenetSpeech meeting 场景 CER 达 18.87%,中文场景与国产方案差距明显 |
| Moonshine Tiny(27M) | 36.1% | Moonshine 论文(CommonVoice 17 测试集) | 中文训练数据仅 69.8 小时,无 AISHELL 数据 |
Moonshine Tiny 的 CER 36.1% 与其他方案差距很大,主要原因是中文训练数据量不足------69.8 小时 vs 其他方案的万到千万小时级别。它的优势不在精度,而在端侧部署能力。Whisper-Large-v3 在中文场景下精度也明显弱于国产方案,但端侧生态成熟(whisper.cpp,47.5k Star),常作为参照基线。
方言对比(CER%,越低越好)
同样来自 FireRedASR2S 仓库对比表:
| 测试集 | FireRedASR2-LLM | FireRedASR2-AED | Qwen3-ASR-1.7B | Fun-ASR |
|---|---|---|---|---|
| KeSpeech(方言综合) | 3.08 | 3.60 | 5.10 | 5.36 |
| 粤语(短) | 5.14 | 5.15 | 5.82 | 7.34 |
| 四川话(易) | 10.90 | 10.60 | 11.99 | 12.46 |
| 上海话(日常) | 24.94 | 24.18 | 23.93 | 12.55 |
| 歌词(opencpop) | 1.12 | 1.17 | 2.57 | 3.05 |
| 方言平均(19 个测试集) | 11.55 | 11.67 | 11.85 | 12.76 |
注:表中"Fun-ASR"为 Fun-ASR(7.7B),该模型未开源,开源版本为 Fun-ASR-Nano(800M)。方言对比表中无 Fun-ASR-Nano 的数据。歌词(opencpop)为基准测试中的通用测试集,所有模型均参与测试,不代表该模型具备专门的歌词识别功能。
方言场景下,不同方言的优劣排序不同------上海话场景 Fun-ASR(7.7B)反而最好(12.55%),歌词识别 FireRedASR 优势明显(1.12%)。没有一个模型在所有方言上全面领先。
三、速度与大小对比
| 模型 | 参数量 | 推理速度 |
|---|---|---|
| Moonshine Tiny | 27M | 中文 Tiny 版本未公开(参考:Medium 245M 在 MacBook Pro 上 107ms、RPi5 上 802ms) |
| Paraformer-zh | 220M | RTF 0.0251(V100 GPU,batch=1)。RTF 即实时因子(Real-Time Factor),< 1 表示比实时快 |
| SenseVoice-Small | 234M | 处理 10 秒音频仅需 70ms,比 Whisper-Large 快 15 倍 |
| Qwen3-ASR-0.6B | 600M | RTF 0.00923(单并发) |
| Fun-ASR-Nano | 800M | 未公开 |
| FireRedASR-AED | 1.1B | 未公开(TensorRT-LLM 在 H20 GPU 上 12.7 倍加速) |
| Qwen3-ASR-1.7B | 1700M | RTF 0.01482(单并发) |
| FireRedASR-LLM | 8.3B | 未公开 |
注:各模型的速度数据测试环境不同,不能严格横向比较。SenseVoice-Small 的 70ms 测试设备未在仓库中标明。
四、功能对比:谁能做什么?
以下为各模型自身的能力(不含工具包加持):
| 功能 | Paraformer | SenseVoice-Small | Fun-ASR-Nano | FireRedASR v2 | Qwen3-ASR | Moonshine |
|---|---|---|---|---|---|---|
| 中文语音识别 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 流式识别 | ✓ | ✗ | ✓ | ✗ | ✓ | ✓ |
| 情感识别 | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| 音频事件检测 | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| 语种识别 | ✗ | ✓ | ✗ | ✓ | ✓ | ✗ |
| 时间戳 | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ |
| 歌词识别 | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ |
| 标点恢复 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ |
Paraformer、SenseVoice-Small、Fun-ASR-Nano 三个模型都可以通过 FunASR 工具包搭配以下模块使用:VAD(fsmn-vad)、标点恢复(ct-punc)、说话人分离(cam++)、热词定制、情感识别(emotion2vec)。部分模块与模型自身能力重叠时可按需选用。FireRedASR v2 自带 VAD、标点、语种识别的一体化方案。Qwen3-ASR 和 Moonshine 是独立接口,不通过 FunASR 调用。
一句话概括各模型的功能特色:
- SenseVoice-Small:独家的情感识别 + 音频事件检测,一个模型同时输出,支持时间戳
- FireRedASR v2:精度最高,且自带 VAD、标点、语种识别、时间戳的一体化方案
- Paraformer:最早发布(2022 年),自身支持流式识别和时间戳,FunASR 生态中集成最成熟
- Fun-ASR-Nano:支持流式转录和歌词识别,通过 FunASR 可搭配 VAD、标点等模块
- Qwen3-ASR:支持流式识别、时间戳和语种识别
- Moonshine:参数最小(27M),支持流式识别,为端侧而生
五、端侧部署:谁能跑在设备上?
| 模型 | 需要 GPU | 端侧部署方案 |
|---|---|---|
| Moonshine Tiny(27M) | 否 | 自带 C++ + OnnxRuntime(iOS/Android/RPi/IoT) |
| SenseVoice-Small(234M) | 否 | SenseVoice.cpp(GGML,3/4/5/8 位量化)+ sherpa-onnx |
| Paraformer-zh(220M) | 否 | sherpa-onnx(iOS/Android/鸿蒙/RPi/RISC-V/WebAssembly) |
| Qwen3-ASR-0.6B | 未明确 | 未提及端侧方案 |
| Fun-ASR-Nano(800M) | 未明确 | 支持 ONNX 导出 |
| FireRedASR(1.1B/8.3B) | 是 | 无端侧方案 |
| Qwen3-ASR-1.7B | 未明确 | 未提及端侧方案 |
端侧场景下,Moonshine、SenseVoice-Small、Paraformer 以及 Whisper(通过 whisper.cpp)是目前有明确部署方案的选择。Whisper 是 OpenAI 开源的多语言语音识别模型,中文不是其主场(精度见第二章对比表),但端侧生态成熟(whisper.cpp,47.5k Star),本文将其作为参照列入端侧部署对比,不作为中文场景的推荐方案。
端侧部署方案
| 方案 | 支持的模型 | 平台 | 编程语言 |
|---|---|---|---|
| sherpa-onnx | Paraformer、SenseVoice 等 | iOS/Android/鸿蒙/RPi/RISC-V/WebAssembly/RK3588/华为昇腾 | C++/Python/Java/Swift/Kotlin/C#/Go/Rust/Dart 等 12 种 |
| whisper.cpp | Whisper(tiny 到 large-v3 全系列) | Mac/iOS/Android/Linux/Windows/RPi/WebAssembly | C/C++(社区绑定:Rust/Go/Java/Python/Swift/.NET 等) |
| SenseVoice.cpp | SenseVoice | 支持 GGML 的平台 | C/C++ |
| Moonshine | Moonshine | iOS/Android/macOS/Linux/RPi/IoT | C++/Python |
sherpa-onnx 是中文 ASR 端侧部署覆盖平台最广的方案,集成了 Paraformer 系列(多个变体)、SenseVoice 等中文模型,完全离线运行,不需要网络连接。whisper.cpp(47.5k Star)是 Whisper 模型的端侧部署方案,纯 C/C++ 实现无依赖,支持量化(q5/q8),Apple Silicon 特别优化。
六、方言支持
| 模型 | 方言覆盖 |
|---|---|
| Qwen3-ASR | 22 种中文方言(安徽、东北、福建、甘肃、贵州、河北、河南、湖北、湖南、江西、宁夏、山东、陕西、山西、四川、天津、云南、浙江、粤语港/广、吴语、闽南语) |
| FireRedASR v2 | 20+ 种(粤语港/广、四川、上海、吴语、闽南语、安徽、福建、甘肃、贵州、河北、河南、湖北、湖南、江西、辽宁、宁夏、陕西、山西、山东、天津、云南等) |
| Fun-ASR-Nano | 7 种方言(吴、粤、闽、客家、赣、湘、晋)+ 26 种地方口音 |
| SenseVoice-Small | 粤语 |
| Paraformer-zh | 普通话为主 |
| Moonshine Tiny | 未提及方言支持 |
如果方言识别是核心需求,Qwen3-ASR 和 FireRedASR v2 是目前覆盖最全的两个选择。
七、上手使用:从代码开始
FunASR 工具包(Paraformer / SenseVoice / Fun-ASR-Nano 通用)
安装一行搞定:
pip3 install -U funasr
FunASR 的核心价值是统一接口和模型组合。以下示例将 Fun-ASR-Nano + VAD 串联:
ini
from funasr import AutoModel
model = AutoModel(
model="FunAudioLLM/Fun-ASR-Nano-2512",
vad_model="fsmn-vad",
vad_kwargs={"max_single_segment_time": 30000},
device="cuda:0",
)
res = model.generate(input=[wav_path], cache={}, batch_size_s=0)
text = res[0]["text"]
切换模型只需更改 model参数,比如换成 SenseVoice 同时获得情感识别能力:
ini
model = AutoModel(
model="iic/SenseVoiceSmall",
vad_model="fsmn-vad",
vad_kwargs={"max_single_segment_time": 30000},
device="cuda:0",
)
res = model.generate(input="audio.mp3", cache={}, language="auto", use_itn=True)
还可以加入标点恢复和说话人分离:
ini
model = AutoModel(
model="paraformer-zh",
vad_model="fsmn-vad",
punc_model="ct-punc",
spk_model="cam++",
)
Qwen3-ASR(独立接口)
pip install -U qwen-asr
Qwen3-ASR 不使用 FunASR,有自己独立的接口和调用方式。
FireRedASR(独立接口)
bash
git clone https://github.com/FireRedTeam/FireRedASR.git
pip install -r requirements.txt
需要 GPU,音频须转为 16kHz 单声道 WAV,AED 模型单次最长处理 60 秒音频。
Moonshine(独立接口)
pip install moonshine-voice
自带端侧运行时,不依赖其他工具包。
八、服务端部署
如果部署在服务器上(云端/机房),不需要 sherpa-onnx 这类端侧运行时,各方案都有自己的服务端部署方式:
- FunASR Docker 服务:提供离线文件转录和实时流式转录两种服务,支持 CPU 和 GPU。GPU 离线服务单线程 RTF 0.0076,多线程加速比 1200+。
- FireRedASR:支持 TensorRT-LLM 和 vLLM 推理加速,AISHELL-1 上相比 PyTorch 基线加速 12.7 倍(H20 GPU)。
- Qwen3-ASR:支持 vLLM 后端,0.6B 模型 128 并发下 Online 模式吞吐量约 2000 秒/秒,1.7B 模型 Offline 模式约 980 秒/秒。
九、许可证:能商用吗?
| 模型/项目 | 代码许可 | 模型许可 | 能商用吗 |
|---|---|---|---|
| FireRedASR | Apache 2.0 | Apache 2.0 | 完全可商用 |
| Qwen3-ASR | Apache 2.0 | Apache 2.0 | 完全可商用 |
| Fun-ASR-Nano | Apache 2.0 | Apache 2.0 | 完全可商用 |
| SenseVoice | Apache 2.0 | Apache 2.0 | 完全可商用 |
| FunASR 工具包 | MIT | Model License Agreement | 可商用(需遵守模型协议) |
| Paraformer | MIT | Model License Agreement | 可商用(需遵守模型协议) |
| sherpa-onnx | Apache 2.0 | 各模型各自许可 | 视集成的模型而定 |
| whisper.cpp | MIT | MIT(Whisper 模型) | 完全可商用 |
| Moonshine(英文) | MIT | MIT | 完全可商用 |
| Moonshine(中文) | MIT | Moonshine Community License | 年收入 < $1M 可商用,否则需授权 |
注意:Moonshine 的中文模型不是 MIT 许可,年收入超过 100 万美元的企业需要单独获取商业授权。
十、选哪个?看你的场景
大多数中文识别场景 通过 FunASR 调用 Paraformer、SenseVoice 或 Fun-ASR-Nano,搭配 VAD + 标点恢复,上手最简单。pip install funasr,三行代码跑通。
对精度要求极高FireRedASR,中文公开基准第一(LLM 版本普通话平均 CER 2.89%,AED 版本 3.05%)。但需要 GPU,且音频有时长限制。
需要识别方言Qwen3-ASR(22 种中文方言)或 FireRedASR v2(20+ 种)覆盖最全。Fun-ASR-Nano 支持 7 种方言和 26 种口音。
需要情感识别或音频事件检测SenseVoice-Small,一个模型同时完成 ASR + 情感 + 事件检测,且推理速度极快(70ms 处理 10 秒音频)。
需要部署到手机或嵌入式设备中文精度优先选 SenseVoice-Small 或 Paraformer,通过 sherpa-onnx 部署,平台覆盖最广。如果已有 Whisper 的使用经验,whisper.cpp 也是成熟的端侧方案(47.5k Star),中文精度弱于国产模型但生态最大。如果对模型大小极度敏感(< 30M),Moonshine Tiny 是唯一选择,但中文精度有限。
需要实时/流式转录Paraformer-streaming(通过 FunASR)、Fun-ASR-Nano(通过 FunASR)、Qwen3-ASR 或 Moonshine,均原生支持流式识别。
不知道选什么 从 FunASR 开始。pip install funasr,通过 AutoModel接口可以快速试用 Paraformer、SenseVoice、Fun-ASR-Nano 等模型,社区最大,上手门槛最低。
相关仓库:
- FunASR:github.com/modelscope/... (15.2k Star)
- SenseVoice:github.com/FunAudioLLM... (7.3k Star)
- Fun-ASR:github.com/FunAudioLLM...
- FireRedASR:github.com/FireRedTeam... (1.8k Star)
- FireRedASR2S:github.com/FireRedTeam...
- Qwen3-ASR:github.com/QwenLM/Qwen... (2.0k Star)
- Moonshine:github.com/usefulsenso... (7.3k Star)
- sherpa-onnx:github.com/k2-fsa/sher... (10.8k Star)
- whisper.cpp:github.com/ggml-org/wh... (47.5k Star)