FunASR 安装教程:从零跑通第一个语音识别示例
【免费下载链接】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 是阿里巴巴达摩院开源的语音识别工具包,可以在自己的机器上完成离线转写、流式识别、VAD、标点恢复与说话人分离,也能一键部署成 OpenAI 兼容的 API 服务。它适合需要自建 ASR 能力的开发者,以及想在半小时内用 Python 跑通语音识别的新手。这篇 FunASR 安装教程从环境配置讲到跑通最小示例。
🚀 30 秒快速上手
赶时间的读者先跑这 5 行命令完成安装与验证:
git clone https://gitcode.com/GitHub_Trending/fun/FunASR.git cd FunASR pip install torch torchaudio pip install -e ./ python -c "import funasr; print(funasr.__version__)"最后一行能打印出版本号(当前为 1.4.14),说明环境已就绪。下面逐段拆解每步的细节。
FunASR 能力速写
它不是单一模型,而是一个工具包,按场景挑模型:
- 中、英、日加方言场景选 Fun-ASR-Nano(800M 参数,需要 GPU)
- CPU 部署选 SenseVoiceSmall,带情绪和音频事件标注,纯 CPU 也有约 17 倍实时速度
- 会议录音场景把 fsmn-vad、cam++ 挂进同一条 AutoModel 流水线,直接输出分句说话人标签和时间戳
- 服务化时一条命令起 OpenAI 兼容接口,现有代码走
/v1/audio/transcriptions即可接入 - 连 Python 都没有的边缘设备,也有 GGUF 单文件二进制可跑
环境要求一览
| 项目 | 要求与说明 |
|---|---|
| 操作系统 | Linux、macOS、Windows 均可 |
| Python | ≥ 3.8,官方安装文档建议不超过 3.13 |
| PyTorch | ≥ 1.11,torch 与 torchaudio 需同源同版本安装 |
| GPU | 可选。Fun-ASR-Nano 等 GPU 模型必须;SenseVoice、Paraformer 可跑 CPU |
| 模型权重 | 不随仓库分发,首次运行自动从 ModelScope 或 Hugging Face 下载 |
安装实操
准备干净的虚拟环境
避免与系统 Python 的依赖打架,建议用 conda 或 venv 建独立环境:
conda create -n funasr python=3.10 conda activate funasr命令提示符前出现(funasr)前缀,即代表虚拟环境已激活。
克隆代码到本地
git clone https://gitcode.com/GitHub_Trending/fun/FunASR.git cd FunASR执行完当前目录应能看到README.md、funasr/、examples/等目录。如果只当库用、不改源码,可跳过此步,直接pip install funasr。
先装 PyTorch
PyTorch 必须先于 funasr 安装。有 GPU 时,wheel 要与 NVIDIA 驱动版本匹配,对照表见 PyTorch 官网:
pip install torch torchaudio装完用python -c "import torch; print(torch.__version__, torch.cuda.is_available())"验证:打印True表示 CUDA 可用,否则代码里请写device="cpu"。
安装 FunASR
在仓库目录内执行:
pip install -e ./过程会拉入 librosa、soundfile、modelscope 等依赖,看到Successfully installed funasr-...即完成。-e表示可编辑安装,本地改源码立刻生效,方便二次开发。
验证安装
python -c "import funasr; print(funasr.__version__)"无 ImportError 且打印出版本号,安装验证通过。
跑通最小示例
新建demo.py写入以下内容(SenseVoiceSmall 可跑 CPU,模型首次运行自动下载):
from funasr import AutoModel model = AutoModel(model="iic/SenseVoiceSmall", device="cpu") result = model.generate(input="audio.wav") print(result[0]["text"])执行python demo.py(audio.wav换成你自己的 16kHz 音频),终端打印出转写文本即跑通。想更快出结果,可用命令行方式funasr audio.wav,参数见 README.md;更多模型组合在 examples/ 目录下。
常见报错排查
import funasr 报依赖冲突
- 现象:安装或 import 时报 numpy、torch 版本冲突
- 原因:torch 与 torchaudio 来自不同安装源,且 funasr 要求
numpy<2 - 解决:新建空虚拟环境,同一源按顺序安装 torch、torchaudio,再装 funasr
Apple Silicon 上 cffi 架构不匹配
- 现象:M1/M2 报
incompatible architecture (have x86_64, need arm64) - 原因:环境里残留 x86_64 版 cffi 二进制
- 解决:
pip uninstall cffi pycparser后执行ARCHFLAGS="-arch arm64" pip install cffi pycparser --compile --no-cache-dir
模型下载慢或中断
- 现象:首次运行卡在模型下载
- 原因:ModelScope 与 Hugging Face 在不同网络环境下速度差异大
- 解决:中国大陆优先用 ModelScope 模型名(如示例中的
iic/...),海外网络 Hugging Face 更快;中断后删掉该模型的部分缓存重试,详见 docs/troubleshooting.md
下一步
跑通后,用 docs/model_selection.md 选第一个正式模型;从 Whisper 或云端 API 迁过来的,看 docs/migration_from_whisper.md 做迁移对照。完整参数与安装细节在 docs/installation/installation_zh.md。
【免费下载链接】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),仅供参考