项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 20978
技术标签
使用教程
环境要求
- Python ≥ 3.8(HTTP 服务示例使用 Python 3.11)
- 先自行安装与显卡驱动匹配的 PyTorch 和 torchaudio
- GPU 推理需 CUDA 可用的 PyTorch wheel,否则用 device="cpu"
- 部署本地 HTTP 服务需 fastapi、uvicorn、python-multipart,curl 需 7.76+
安装与启动步骤
-
1安装 PyTorch 依赖
FunASR 依赖 PyTorch 与 torchaudio,纯 CPU 可直接用 PyPI 默认 wheel 安装。
pip install torch torchaudio -
2安装 FunASR
从 PyPI 安装官方发布的 funasr 包,这是最简安装方式。
pip install funasr -
3源码方式安装
需要改动源码时用可编辑模式安装,先克隆仓库再 pip install -e ./。
git clone https://github.com/modelscope/FunASR.git && cd FunASR pip install -e ./ -
4确认 GPU 可用
只有打印 True 时才可用 device="cuda",否则改用 CPU 或重装对应 CUDA 版本的 PyTorch。
python - <<'PY' import torch print(torch.cuda.is_available()) PY -
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启动本地服务
在全新目录用 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调用转写接口
另开终端下载公共中文音频,用 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拉取 Docker 镜像
如需流式运行时服务,可拉取官方 CPU 版运行时镜像,官方仅给出镜像地址。
docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
model | 是 | 指定加载的模型,如中文 Paraformer 或多语言 Nano | iic/SenseVoiceSmall |
device | 是 | 推理设备,GPU 用 cuda,纯 CPU 环境填 cpu | cuda |
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
同类项目推荐
anti-vocale
开源
语音消息不上传,手机本地直接转文字
Android app for transcribing voice messages locally on-device, with no internet requ···
audiotext
开源
拖入音视频或粘贴链接,一键出文字、字幕和摘要
A desktop app to transcribe audio and video from files, URLs, YouTube videos, or you···
botium-speech-processing
开源
让语音应用自动化测试像聊天测试一样简单,打通STT/TTS全链路
Botium Speech Processing
orukeet
开源
冻结 Gabor 核做多语言语音转文字,本地 GGUF 推理
Orukeet: multilingual ASR with fitted, frozen Gabor kernels and native inference
nomily-app
开源
录完自动转写分人加摘要,密钥自己管
BYOK voice recording companion with ASR transcription, speaker diarization, AI summa···
VAD-python
开源
从音频里自动切出人声段,省算力少误识别
Voice Activity Detector in Python
StreamSpeech
开源
一个模型搞定语音识别、翻译和合成,离线同声两相宜
StreamSpeech is an “All in One” seamless model for offline and simultaneous speech···
OpenWhisper
开源
本地跑 Whisper,语音秒变文字,隐私不出门
Local dictation and meeting notes with Whisper or the OpenAI API. Custom Whisper mod···
Diction
开源
自托管语音键盘,说话直接变文字,隐私自己掌控
Open Source self-hosted alternative to WisprFlow - iOS voice AI keyboard
