modelscope/FunASR

Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.

FunASR — 工业级语音识别工具包

FunASR 是一个全面且开源的语音识别系统构建工具包。它专为实际生产环境设计,支持离线(批量)转录、实时流式传输以及边缘设备部署。它不仅仅是语音转文字,还能处理语音活动检测 (VAD)、标点符号、说话人识别、情感识别和音频事件检测。

功能特色

核心功能是将音频转录为文字。但它是模块化的:您可以组合不同的组件(模型)来构建符合您需求的管线。例如,您可以添加 VAD 模型来检测语音片段,添加说话人嵌入模型来辨识说话人,以及添加标点符号模型来提高输出可读性。

主要能力

  • 多种语音任务:ASR(语音转文字)、VAD(语音检测)、标点符号、说话人日志(辨识谁在何时说话)、情感识别和音频事件标记。
  • 流式支持:实时处理音频块,适用于实时字幕或语音助手。
  • 边缘部署:在 CPU 或 GPU 上运行模型,包括无需 Python 即可运行的轻量级 llama.cpp/GGUF 路径(仅需单个二进制文件)。
  • 兼容 OpenAI 的服务器:提供与 LangChain、Dify 或 AutoGen 等工具兼容的 REST API。
  • CLI 工具:简单的命令行界面,用于快速转录、字幕制作和批量处理。

包含的模型

FunASR 提供了一个包含多个预训练检查点的模型库:

  • Fun-ASR-Nano (800M 参数):针对中文、英文、日文和中文方言的快速、准确 ASR。
  • Fun-ASR-MLT-Nano (800M):涵盖 31 种语言的多语言版本。
  • SenseVoiceSmall (234M):针对中文、英文、日文、韩文和粤语的 ASR 以及情感和音频事件标记。
  • Paraformer-zh:带有时间戳的 ASR,以及流式变体。
  • Qwen3-ASR 和 GLM-ASR-Nano:更大的多语言模型。
  • Whisper 模型:用于比较或迁移。
  • 支持组件:ct-punc(标点符号)、fsmn-vad(语音活动检测)、cam++(说话人嵌入)、emotion2vec(情感识别)。

如何使用

您可以透过三种主要方式使用 FunASR:

  1. Python API — 使用 AutoModel 加载模型,只需几行代码即可生成转录。
  2. 命令行 — 执行 funasr audio.wav 获取文字,或使用标记进行 JSON、SRT、说话人日志等操作。
  3. 服务器 — 使用 funasr-server 启动本地 HTTP 服务,并透过 curl 或任何 HTTP 客户端发送音频。

部署选项

  • GPU:使用 CUDA 进行更快的推理。
  • CPU:适用于许多使用场景。
  • 边缘:使用 llama.cpp/GGUF 的预编译二进制文件,可在 Linux、Windows 和 macOS 上运行,无需 Python,非常适合嵌入式设备。
  • Docker:用于流式服务的现成容器。

为什么选择它

FunASR 是一个实用的工业级工具包,为开发者提供了灵活性:为您的语言和硬件选择合适的模型,根据需要组合组件,并部署在从云端服务器到边缘设备的任何地方。它是云端 ASR 服务的强大替代方案,特别是对于中文应用,并且由阿里巴巴 ModelScope 团队积极维护。

入门指南

pip install funasr

然后尝试快速入门笔记本或 CLI。README 包含转录、流式传输、说话人日志和服务器部署的详细示例。

注意:模型授权与工具包的 MIT 授权分开,商业使用前请检查每个模型的页面。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目