📄 文档管理系统

← 返回列表

FunASR:阿里开源的工业级语音识别,CPU 跑得比 Whisper GPU 还快

default 📅 创建:2026-06-11 04:02:37 🔄 更新:2026-06-10 20:32:57
👁️ 预览 & 复制到公众号 ✏️ 编辑

一句话认识 FunASR

FunASR 是阿里达摩院(ModelScope 团队)开源的工业级语音识别工具包——比 Whisper 快 13 倍、CPU 也能跑、50+ 语言、说话人分离 + 情感识别 + 流式识别开箱即用,还提供 OpenAI 兼容 API 和 MCP Server。

它解决了什么问题

你手里有一段录音、一堆会议文件、一批客服电话,或者想给 AI Agent 接一个语音输入——市面上有几个选择,但都有明显短板:

方案 痛点
Whisper CPU 几乎跑不动、需要额外的 pyannote 才能分离说话人
云端 ASR(OpenAI / Azure / 阿里云) 贵($0.006/分钟起)、数据出域、定制能力弱
自己训练模型 数据 + 算力 + 算法三重门槛

FunASR 做的事:把工业级的语音识别能力(速度、多语言、说话人、情感、流式)全部开源、CPU 也能跑、API 兼容——一句话,能用、好用、用得起。

几组关键数据

速度(FunASR vs Whisper)

测试集:184 条长音频,共 192 分钟。来源:官方 Benchmark 报告

模型 GPU 速度 CPU 速度 对比 Whisper-large-v3
SenseVoice-Small 170 倍实时 17 倍实时 快 13 倍
Paraformer-Large 120 倍实时 15 倍实时 快 9 倍
Fun-ASR-Nano 17 倍实时 3.6 倍实时 快 1.3 倍
Whisper-large-v3-turbo 46 倍实时 不可用 快 3.4 倍
Whisper-large-v3 13 倍实时 不可用 基准

最炸裂的一行:FunASR 在 CPU 上的速度,比 Whisper 在 GPU 上还快

能力矩阵(FunASR vs Whisper vs 云端 API)

能力 FunASR Whisper 云端 API
速度 170x 实时 13x 实时 ~1x 实时
说话人识别 内置 需 pyannote 额外付费
情感识别 开心/悲伤/愤怒 不支持 不支持
语言数 50+ 57 因服务而异
流式识别 支持 WebSocket 不支持 支持
vLLM 加速 2-3 倍加速 不支持 N/A
私有部署 MIT 协议 MIT 协议 仅云端
费用 免费 免费 $0.006/分钟起
CPU 可用 17x 实时 太慢 N/A

来源:README 对比表原文

核心模型家族

FunASR 不是单一模型,而是一个模型家族 + 工具链。从 README 的 Model Zoo 可以看到:

模型 任务 语言 参数量 定位
Fun-ASR-Nano 识别 + 时间戳 31 种语言(含中文方言) 800M LLM-based ASR,精度最高
SenseVoice-Small 识别 + 情感 + 音频事件 中/英/日/韩/粤 234M 官方推荐首选——小、快、准
Paraformer-zh 识别 + 时间戳 中/英 220M 中文生产级主力
Paraformer-zh-streaming 流式识别 中/英 220M 实时转写
Qwen3-ASR 识别 52 种语言自动检测 1.7B 最新 Qwen3 系列
GLM-ASR-Nano 识别 17 种语言 1.5B 智谱系列
ct-punc 标点恢复 中/英 290M 标点专用
fsmn-vad 语音检测(VAD) 中/英 0.4M 极小,VAD 专用
cam++ 说话人分离 7.2M 说话人识别
emotion2vec+large 情感识别 300M 开心/悲伤/愤怒分类

怎么选?官方建议(来自 model_selection.md):

不知道选谁?用 SenseVoice-Small。 
- 多语言转写(默认)→ SenseVoice-Small
- 中文生产环境高精度 → Paraformer-Large
- 31 种语言 + LLM-based → Fun-ASR-Nano + vLLM
- 直播字幕 / 实时转写 → Paraformer-zh-streaming + runtime
- 大批量离线处理 → SenseVoice-Small 或 Paraformer-Large

30 秒上手

安装

pip install torch torchaudio
pip install funasr

一段 4 行 Python 代码就能跑起来:

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 分钟。

一个模型、一次调用——VAD 分段、语音识别、标点恢复、说话人分离全部自动完成

命令行工具(Agent 友好)

不需要写 Python 也能用:

# 最简用法:转写音频
funasr audio.wav

# JSON 输出(适合 AI Agent 调用)
funasr audio.wav --output-format json

# 生成 SRT 字幕
funasr audio.wav --output-format srt --output-dir ./subs

# 说话人分离 + 时间戳
funasr audio.wav --spk --timestamps -f json

# 指定模型和语言
funasr audio.wav --model paraformer --language zh

# 批量转写
funasr *.wav --output-format srt --output-dir ./output

可用模型:sensevoice(默认)、paraformerparaformer-enfun-asr-nano

部署成 API(OpenAI 兼容)

一行命令启动服务:

pip install funasr fastapi uvicorn python-multipart
funasr-server --model sensevoice --device cuda
# → POST /v1/audio/transcriptions,地址 localhost:8000

调用方式跟 OpenAI 官方 API 完全一样

curl \
 -F file=@sample.wav \
 -F model=sensevoice \
 -F response_format=verbose_json

好处

接 AI Agent(MCP Server)

FunASR 提供官方 MCP Server,能让 Claude / Cursor / 其他 MCP 兼容 Agent 把语音转文字当一个本地工具调用:

官方提供两个集成路径:MCP Server 示例(examples/mcp_server/)和 OpenAI API 示例(examples/openai_api/)

典型场景
- Agent 收到一段用户语音消息 → 调用 FunASR 转文字 → Agent 继续处理
- 直播字幕 Agent:实时把麦克风音频转成文字
- 会议纪要 Agent:批量转写会议录音 + 自动总结

部署运行需要什么配置

这一节是本文的重点之一——给你真实可用的配置参考,不夸大、不虚标。

一句话看配置

Python ≥ 3.8,一行 pip install funasr 就能用。

  • 只想跑起来看效果:任何现代电脑(CPU 即可,笔记本都行)
  • 本地小批量转写(每天几小时音频):任何现代 CPU,SenseVoice-Small 17 倍实时
  • 中等流量生产环境(每天 < 100 小时音频):1 张消费级 GPU(RTX 4090 / A10 级别),16GB VRAM
  • 大吞吐 / 实时字幕 / Agent 语音输入:8GB+ VRAM GPU + vLLM 加速(CUDA ≥ 11.8)
  • CPU 不可用的例外:Whisper-large-v3 在 CPU 上几乎跑不动——但 FunASR 的同等精度模型在 CPU 上能跑 17 倍实时

1. 软件依赖

Python:≥ 3.8(来源:README Installation 章节)

核心依赖

pip install torch torchaudio
pip install funasr

vLLM 加速路径额外依赖(vllm_guide.md):

pip install funasr>=1.3.0
pip install vllm>=0.12.0
pip install safetensors tiktoken websockets regex fastapi uvicorn python-multipart

OpenAI 兼容 API 服务额外依赖

pip install funasr fastapi uvicorn python-multipart

2. 硬件配置

来源:docs/vllm_guide.md(官方明确写出来的硬件需求):

部署场景 最低配置 推荐配置
vLLM 加速 + LLM-based ASR(Fun-ASR-Nano) GPU ≥ 8 GB VRAM,CUDA ≥ 11.8 GPU 16 GB+ VRAM
SenseVoice-Small 推理 任何现代 CPU 任何现代 GPU
Paraformer-Large 推理 任何现代 CPU 任何现代 GPU
FunASR 官方 Runtime Docker 镜像 CPU / GPU 都有对应镜像

官方原话

Hardware: GPU ≥ 8 GB VRAM, CUDA ≥ 11.8. 16 GB+ recommended.

3. 各模型资源占用参考

模型 参数量 推理内存占用 适合硬件
fsmn-vad 0.4M 极小 CPU 即可
cam++(说话人) 7.2M 极小 CPU 即可
Paraformer-zh 220M ~1-2 GB 任何现代设备
SenseVoice-Small 234M ~1-2 GB 任何现代设备
ct-punc(标点) 290M ~1-2 GB CPU 即可
emotion2vec+large 300M ~1-2 GB 任何现代设备
Fun-ASR-Nano 800M ~3-4 GB 8GB+ VRAM 推荐
Qwen3-ASR 1.7B ~6-8 GB 16GB+ VRAM 推荐
GLM-ASR-Nano 1.5B ~5-7 GB 12GB+ VRAM 推荐
Whisper-large-v3 1550M ~5-6 GB 10GB+ VRAM 推荐

:内存占用是按官方 PyTorch 推理估算的常见值,实际可能因 batch size、序列长度、动态 VAD 设置等有波动。

4. 部署路径速查

来源:docs/deployment_matrix.md

部署路径 适合场景 起步方式
Colab Notebook 浏览器跑体验 / 分享 demo funasr_quickstart.ipynb
Python API 笔记本 / 离线任务 / 首次模型评估 from funasr import AutoModel
OpenAI 兼容 API 私有语音 API、Agent、Dify/LangChain/AutoGen 客户端 funasr-server --model sensevoice --device cuda
Docker Compose API 可复现的本地服务 / 内部小服务 examples/openai_api/docker-compose.yml
Kubernetes API 集群内部服务 examples/openai_api/kubernetes/(默认 CPU,要 CUDA 需自配镜像)
Runtime WebSocket 服务 直播字幕、会议、呼叫中心流 runtime/readme.md
vLLM 加速 Fun-ASR-Nano 高吞吐 vllm_guide.md
MCP Server Claude / Cursor / 桌面 Agent 语音工具 examples/mcp_server/(参考路径)
Triton Runtime 专业级高性能推理服务(已有 Triton 经验的团队) runtime/triton_gpu/README.md

5. 第一次部署建议

官方 Deployment Matrix 文档 给的路径是:

  1. 5 分钟体验 → Colab 快速跑通
  2. 本地替换云端转写 → OpenAI 兼容 API(先 sensevoice 模型)
  3. 可复现的容器 demo → Docker Compose(CPU 起步,配好 CUDA 后切到 GPU)
  4. 生产部署 → Kubernetes 模板 + 私有 ClusterIP + /health probes

生产环境 checklist(官方 Deployment Matrix 推荐):

6. CPU 还是 GPU 怎么选

如果你的需求是

一个真实数字(来自 vllm_guide.md benchmark):

184 个文件、11,541 秒(约 3.2 小时)音频,单卡 GPU 上 vLLM batch 模式跑 Fun-ASR-Nano,RTFx = 340——意味着 1 小时音频约 10.6 秒转完。

几个常见问题

Q:FunASR 是中国人做的吗?能用中文吗?
A:是阿里达摩院 ModelScope 团队主导的。中文是 FunASR 的强项母语——Paraformer-Large 在中文生产环境用了很多年,SenseVoice-Small 234M 参数在中英日韩粤上效果都不错。31 种语言支持里包含多种中文方言

Q:跟 Whisper 怎么选?
A:官方 migration_from_whisper.md 的建议是:
- 想纯离线 / 私有化 → FunASR(CPU 也能跑、不用 GPU 也能 17x 实时)
- 想多语言 + 说话人 + 情感 → FunASR 一行代码全搞定
- 想翻译(音频 → 另一种语言的文字) → Whisper(FunASR 不做翻译)
- 想生态丰富 / Python 社区支持多 → Whisper 略胜

Q:能在 Mac(M1/M2/M3)上跑吗?
A:能。device="cpu"device="mps"(PyTorch Apple Silicon)。SenseVoice-Small / Paraformer 在 Mac 上推理速度通常比 Linux + 同档 CPU 快(Metal 加速)。

Q:怎么从 Whisper 迁移?
A:官方提供了 migration guide + migration benchmark 示例。建议步骤:
1. 选 20-50 个代表性音频文件
2. 同样的输入分别跑 Whisper 和 FunASR
3. 记录转写质量(WER/CER)、延迟、显存/内存、费用
4. 用 OpenAI 兼容 API 跑一遍烟囱测试
5. 灰度切换

Q:商业项目能直接用吗?
A:能。MIT 协议——允许商用、修改、闭源分发。不用付授权费。

Q:能在浏览器里跑吗?
A:有 Gradio demo,可以在自己服务器上搭 Web UI。但纯浏览器内运行(如 WebAssembly)不在官方支持范围——模型太大。

Q:模型文件从哪里下载?
A:ModelScope(国内,下载快)和 HuggingFace(国外)。README 的 Model Zoo 表里每行都给了两个链接:

写在最后

FunASR 给中文 AI 生态贡献了一个真正工业级、开源、可商用的语音识别底座。这件事对中国开发者的实际意义是:

对个人开发者的实际意义
- 会议纪要、播客转字幕、客服质检、Agent 语音输入——这些需求 FunASR 几乎都能 4 行代码搞定
- 不需要懂 PyTorch、不需要懂模型部署——pip install funasr 就能用
- 真要部署服务,从 Colab → 本地 → Docker → K8s 都有官方模板

对企业的实际意义
- 替代云端 ASR 的 TCO(总拥有成本)在中等流量以上显著更低
- 数据合规自带——私有化部署是 MIT 协议明确允许的
- 多个模型可选(Paraformer / SenseVoice / Fun-ASR-Nano / Qwen3-ASR / GLM-ASR-Nano)——按场景选最合适的

你用过 FunASR / Whisper / 云端 ASR 哪个?什么场景下用?转写效果怎么样?评论区聊聊。

💬 评论区

加载中...