📄 文档列表
🎬 口播文案
✏️ 编辑文档
标题
工具栏
加粗
H2 标题
H3 标题
引用
无序列表
有序列表
代码块
📷 上传图片
点击或拖拽上传图片
支持 PNG, JPG, GIF, WebP 格式
内容 (Markdown 格式)
## 一句话认识 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 秒上手 **安装**: ```bash pip install torch torchaudio pip install funasr ``` **一段 4 行 Python 代码**就能跑起来: ```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 也能用: ```bash # 最简用法:转写音频 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`(默认)、`paraformer`、`paraformer-en`、`fun-asr-nano` ## 部署成 API(OpenAI 兼容) 一行命令启动服务: ```bash pip install funasr fastapi uvicorn python-multipart funasr-server --model sensevoice --device cuda # → POST /v1/audio/transcriptions,地址 localhost:8000 ``` 调用方式跟 OpenAI 官方 API **完全一样**: ```bash curl \ -F file=@sample.wav \ -F model=sensevoice \ -F response_format=verbose_json ``` **好处**: - **LangChain / Dify / AutoGen / n8n** 等工具可以直接对接这个 endpoint,**不用改一行代码** - 已有 OpenAI 音频转写客户端的团队,**只改 base_url 就能迁移** - 不想用云端 API 的公司**数据不出域** ## 接 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 章节) **核心依赖**: ```bash pip install torch torchaudio pip install funasr ``` **vLLM 加速路径额外依赖**(vllm_guide.md): ```bash pip install funasr>=1.3.0 pip install vllm>=0.12.0 pip install safetensors tiktoken websockets regex fastapi uvicorn python-multipart ``` **OpenAI 兼容 API 服务额外依赖**: ```bash 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 推荐): - 部署文档中固定模型别名和版本 - 记录 FunASR 版本、模型版本、设备、CUDA/PyTorch 版本、Docker 镜像 tag - 跑一段公开样例 + 一段真实业务样例做验证 - 日志记录:音频时长、模型、设备、延迟、响应格式、错误类型 - **对外暴露 API 之前**:加上传大小限制、鉴权、TLS、限流 - 流式场景:测试静音、噪音、说话人重叠、长会话、重连、慢客户端 - Benchmark 报告:包含输入时长、硬件、batch size、模型、runtime 路径 ### 6. CPU 还是 GPU 怎么选 **如果你的需求是**: - **个人/小团队 demo / 中小批量离线转写** → **CPU 就够**。SenseVoice-Small CPU 上能跑 17x 实时(1 小时音频约 3.5 分钟转完) - **中等流量(每天 < 100 小时音频)** → **1 张消费级 GPU**(如 RTX 4090 24GB)。170x 实时基本不会卡 - **高吞吐 / 大批量 / 实时字幕** → **多张 GPU + vLLM batch**。Fun-ASR-Nano 在 vLLM 下能跑到 340x 实时 - **AI Agent 集成 / Dify 之类的工作流** → **1 张 GPU + OpenAI 兼容 API** **一个真实数字**(来自 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 表里每行都给了两个链接: - **ModelScope**:` - **HuggingFace**:` ## 写在最后 **FunASR 给中文 AI 生态贡献了一个真正工业级、开源、可商用的语音识别底座**。这件事对中国开发者的实际意义是: - **不用每个月给云端 ASR 付 ¥0.04/分钟**——一次部署、长期免费 - **音频数据不出域**——合规友好 - **CPU 也能跑**——不需要买 GPU 卡也能做小批量 - **API 兼容 OpenAI**——已经接了 OpenAI 的工具链**零迁移成本**切过来 - **Agent 友好**——MCP Server + 命令行 + JSON 输出都给齐了 **对个人开发者的实际意义**: - 会议纪要、播客转字幕、客服质检、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 哪个?什么场景下用?转写效果怎么样?评论区聊聊。**
摘要
标签
多个标签用逗号分隔
分类
技术文章
教程指南
工具测评
项目实战
行业观察
默认
💾 保存修改
← 返回查看
返回列表