FunASR

开箱即用的中文语音识别全家桶,一键部署服务

开源 🏷️完全免费 ✅ 目前可打开 语音识别 🍴 复刻 2115 🐛 待处理 50 👀 关注 113
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 20978
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源语音识别工具包,MIT许可证,完全免费,可本地部署或在线使用。

项目预览

FunASR 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类语音识别
开发团队modelscope
定价模式🏷️完全免费
价格说明开源语音识别工具包,MIT许可证,完全免费,可本地部署或在线使用。
访问状态✅ 目前可打开
是否开源是
开源协议MIT
主要语言Python
技术栈/模型asr,audio,chinese,emotion-recognition,funasr,mcp-server,multilingual-asr,openai-compatible-api,paraformer,punctuation,pytorch,real-time-asr,speaker-diarization,speech-recognition,speech-to-text,streaming-asr,transcription,vllm,voice-activity-detection,whisper-alternative
GitHub 星标★ 20978
上线时间2022-11-24 00:00:00
代码更新2026-11-09
仓库体积125.6 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-10
浏览次数4

项目介绍

FunASR 是阿里开源的多语言语音识别工具包,专为中文场景深度优化,同时支持英文、日文等。它解决了从训练到部署的全链路问题,包括语音识别(ASR)、端点检测(VAD)、标点恢复、说话人分离、情感识别等。核心能力在于提供 Paraformer 等高性能模型,支持流式与非流式识别,并内置 OpenAI 兼容接口和 MCP 服务,方便接入现有应用。用户可通过 Python 快速调用,也能用命令行或服务端部署,适合构建实时语音转写、会议纪要、智能客服等系统。其模型在中文准确率上表现突出,且社区活跃,文档齐全。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 20978

使用教程

难度:入门 约 15 分钟 部署方式:本地安装 8 步

环境要求

  • Python ≥ 3.8(HTTP 服务示例使用 Python 3.11)
  • 先自行安装与显卡驱动匹配的 PyTorch 和 torchaudio
  • GPU 推理需 CUDA 可用的 PyTorch wheel,否则用 device="cpu"
  • 部署本地 HTTP 服务需 fastapi、uvicorn、python-multipart,curl 需 7.76+

安装与启动步骤

  1. 1安装 PyTorch 依赖

    FunASR 依赖 PyTorch 与 torchaudio,纯 CPU 可直接用 PyPI 默认 wheel 安装。

    pip install torch torchaudio
  2. 2安装 FunASR

    从 PyPI 安装官方发布的 funasr 包,这是最简安装方式。

    pip install funasr
  3. 3源码方式安装

    需要改动源码时用可编辑模式安装,先克隆仓库再 pip install -e ./。

    git clone https://github.com/modelscope/FunASR.git && cd FunASR
    pip install -e ./
  4. 4确认 GPU 可用

    只有打印 True 时才可用 device="cuda",否则改用 CPU 或重装对应 CUDA 版本的 PyTorch。

    python - <<'PY'
    import torch
    print(torch.cuda.is_available())
    PY
  5. 5Python 识别示例

    用 AutoModel 加载模型并传入音频路径或 URL,输出结果在 result 的 text 字段。

    from funasr import AutoModel
    
    model = AutoModel(model="iic/SenseVoiceSmall", vad_model="fsmn-vad", spk_model="cam++", device="cpu")
    result = model.generate(
        input="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
        batch_size_s=300,
    )
    print(result[0]["text"])
  6. 6启动本地服务

    在全新目录用 Python 3.11 建虚拟环境,独立安装 PyPI 版并启动 SenseVoice CPU 服务。

    python3.11 -m venv .venv-funasr-http
    . .venv-funasr-http/bin/activate
    python -m pip install torch torchaudio
    python -m pip install funasr fastapi uvicorn python-multipart
    python -m pip check
    funasr-server --host 127.0.0.1 --port 8000 --model sensevoice --device cpu
  7. 7调用转写接口

    另开终端下载公共中文音频,用 curl 向 OpenAI 兼容接口提交文件并取回结果。

    curl --fail --location https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/BAC009S0764W0121.wav -o sample.wav && \
    curl --fail-with-body http://127.0.0.1:8000/v1/audio/transcriptions \
      -F file=@sample.wav \
      -F model=sensevoice \
      -F response_format=verbose_json
  8. 8拉取 Docker 镜像

    如需流式运行时服务,可拉取官方 CPU 版运行时镜像,官方仅给出镜像地址。

    docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12

关键配置

配置项必填说明示例
model是指定加载的模型,如中文 Paraformer 或多语言 Nanoiic/SenseVoiceSmall
device是推理设备,GPU 用 cuda,纯 CPU 环境填 cpucuda
vad_model否端点检测模型,用于切分长音频语音片段fsmn-vad
spk_model否说话人模型,为 VAD 片段加上说话人标签cam++
batch_size_s否按秒计算的批处理时长,控制长音频吞吐300
--host / --port是funasr-server 的监听地址与端口,默认建议仅回环127.0.0.1 --port 8000

如何确认成功

运行示例后打印出 result[0]["text"];服务侧 curl 返回 verbose_json 转写结果即表示成功。

常见问题

Q:设备选择 cuda 报错怎么办?

A:先运行 torch.cuda.is_available(),只有输出 True 才可用 device="cuda",否则改用 device="cpu",或按 pytorch.org 指引重装匹配驱动的 CUDA wheel。

Q:设置模型就等于启用了 vLLM 吗?

A:不是,README 明确说明选择模型本身不能证明 vLLM 已加载,Nano GPU 服务需按 vllm 指南配置并查看后端真实日志。

Q:复用 8000 端口失败怎么办?

A:CPU 服务与 MOSS 分离服务都默认占用 8000,切换前需先停止原有 CPU 服务,再启动另一套环境。

Q:服务能直接对外开放吗?

A:不能,默认服务不带鉴权,应保持在 127.0.0.1 回环,暴露给其他客户端前先阅读示例目录中的安全指南。

注意事项

  • 官方建议先装 PyTorch + torchaudio,再执行 pip install funasr。
  • HTTP 服务示例应在新目录用独立虚拟环境安装 PyPI 版本,而不是当前源码目录。
  • SenseVoiceSmall 的说话人标签由 CAM++ 产生,并非该模型原生输出。
  • Nano 与 MLT-Nano 语言覆盖不同,应视为两个独立模型选择。

核心亮点

  • 中文识别准确率业界领先,尤其适合普通话和方言场景
  • 内置 VAD、标点、说话人分离等完整流水线,无需额外集成
  • 提供 OpenAI 兼容 API 和 MCP 服务,接入现有系统非常方便

不足之处

  • 模型体积较大,部署对资源有一定要求
  • 文档/社区待观察

适用场景

  • 实时语音转写(会议、直播字幕)
  • 智能客服与语音助手后端
  • 音视频内容分析(情感、说话人分离)

替代项目

Whisper、Kaldi、PaddleSpeech

上一篇:whisperX

下一篇:vosk-api

同类项目推荐

anti-vocale 开源

语音消息不上传,手机本地直接转文字

Android app for transcribing voice messages locally on-device, with no internet requ···

★ 143 2026-09-27
audiotext 开源

拖入音视频或粘贴链接,一键出文字、字幕和摘要

A desktop app to transcribe audio and video from files, URLs, YouTube videos, or you···

★ 354 2026-10-06
orukeet 开源

冻结 Gabor 核做多语言语音转文字,本地 GGUF 推理

Orukeet: multilingual ASR with fitted, frozen Gabor kernels and native inference

★ 153 2026-09-24
nomily-app 开源

录完自动转写分人加摘要,密钥自己管

BYOK voice recording companion with ASR transcription, speaker diarization, AI summa···

★ 1009 2026-10-12
VAD-python 开源

从音频里自动切出人声段,省算力少误识别

Voice Activity Detector in Python

★ 481 2026-11-10
StreamSpeech 开源

一个模型搞定语音识别、翻译和合成,离线同声两相宜

StreamSpeech is an “All in One” seamless model for offline and simultaneous speech···

★ 1293 2026-08-09
OpenWhisper 开源

本地跑 Whisper,语音秒变文字,隐私不出门

Local dictation and meeting notes with Whisper or the OpenAI API. Custom Whisper mod···

★ 257 2026-09-23
Diction 开源

自托管语音键盘,说话直接变文字,隐私自己掌控

Open Source self-hosted alternative to WisprFlow - iOS voice AI keyboard

★ 256 2026-09-24