之前在聊过好几次本地语音方案,从 Whisper 到 SenseVoice 再到 Voicebox,每一次都是「快是快了,但要么少功能,要么不支持中文方言,要么没有说话人分离」
直到这次我重新摸了一遍 FunASR ,才发现这货已经悄悄进化成「一行 pip、一次调用,把 VAD、识别、标点、说话人、情感全办了」的工业级 ASR 工具包
更狠的是这一句官方原话:
❝FunASR 在 CPU 上的速度,比 Whisper 在 GPU 上还快
简介
FunASR 是阿里通义实验室(modelscope 团队)开源的端到端语音识别工具包,定位很明确:工业级、开源、一站式
GitHub:github⋅com/modelscope/FunASR,MIT 协议,目前 PyPI 最新版本 funasr 1.3.9
它把语音识别这件事拆成了 5 个零件,再用一个 AutoModel 把它们焊在一起:
区别于 Whisper「一个大模型包打天下」的姿势,FunASR 把每个环节做到能独立替换、独立升级,组合起来还能在 GPU 上跑出 170 倍实时
下面这张图能更直观看懂流水线怎么咬合:

下图是 Fun-ASR-Nano 的性能图,纵轴是错误率(越低越好),横轴是延迟,左下角越靠近原点越能打:

核心功能与特点:
速度怪兽:SenseVoice-Small 在 GPU 上跑 170 倍实时(1 小时音频不到 22 秒搞定),CPU 上还能跑 17 倍实时——这意味着没显卡的服务器也能上 50+ 语言 + 中文方言:Fun-ASR-Nano 支持 31 种语言,Qwen3-ASR 支持 52 种语言自动检测,GLM-ASR-Nano 专门做了 17 种方言优化 一站式:VAD 切分、识别、标点、说话人分离一次调用全部完成,不用自己再拼 pipeline 情感识别:emotion2vec+large 能识别开心/悲伤/愤怒等情绪,做客服质检和直播分析很合适 流式 + 离线双模式:paraformer-zh-streaming 能跑 WebSocket 实时字幕,paraformer-zh / SenseVoice 适合离线长音频 OpenAI 兼容 API: funasr-server --device cuda一行起服务,POST/v1/audio/transcriptions跟调 OpenAI Whisper API 一模一样接 Agent 友好:自带 MCP 服务可以挂 Claude/Cursor,OpenAI 兼容接口可以喂给 LangChain/Dify/AutoGen
安装
主线就一行:
pip install funasr
想跑源码版(要改代码或装 examples):
git clone https://github⋅com/modelscope/FunASR.git
cd FunASR
pip install -e ./
环境要求:Python ≥ 3.8、PyTorch ≥ 1.13、torchaudio
如果想直接起服务版(OpenAI 兼容 API),多装几个 web 依赖就行:
pip install funasr fastapi uvicorn python-multipart
funasr-server --model sensevoice --device cuda
# 默认起在 localhost:8000
不想本地配环境的,官方贴了 Colab 一键体验链接:colab⋅research⋅google⋅com/github/modelscope/FunASR/blob/main/examples/colab/funasr_quickstart.ipynb,浏览器里跑公开样例或上传自己的录音都行
使用
我把官方 README 里最实用的几个组合拢成下面这一段,基本覆盖 90% 的真实场景
中文会议录音转写(VAD + 识别 + 标点 + 说话人)
from funasr import AutoModel
model = AutoModel(
model="iic/SenseVoiceSmall",
vad_model="fsmn-vad",
spk_model="cam++",
device="cuda",
)
result = model.generate(input="meeting.wav")
输出是带说话人标签和时间戳的结构化文本:
[00:00.4 → 00:03.8] 说话人0: 我们今天讨论一下 Q3 的计划
[00:04.2 → 00:07.1] 说话人1: 好的,我有三个要点
[00:07.5 → 00:12.3] 说话人0: 请讲,我们还有 30 分钟
一次调用、一段输出,会议纪要直接拿这个做后处理就行
多语言/方言(Fun-ASR-Nano)
追求更高精度、要支持中文方言的时候,换成 Fun-ASR-Nano(SenseVoice 编码器 + Qwen3-0.6B 解码器,800M 参数):
from funasr import AutoModel
model = AutoModel(
model="FunAudioLLM/Fun-ASR-Nano-2512",
vad_model="fsmn-vad",
device="cuda",
)
result = model.generate(input="meeting.wav")
要批量跑长音频的,套一层 vLLM 加速,官方说批量场景能再快 16 倍:
from funasr.auto.auto_model_vllm import AutoModelVLLM
model = AutoModelVLLM(
model="FunAudioLLM/Fun-ASR-Nano-2512",
tensor_parallel_size=1,
)
results = model.generate(["audio1.wav", "audio2.wav"], language="auto")
流式实时识别(边说边出字)
from funasr import AutoModel
model = AutoModel(model="paraformer-zh-streaming", device="cuda")
result = model.generate(
input="chunk.wav",
cache={},
chunk_size=[0, 10, 5],
)
chunk_size=[0, 10, 5] 是流式场景常用的延迟/lookahead 配置,搭配 WebSocket 可以做直播字幕
情感识别
from funasr import AutoModel
model = AutoModel(model="emotion2vec_plus_large", device="cuda")
result = model.generate(input="audio.wav", granularity="utterance")
直接吐情绪标签,做客服情绪监控特别舒服
部署成 OpenAI 兼容服务
funasr-server --model sensevoice --device cuda
然后用 curl 验一下:
curl -L https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/BAC009S0764W0121.wav -o sample.wav
curl http://localhost:8000/v1/audio/transcriptions \
-F file=@sample.wav \
-F model=sensevoice \
-F response_format=verbose_json
接口形态跟 OpenAI Whisper API 完全对得上,老业务想从云端 ASR 平移过来基本零改造
测评数据
FunASR 官方评测表非常硬核(来源:完整报告:modelscope⋅github⋅io/FunASR/zh/benchmark.html):
| SenseVoice-Small | 170 倍 | 17 倍 | |
| Paraformer-Large | 120 倍 | 15 倍 | |
| Fun-ASR-Nano | |||
把这组数据画成柱状图,差距更直观:

光看数字感受不到狠在哪?换个角度看:
1 小时会议录音 Whisper-large-v3:4.6 分钟出结果 SenseVoice-Small:21 秒出结果 这就是 13 倍的差距
更骚的是 SenseVoice-Small 在 CPU 上的 17 倍实时,比 Whisper-large-v3 在 GPU 上的 13 倍还快——意味着没显卡的中小公司也能起一个能扛量的 ASR 服务,这条对很多团队是真•救命
横向对比一下我经常被问的几个方案:
| 170 倍实时 | |||
优点很硬:
一站式:VAD/识别/标点/说话人分离/情感全自带,少装 5-6 个开源仓库 中文最强梯队:Paraformer 系列是阿里达摩院 8 年积累,方言、口音、噪声鲁棒性远超 Whisper CPU 友好:没显卡也能用,部署门槛低 服务化彻底:funasr-server 直接吐 OpenAI 兼容 API,原本接 Whisper 的 SDK 全部能复用 Agent 集成友好:MCP 服务、OpenAI API、Gradio Demo 全配齐了
也有一些不爽的地方:
模型有点多,新手第一次用容易迷路——不知道该选 SenseVoice 还是 Paraformer 还是 Fun-ASR-Nano(建议直接看官方的 模型选择指南:modelscope⋅github⋅io/FunASR/zh/) SenseVoice-Small 虽然快,但参数量 234M,跟 Whisper-large 的 1550M 比体量小不少,复杂英文长音频的识别精度还是 Whisper 系列略胜 Fun-ASR-Nano 要走 vLLM 加速最舒服,但 vLLM 自己的安装坑不少,对硬核度要求略高 文档体系中英混排,部分 API 参数还是只能去 examples/ 目录里翻
部署选型建议
读到这步,给你一张「该选哪个」决策表,省得你回去再翻:
总结
很多语音识别开源项目,要么只是 Whisper 套个壳,要么只跑英文,要么只能跑离线、只能跑 GPU、只能跑识别——FunASR 的姿势是把整个语音 pipeline 工业化,把方言、流式、说话人、情感、Agent 接入一并端上桌
我个人的判断:
如果你是国内做语音应用、中文会议纪要、客服质检、直播字幕的——直接用,没什么犹豫的 如果你之前在用 Whisper 但被速度卡死——用 funasr-server 把它当 Whisper 兼容 API,性能直接起飞 如果你想做 AI Agent 听懂语音输入——MCP 服务 + Claude/Cursor 已经现成 如果你只是英文、只跑单 GPU、只要离线转写——Whisper 也够,看个人偏好
#FunASR #语音识别 #ASR #开源 #本地部署
