在 Windows 上配置和运行 FunASR,最省事的路子是走 Docker 一键部署,或者用现成的整合包。下面按不同需求给出对应方案。
🐳 方案一:Docker 一键部署(推荐,适合离线转写服务)
这是目前最省心的方式,不用手动配 Python 环境,适合把语音转写做成服务来用。
前置条件:Windows 10/11 64 位专业版,安装 Docker Desktop 并启用 WSL2 后端,同时装好 Git。家庭版需先开启 WSL2 功能。
克隆仓库:打开终端执行 git clone https://gitcode.com/GitHub_Trending/fun/FunASR.git,然后进入 FunASR/runtime/deploy_tools 目录。
运行部署脚本:双击 funasr-runtime-deploy-offline-cpu-zh.bat,按提示选择模型类型(1 基础转写、2 带时间戳、3 热词增强)、服务端口(默认 10095)和工作目录(建议放非系统盘)。
验证服务:部署完成后,浏览器打开 http://localhost:10095 能看到状态页,或者命令行执行 curl http://localhost:10095/health 返回 {"status":"healthy","version":"2.0"} 即成功。
转写音频:进入 runtime/python/websocket 目录,用客户端脚本送音频:
bash
python funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "C:/test.wav" --use_itn 1
--audio_in 支持 wav/mp3/mp4 等格式,--use_itn 1 开启数字规范化(比如把"一百二十三"转成"123")。
不想用命令行的话,浏览器打开 runtime/html5/static/index.html,可以直接上传文件或对着麦克风录音转写。
🐍 方案二:pip 安装(适合开发集成)
想在自己的 Python 项目里调用 FunASR,就用这种方式。
环境要求:64 位 Windows 10/11,Python 3.8~3.13,建议用 conda 建独立环境避免依赖冲突。
安装依赖:
bash
pip install -U funasr modelscope torch torchaudio
国内网络慢的话加 -i https://mirror.sjtu.edu.cn/pypi/web/simple 换源。
跑通识别:用官方示例脚本,进入 runtime/python/websocket 目录,先装服务端依赖再启动:
bash
pip install -r requirements_server.txt
python funasr_wss_server.py --port 10095 --certfile 0
--certfile 0 关闭 SSL,本地测试更省事。首次启动会自动下载模型,看到终端提示服务就绪即可。
测试识别:另开终端执行:
bash
python funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in../../funasr_api/asr_example.wav
看到带标点的文字输出,就说明部署成功。
⚡ 方案三:免安装整合包(最快体验)
只想赶紧用上、不想折腾环境,直接下载整合包双击运行即可。
实时语音识别版:识别麦克风或电脑内播放的声音,支持实时翻译,解压后双击 启动软件.exe 就行。
注意事项:软件路径不能有中文和空格;只支持 Win10/Win11;识别电脑内声音需在系统声音设置里启用"立体声混音"。
🛠️ 常见问题排查
端口被占用:报错 address already in use 时,执行 netstat -ano | findstr :10095 找到占用进程,再 taskkill /PID 进程ID /F 结束它,或者换个端口启动。
模型下载卡住:网络原因导致,重跑命令会续传;也可以把 FunASR 目录加入杀软信任区。
识别准确率不高:在模型目录放 hotwords.txt,每行写"词语 权重"(如 达摩院 20),启动服务端时加 --hotword 指向它,专有名词识别率会明显提升。
转写视频报错:需要安装 ffmpeg,执行 winget install ffmpeg 即可。
首次启动会自动下载模型权重,耗时视网速而定,期间别关终端。纯 CPU 也能跑,有 NVIDIA 显卡可装 CUDA 环境加速,实测 GPU 大约快 3 倍左右。
https://hf-mirror.com/FunAudioLLM/SenseVoiceSmall/resolve/main/model.pt
https://hf-mirror.com/FunAudioLLM/SenseVoiceSmall/resolve/main/config.yaml
https://hf-mirror.com/FunAudioLLM/SenseVoiceSmall/resolve/main/configuration.json