
FunASR 使用场景选路指南评测、私有转写 API、Agent 语音输入与流式部署实战【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR导读FunASR 不只是一个离线转写命令而是一套覆盖训练、推理、流式 ASR、VAD、标点恢复、说话人分离以及 OpenAI 兼容 / MCP 服务等多种路径的开源语音工具包。本文以仓库中的场景速览文档为主体系统梳理先选路径、再动手的决策框架从浏览器快速体验、本地单文件转写、性能评测、Whisper/云端迁移评估到私有转写 API、Agent 语音输入、流式客服场景与字幕/批处理生产配方并给出每一条路径的起点文档、可复制的命令与源码级佐证。读完本文你将能够根据自身目标快速定位 FunASR 的正确入口并据此搭建可上线的语音服务流水线。场景总览先选路径再动手FunASR 的文档体系按目标组织同一个功能往往对应多条实现路径。下表来自 docs/use_case_showcase_zh.md汇总了最常见的八类使用目标、推荐的起点与选择理由建议先对照表格定位自己的场景目标从这里开始为什么重要在浏览器里试用 FunASRColab 快速体验配置本地环境前先跑公开样例并上传自己的音频。本地转写一个文件README 快速开始 和 模型选择指南几分钟内验证安装、模型选择、模型下载和首次推理。对比准确率和速度性能评测记录 与 RTF 可复现口径选型前先查看 184 条长音频约 11541 秒评测结果。从 Whisper/云端 ASR 迁移迁移指南将现有流水线映射到 FunASR用代表性音频评测并规划安全上线。搭建私有语音 APIOpenAI 兼容 API 示例、Gradio 浏览器 Demo、客户端配方、JavaScript/TypeScript 配方 和 工作流配方复用 LangChain、Dify、n8n、AutoGen 等 OpenAI 风格客户端音频不出内网。复用已有生态集成社区集成从已验证的上游路径开始接入语音 Agent、本地助手、桌面字幕、模型服务和 Rust VAD。给 Agent 增加语音输入MCP 服务 和 语音输入示例将本地 ASR 接入 Claude、Cursor 和桌面 Agent 工作流。选择部署路径部署选型表对比 Python API、OpenAI API、Docker Compose、Kubernetes、WebSocket、vLLM、MCP、批处理、字幕和 Triton。部署流式 ASRRuntime 服务文档面向实时字幕、客服、会议等低延迟场景。加速 LLM-based ASRvLLM 指南为 Fun-ASR-Nano 使用 tensor parallel 解码和流式服务能力。生成字幕字幕示例将长音频或视频转成字幕文件。批量处理录音批处理示例为录音归档、会议纪要、数据集处理搭建可重复流水线。选路的核心原则来自 docs/deployment_matrix_zh.md先选择能满足目标的最小方案只有在吞吐、延迟或集成方式有明确要求时再切换到更重的运行时如 Runtime WebSocket、vLLM 或 Triton。面向生产的四类配方私有转写 APIOpenAI 兼容/v1/audio/transcriptions当应用已经兼容 OpenAI 风格接口或音频不能离开私有环境时优先使用这一路径。FunASR 的 OpenAI 兼容 API 提供/v1/audio/transcriptions端点可作为私有语音转写服务接入 OpenAI 风格 SDK 或 multipart HTTP 客户端。需要说明的是它实现的是语音接口子集不是完整 OpenAI API也不保证兼容所有 SDK/框架功能。最简启动方式安装 Python 依赖后直接使用打包的funasr-serverpip install funasr fastapi uvicorn python-multipart funasr-server --model sensevoice --device cuda验证接口curl http://localhost:8000/v1/audio/transcriptions \ -F filesample.wav \ -F modelsensevoice \ -F response_formatverbose_json如果希望使用仓库内可读、可改的示例服务可以在仓库的 examples/openai_api 目录下运行 server.pypython server.py --host 127.0.0.1 --model sensevoice --device cpu --port 8000示例服务的启动参数及其默认值如下属于示例server.py不代表打包服务funasr-server参数默认值说明--host0.0.0.0监听地址--port8000监听端口--devicecudacuda、cpu或mps--modelsensevoice启动时预加载模型两套服务的接口边界从 examples/openai_api/README_zh.md 可以确认示例服务与打包funasr-server在默认模型与说话人处理上存在差异示例python server.py启动预加载与省略 multipartmodel时的默认值均为sensevoice没有spk表单字段只保留模型本身已经返回的说话人标签。打包服务funasr-server启动--model auto时若设备字符串以cuda开头则选fun-asr-nano否则选sensevoice省略 multipartmodel时仍独立默认选fun-asr-nano。spktrue为非原生说话人模型请求单独的说话人处理默认False。因此每次请求都应明确指定model并以运行中服务的/v1/models与/openapi.json为准核对可用别名与表单字段不能只依赖仓库中的静态规范。端点与可用模型别名EndpointMethod说明/v1/audio/transcriptionsPOSTOpenAI 兼容音频转写/v1/modelsGET列出模型别名/healthGET健康检查、已加载模型和可用模型/docsGETFastAPI Swagger 文档示例服务MODEL_CONFIGS中的别名来自 examples/openai_api/server.pysensevoiceSenseVoiceSmall FSMN-VAD默认不启用句子时间戳或外部说话人聚类。paraformerparaformer-zh FSMN-VAD CT 标点。paraformer-enparaformer-en FSMN-VAD是示例服务专有别名打包服务没有该内置别名。fun-asr-nanoAutoModel加载 Fun-ASR-NanoHF 平台 FSMN-VAD示例服务不使用 vLLM。moss-transcribe-diarize第三方 OpenMOSS 原生转写/说话人适配器需要独立依赖环境保留模型返回的时间戳与匿名标签。注意response_formatverbose_json只选择响应格式不会启用说话人分离也不会强制生成时间戳。示例服务仅在模型返回sentence_info时将其转换为segments否则返回segments[]。端到端 smoke test仓库提供了两种不依赖人工操作的验证脚本均位于 examples/openai_apibash smoke_test.sh # 不依赖 curl/bash 的跨平台方式 python smoke_test.pysmoke_test.sh 支持环境变量定制BASE_URL默认http://localhost:8000、MODEL默认sensevoice、RESPONSE_FORMAT默认verbose_json音频不存在时会自动下载公开中文示例样本。它依次检查/health并请求转写接口退出码成功只代表请求链路通了不代表识别质量达标。建议下一步运行 OpenAI 兼容 API smoke test 或跨平台 Python smoke test。浏览器上传或麦克风 demo 可从 Gradio 浏览器 Demo 开始。Node.js 或 Next.js 服务可从 JavaScript/TypeScript 配方 开始。集群内服务可从 Kubernetes 部署模板 开始。在服务边界增加鉴权、限流和网络访问控制可从 安全与网关指南 开始。记录模型、设备、驱动、音频时长和处理耗时便于复现问题和 benchmark。需要 Docker Compose 时可在仓库根目录执行默认 CPU 模式主机端口仅绑定回环地址FUNASR_HOST_PORT127.0.0.1:8000 FUNASR_DEVICEcpu FUNASR_MODELsensevoice \ docker compose -f examples/openai_api/docker-compose.yml up --build容器相关环境变量为FUNASR_PORT默认8000、FUNASR_DEVICE默认cpu、FUNASR_MODEL默认sensevoice。GPU 环境需要 NVIDIA Container Toolkit 和 CUDA-capable 镜像单独修改FUNASR_DEVICE不会自动获得容器 GPU 访问能力。Agent 语音输入MCP 服务与桌面语音输入当你想把语音输入接到编码助手、内部助手或工作流工具时使用这条路径。Claude/Cursor 类工具优先看 MCP 服务示例。MCPModel Context Protocol服务默认以 SenseVoiceSmall 提供本地音频转写音频不出机器。它暴露一个transcribe_audio工具参数如下参数类型必填说明audio_pathstring是音频文件路径wav、mp3、flac、m4a、ogglanguagestring否auto、zh、yue、en、ja或ko默认auto环境变量支持本地推理配置FUNASR_DEVICE默认cpu可选cuda/cpu/mps与FUNASR_MODEL默认iic/SenseVoiceSmall。接入 Claude Code 时在~/.claude.json中声明{ mcpServers: { funasr: { command: python, args: [/path/to/examples/mcp_server/funasr_mcp.py], env: {FUNASR_DEVICE: cuda} } } }桌面语音输入实验可以从 voice input 示例 开始。funasr_input.py 是一个按快捷键录音、自动识别并粘贴到当前光标位置的工具工作流为按快捷键 → 录音 → 再按快捷键 → 发送到 funasr-server → 识别 → 自动粘贴。支持的命令行选项包括--server服务器地址、--model模型选择、--hotkey如 macOS 的cmdshiftspace、--lang语言。平台支持上macOS 支持录音与 AppleScript 自动粘贴Linux 通过 xdotool 自动粘贴Windows 需手动CtrlV。保持延迟可见每次请求记录音频时长、处理耗时和模型名称。流式与客服场景Runtime WebSocket 服务当你更关注低延迟和中间结果而不是单次完整转写时使用这条路径从 Runtime 服务文档 开始其对应中文说明见 runtime/readme_cn.md。需要给人阅读时把 ASR 与 VAD、标点恢复、说话人分离一起使用。仓库内已提供对应的流式 VADFSMN-VAD与相关指南参见 docs/streaming_vad_zh.md。用真实音频验证背景噪声、长静音、多人重叠、不同麦克风质量。部署选型表中也强调上线前需用真实音频验证 chunk size、VAD、断句、标点、说话人分离、重连行为和客户端背压。从 Whisper 迁移前先评测当你在评估是否用 FunASR 替代 Whisper 或云端 ASR 时使用这条路径按 迁移指南 映射功能并评测代表性音频。该指南提供了一张功能映射表例如Whisper 文件转写对应 FunASR 的 SenseVoice/Paraformer/Fun-ASR-Nano 选型Whisper pyannote 对应 VAD、标点与spk_modelcamOpenAI 音频 API 对应 OpenAI 兼容 API实时字幕对应 Runtime WebSocket字幕生成对应 字幕示例离线归档对应 批处理示例。阅读 公开性能评测并了解 RTF 可复现口径 中关于计时范围、warmup 排除与字段记录的定义。用自己的样本集再测一次同时包含短音频和长音频。建议准备 20-50 条代表性音频覆盖短音频、长会议、静音、噪声、多人重叠、领域词汇和目标语言。同时记录成本和吞吐GPU 速度、CPU 可用性、模型下载体积、部署复杂度。对本地目录做可复现评测时可运行 examples/migration/benchmark_funasr.py 生成results.jsonl和summary.md。质量与速度对比时对旧流水线和 FunASR 都记录以下字段音频时长、语言、领域、采样率、声道数和说话人数模型名、模型版本、FunASR 版本、Python/PyTorch/CUDA 版本以及 Docker 镜像 tag硬件、设备模式、batch size、流式 chunk size以及是否排除 warmup/模型下载时间WER/CER 或人工审阅记录姓名、数字、标点、说话人分离、时间戳、领域词延迟、吞吐、GPU/CPU 内存、每小时音频成本、失败文件比例。模型选择建议如需更完整地比较 SenseVoice、Paraformer、Fun-ASR-Nano、streaming runtime 和 OpenAI API alias请看 模型选择指南。需求推荐先试说明快速多语种转写SenseVoice-Small本地 demo 和私有 API 的稳妥默认选择。中文生产 ASRParaformer-Large中文语音识别的成熟选择。LLM-based ASR 实验Fun-ASR-Nano吞吐敏感时配合 vLLM 指南中文版见 docs/vllm_guide_zh.md。带说话人信息的转写SenseVoice 或 Paraformer spk_modelcam适合会议、访谈、客服录音。离线长音频一体化转写与说话人标签MOSS-Transcribe-Diarize一次生成离线长音频转写、时间戳和匿名说话人标签不是实时 WebSocket 路径。实时音频Runtime WebSocket 服务用真实流量验证分块、VAD 和断句。以 SenseVoice VAD 说话人分离组合为例来自 docs/model_selection_zh.md会议转写这类场景可以直接用 Python API 组合多阶段处理from funasr import AutoModel model AutoModel( modeliic/SenseVoiceSmall, vad_modelfsmn-vad, spk_modelcam, devicecuda, # 便携 smoke test 可改为 cpu ) result model.generate(inputmeeting.wav)这里fsmn-vad定位语音、cam提取说话人向量再由处理流水线聚类得到录音内的匿名编号。这些编号不识别已注册人物也不是跨录音稳定的身份说话人分离不是 SenseVoice 单次识别直接提供的能力。与场景配套的模型别名如果走 OpenAI 兼容 API 路径examples/openai_api/server.py 提供短别名应用团队无需了解具体模型仓库 IDsensevoiceiic/SenseVoiceSmallCPU/GPU 多语种 HTTP 转写返回文本已移除富文本标签paraformerparaformer-zh VAD 标点适合评估中文转写paraformer-enparaformer-en VAD提供 OpenAI 风格客户端的英文转写路径fun-asr-nanoFunAudioLLM/Fun-ASR-Nano-2512评估中文、英文、日语与中文方言/口音覆盖moss-transcribe-diarize第三方OpenMOSS-Team/MOSS-Transcribe-Diarize离线转写与录音内匿名说话人标签。这些别名属于加载AutoModel的示例服务不会配置原生 vLLM也不会自动选择AutoModelVLLM包内funasr-server有独立的加载与后端选择逻辑不要跨服务直接套用别名或性能结果。接入客户端前可以先核对在线服务curl http://localhost:8000/v1/models python examples/openai_api/smoke_test.py --base-url http://localhost:8000 --model sensevoice配套生产工具字幕与批处理场景速览表中还提到了两条常与模型选择配套使用的生产工具字幕生成generate_subtitle.py 支持从音频/视频生成 SRT/VTT 字幕关键参数包括--formatsrt/vtt默认srt、--segment-modereadable可读分段或sentence模型句子边界、--max-single-segment-timeVAD 单段最大毫秒数默认 60000、--spk输出说话人标签与--lang。用法示例python generate_subtitle.py input.wav --format vtt或python generate_subtitle.py meeting.mp3 --spk。批量处理batch_asr_improved.py 提供递归目录扫描、进度统计与逐文件错误隔离参数包括-i/--input-folder、-o/--output-file、-m/--model默认paraformer-zh、-d/--device默认cpu、-r/--recursive、-e/--extensions默认.wav .mp3与--vad-model默认fsmn-vad设none可禁用。生产使用时可参考其实现增加队列、manifest 与重试日志。上线前检查清单综合场景速览、部署选型表 与 迁移指南 的上线建议任何路径上线前都应确认选择模型 alias 并写入部署说明固定 FunASR 版本、模型版本、设备、CUDA/PyTorch 版本、Docker 镜像 tag 和启动命令跑一个公开短音频 smoke sample再跑至少一个真实私有样本每次请求记录 request id、音频时长、模型、设备、延迟、响应格式和错误类型API 暴露到可信网络外之前增加上传大小限制、鉴权、TLS 和限流参考 安全与网关指南流式场景测试静音、噪声、多人重叠、长连接、重连和慢客户端发布 benchmark 结论时说明输入时长、硬件、batch size、模型、运行路径以及是否排除模型下载和 warmup 时间。分享你的结果如果 FunASR 在你的项目里效果不错欢迎通过 showcase issue、Migration Benchmark Report 或项目 Discussion 分享使用场景和部署方式模型、设备和处理速度音频领域、语言和大致时长可以公开的 demo、截图、benchmark 摘要或集成链接。具体的使用反馈能帮助新用户更快选型也能帮助维护者决定下一批文档和示例优先级。提交时建议附带硬件、速度、质量记录和部署细节这样的迁移报告对社区选型最有参考价值。总结FunASR 的场景入口本质上是一张目标 → 路径 → 验证的决策网想快速验证用 Colab 或 README 快速开始想私有化转写走 OpenAI 兼容 API想接 Agent 用 MCP 或桌面语音输入要低延迟中间结果则选 Runtime WebSocket要从 Whisper 迁移先按迁移指南建立 20-50 条代表性音频的评测基线再谈切换。本文梳理的每一条路径都在仓库内有对应文档、示例与源码支撑你可以顺着上述相对路径直达对应入口按先最小方案、后按需升级的原则完成从 demo 到生产的落地。【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考