modelscope /FunASR
Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.
★ 20,985⑂ 2,116
20,985
stars
+61+72+363
2,116
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
(English|简体中文|日本語|한국어) 面向离线、流式与边缘部署的工业级语音识别工具箱。 ASR · VAD · 标点 · 说话人 pipeline · 情感与音频事件模型 · OpenAI 兼容服务 快速开始 · 模型选择 · 模型列表 · 部署选型 · 部署中心 · 文档中心 · 性能评测 · 贡献 --- 快速开始 原生 Transformers 使用 Hugging Face API 转写 Fun-ASR-Nano,先看 Transformers 5.17.0 CPU 快速开始,不需要安装 FunASR 工具库或执行远程 Python 代码。 Space · Notebook · Python / batch examples FunASR 工具库与流水线 不想先配置本地环境?可以打开 Colab 快速体验 在浏览器里转写公开样例或上传自己的音频。 FunASR 对你有帮助?欢迎 Star 项目,让更多开发者找到它。 bash pip install torch torchaudio pip install funasr 如果要运行 GPU quickstart,请先按 pytorch.org 选择与你的 NVIDIA driver 匹配的 PyTorch / torchaudio CUDA wheel,再安装 FunASR。 安装后先确认 GPU 可见: bash python - 部署为 API 服务: 本地 SenseVoice CPU 配方 · Nano GPU 服务与固定版本 vLLM 环境 接入 AI Agent: MCP 服务 支持 Claude/Cursor · OpenAI API 支持 LangChain/Dify/AutoGen 接入语音 Agent: OpenClaw 实时转写插件(实验性;依赖尚未合并的上游 SDK 补丁)· Hugging Face speech-to-speech + SenseVoice(已合入源码,v1.0.0 尚未包含) 为什么选 FunASR? FunASR 是工具箱,需要分别选择任务、checkpoint 和运行时。 一个模型或适配器支持的能力,不代表所有服务后端都支持。 | 任务 | Checkpoint 或 pipeline | 运行时入口 | 主要边界 | |---|---|---|---| | 文件转写及情感/事件标签 | SenseVoiceSmall | Python AutoModel,CPU 或 GPU | 五语种 checkpoint;标签不代表说话人身份。 | | LLM 文件转写 | Fun-ASR-Nano | AutoModel;文档指定的 GPU 拆分引擎 AutoModelVLLM | 基础 Nano 覆盖中/英/日及中文方言/口音;时间戳取决于 checkpoint 和路径。 | | 更多语种的文件转写 | Fun-ASR-MLT-Nano | Python AutoModel | 独立的 31 语种 checkpoint,不能把其覆盖范围归给基础 Nano。 | | 分块实时转写 | Paraformer-zh-streaming | 流式 SDK 或 runtime WebSocket 服务 | 使用流式 checkpoint 和会话独立 cache,不能替换为离线 checkpoint。 | | 带说话人的文件转写 | SenseVoiceSmall + FSMN-VAD + CAM++ | AutoModel 的 VAD 与嵌入聚类 | 编号仅在当前录音内有效,不是已注册人物身份识别。 | | 联合文本、时间戳与说话人 | 第三方 OpenMOSS 的 MOSS-Transcribe-Diarize | MOSS 指南中的 FunASR adapter 或上游后端 | 离线、录音内匿名标签;统一路径不外接 VAD/说话人 pipeline。 | | 原生 CPU/端侧转写 | Fun-ASR-Nano 或 SenseVoiceSmall GGUF | llama.cpp runtime | 需要匹配的转换权重,GGUF 不能作为 Python AutoModel checkpoint 加载。 | Checkpoint、接口与协议边界见 Model Zoo 和 部署矩阵。请用目标音频与硬件评测后再选运行时。 第一次试用 FunASR?可以先跑 Colab 快速体验,再配置本地环境。还不确定先用哪个模型?先看 模型选择指南。计划从 Whisper 或云端 ASR 切换?请按 迁移指南 和 评测示例 用代表性音频评测、映射功能并安全上线。 --- 性能评测 历史评测报告 与 拆分引擎测量 保留原始结果。 两者是独立记录,不能合并成通用速度排名或生产容量承诺。 请按 RTFx 与可复现评测说明 对齐 checkpoint/revision、音频集、硬件、批量大小、预热、计时范围与 CER/WER。 离线吞吐量不等于流式延迟;可使用 迁移评测示例 以相同口径测量自己的录音。 --- 最新动态 - MOSS-Transcribe-Diarize 已接入 FunASR 服务、Docker、Kubernetes、vLLM/SGLang 工作流和 FunClip,一次完成长音频转写、时间戳与匿名说话人标注。部署 MOSS - - FunASR 1.4.24 忽略空的非语言符号以避免分词死循环,修复带填充输入的方差归一化,并避免包含零触发样本的混合批次导致 CIF 崩溃。修复 3852、修复 3853、修复 3854。同时启用 norm_means=True 和 norm_vars=True 训练的 checkpoint 会收到不同的归一化特征,需要重新评估识别质量;默认仍为 norm_vars=False。安装:python -m pip install -U "funasr==1.4.24"。发布说明与验证范围 - FunASR 1.4.23 修复 lfr_m=lfr_n=1 在线前端的帧游标和离线 VAD 多余的空尾块。提供 token_list 时,SentencePiece 的 ids2tokens 返回模型词元,请用 tokens2text 转为文本;未提供 token_list 时保持旧有文本解码行为。修复 3849、修复 3783。发布说明与验证范围 - FunASR 1.4.22 支持逐调用覆盖 merge_length_s,并根据当前语音段时长逐帧更新动态 VAD 静音阈值,同时保留固定阈值模式。修复 3841、修复 3833。发布说明与验证范围 - FunASR 1.4.21 在流式标点收到空白或空输入时保留 cache;非空推理保持不变。修复 3824。发布说明与验证范围 - FunASR 1.4.20 在指定 spk_model 而可选说话人依赖导入失败时,通过带原始异常链的 ImportError 提