【开源项目推荐】FunASR 便携版:开箱即用的离线语音识别工具包(4 款模型 + OpenAI 兼容 API + Gradio 可视化)
还在为 FunASR 配 Python 环境、装 PyTorch、下 4GB 模型而头秃?把整个工具链打包到 U 盘里,双击
FunASR.bat就能跑------本文带你 5 分钟把一个本地语音转文字服务跑起来。
一、前言:为什么需要 FunASR 便携版?
FunASR 是阿里达摩院开源的工业级语音识别工具包,主打中文场景,识别准、速度快、自带标点恢复和情感标签,是国内做语音转写最主流的方案之一。
但第一次跑通它,门槛不低:
- Python 3.8+ 解释器
- PyTorch 2.x(CPU/GPU 版本还要对 CUDA)
- torchaudio、funasr、modelscope、huggingface_hub 一堆依赖
- 4 个模型加起来 ~4.5GB:SenseVoice、Paraformer 中文、Paraformer 英文、Fun-ASR-Nano
- ffmpeg、Visual C++ Redistributable、偶尔还缺 DLL
- 端口被占、模型下不动、API 怎么调
FunASR-Portable 就是为了把上面这些"踩坑步骤"全部消灭掉:
- 内置 Python 3.11.9 嵌入式解释器
- PyTorch 2.5.0 + FunASR + Gradio 全套依赖
- 4 款模型预下载(网盘一键领取)
- 启动脚本 + 健康检查 + 停止服务 + 模型管理脚本一应俱全
- 一键启动 OpenAI 兼容 API(端口 8000)+ Gradio 可视化界面(端口 7860)
不需要装 Python,不需要配环境,不需要下模型------解压即用。
二、便携包信息
| 项目 | 内容 |
|---|---|
| 项目名 | FunASR-Portable |
| 平台 | Windows 10/11 64 位 |
| 大小 | 约 5GB(4 款模型 + 运行时) |
| 内存 | 建议 8GB+ |
| 磁盘 | 约 5GB 可用空间 |
| 模型 | SenseVoice / Paraformer 中文 / Paraformer 英文 / Fun-ASR-Nano |
| 服务 | API(8000) + Gradio UI(7860) |
📦 夸克网盘下载 :
🔗 https://pan.quark.cn/s/75fb0b6ff5b0
下载后解压到任意目录(路径最好不带中文和空格),目录结构长这样:
FunASR-Portable/
├── FunASR.bat # ⭐ 一键启动
├── 停止服务.bat
├── 检查环境.bat
├── 下载模型.bat
├── run_api.bat
├── run_ui.bat
├── start_services.py
├── p0_test.py
├── app/ # FunASR 源码(含 openai_api)
├── runtime/python/ # 嵌入式 Python 3.11.9
├── workspace/models/ # 用户工作目录 + 模型缓存
└── scripts/ # 辅助脚本
三、5 分钟跑起来
1. 启动服务
双击根目录下的 FunASR.bat。
脚本会自动做四件事:
- 检查环境(Python 路径、源码完整性、模型是否就位)
- 启动 API 服务 →
http://localhost:8000 - 启动 Gradio UI →
http://localhost:7860 - 自动用浏览器打开 UI
启动后看到 FunASR Started! 就成功了,控制台打印:
API: http://localhost:8000
UI: http://localhost:7860
提示:关闭窗口只是关闭启动器,API 和 UI 还在后台跑。想停服务就双击
停止服务.bat。
2. 浏览器里玩一下
打开 http://localhost:7860,会看到 Gradio 上传界面:
- 上传 wav/mp3/m4a 等音频文件
- 在下拉框里选模型(
sensevoice/paraformer/paraformer-en/fun-asr-nano) - 点提交,几秒钟出结果
SenseVoice 还会附带情感标签 和事件标签(笑声、掌声等),是它的一个特色。
3. 用 API 调
对所有 OpenAI 兼容的工具来说,这就是个"本地 Whisper"。
Python(OpenAI SDK):
python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
# 普通转写
result = client.audio.transcriptions.create(
model="sensevoice",
file=open("meeting.wav", "rb"),
)
print(result.text)
# 详细 JSON(含分段、情感)
verbose = client.audio.transcriptions.create(
model="sensevoice",
file=open("meeting.wav", "rb"),
response_format="verbose_json",
)
print(verbose.segments)
curl:
bash
curl http://localhost:8000/v1/audio/transcriptions \
-F file=@meeting.wav \
-F model=sensevoice
curl http://localhost:8000/v1/audio/transcriptions \
-F file=@meeting.wav \
-F model=sensevoice \
-F response_format=verbose_json
健康检查:
bash
curl http://localhost:8000/health
# {"status":"ok","models_available":["sensevoice","paraformer","paraformer-en","fun-asr-nano"]}
四、4 款模型怎么选?
| 模型 | 语言 | GPU 速度 | CPU 速度 | 特点 |
|---|---|---|---|---|
sensevoice |
中/英/日/韩/粤 | 170x 实时 | 17x 实时 | 自带情感 + 事件标签,综合首选 |
paraformer |
中/英 | 120x 实时 | 15x 实时 | 标点恢复稳,中文生产环境推荐 |
paraformer-en |
英 | 120x 实时 | 15x 实时 | 英文专用,准确度更高 |
fun-asr-nano |
31 种 | 17x 实时 | 3.6x 实时 | LLM 路线,时间戳更准,小语种救命 |
默认就是 CPU 模式,8GB 内存就能跑。如果有 N 卡,改
start_services.py里的--device cpu为--device cuda(需要装 CUDA 版 PyTorch)。
五、典型使用场景
1. 会议录音转写
Paraformer 中文 + verbose_json,导出的 segments 直接做字幕。
2. 短视频/直播字幕
SenseVoice 速度最快(170x 实时),带情感标签,剪辑师最爱。
3. 给 AI Agent 加"耳朵"
LangChain、AutoGen、CrewAI、Dify、MCP 助手......所有用 OpenAI Audio API 的框架,把 base_url 改成 http://localhost:8000/v1 就行,音频数据不出本机。
4. 小语种识别
Fun-ASR-Nano 支持 31 种语言(泰语、越南语、阿拉伯语等),很多 Whisper 都搞不定的它能行。
六、踩坑与排查
| 现象 | 处理方式 |
|---|---|
| 启动报缺 DLL | 装 Visual C++ Redistributable x64 |
| 8000/7860 端口被占 | 改 start_services.py 里的 --port 参数 |
| torchaudio 加载报错 | 大概率是音频格式问题,建议装个 ffmpeg 放到 PATH |
| 模型没找到 | 检查 workspace/models/models/iic/ 目录,或者重新跑 下载模型.bat |
| 想用 GPU 加速 | 装 CUDA + 对应版本 PyTorch,把 --device cpu 改成 --device cuda |
项目自带 p0_test.py 冒烟测试,启动后跑一遍可以验证 4 个模型是不是都正常:
bash
python p0_test.py
# 输出 "=== P0 测试全部通过 ===" 就说明 API + 模型 + UI 都没问题
七、和 Whisper 简单对比
| 维度 | FunASR SenseVoice | Whisper large-v3 |
|---|---|---|
| 速度 | 170x 实时 | ~13x 实时 |
| 中文 | 强 | 一般 |
| 情感识别 | ✅ 自带 | ❌ 需要额外模型 |
| CPU 可用 | ✅ 17x 实时 | ❌ 基本跑不动 |
| 成本 | 免费本地 | API $0.006/分钟 |
| 部署 | 一次下载,永久离线 | 联网 or 重下模型 |
如果你的场景是中文为主 + 离线 + 省钱,FunASR 几乎一定比 Whisper 划算。
八、下载地址 & 资源
- 便携包(夸克网盘):https://pan.quark.cn/s/75fb0b6ff5b0
- FunASR 官方仓库:https://github.com/modelscope/FunASR
- 官方文档:https://modelscope.github.io/FunASR/
- OpenAI 兼容 API 文档 :<app/openai_api/README_zh.md>
- Gradio 浏览器 Demo 说明 :<app/openai_api/GRADIO_zh.md>
- OpenAPI 规范 :<app/openai_api/OPENAPI_zh.md>
- 工作流配方(Dify / n8n) :<app/openai_api/WORKFLOWS_zh.md>
九、写在最后
做这个便携版的初衷很简单:让一个完全没配过 Python 环境的人,也能在 5 分钟内跑起一个生产级的离线语音识别服务。
下载 → 解压 → 双击 FunASR.bat → 浏览器开 http://localhost:7860,完事。
如果觉得有用,欢迎评论区交流使用心得。遇到坑也欢迎贴出来,我持续维护这个便携包。
觉得有帮助的话,点个 👍 收藏一下,下次找得到。