FunASR 离线文件转写服务开发指南(实践篇)
FunASR(Automatic Speech Recognition)离线文件转写软件包提供了一套功能强大的语音识别服务。它拥有完整的语音识别链路,结合语音端点检测、语音识别及标点模型,能将长音频与视频识别为带标点的文字,并支持字级别时间戳、ITN 及用户自定义热词。服务端集成 ffmpeg,支持多种音视频格式输入,且具备高并发处理能力。
部署环境
本文基于以下环境进行实践:
- 系统: openEuler 22.03 (LTS-SP3)
- Docker: version 27.4.0
快速上手
1. Docker 安装
推荐使用官方脚本安装 Docker:
# 下载安装脚本
curl -O https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/shell/install_docker.sh
# 执行安装命令
sudo bash install_docker.sh
2. 镜像拉取与启动
拉取 FunASR 运行时 SDK CPU 版本镜像,并创建资源目录:
# 拉取镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.7
# 创建资源文件夹
mkdir -p ./funasr-runtime-resources/models
# 交互式启动容器
sudo docker run -p 10095:10095 -it --privileged=true \
-v $PWD/funasr-runtime-resources/models:/workspace/models \
registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.7
3. 服务端启动
进入容器后,使用 run_server.sh 启动服务。注意参数配置,特别是模型路径和热词文件。
cd FunASR/runtime
nohup bash run_server.sh \
--download-model-dir /workspace/models \
--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
--model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx \
--punc-dir damo/punc_ct-transformer_cn-en-common-vocab471067-large-onnx \
--lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \
--itn-dir thuduj12/fst_itn_zh \
--hotword /workspace/models/hotwords.txt > log.txt 2>&1 &
参数说明:
--certfile 0: 如需关闭 SSL,请添加此参数。--model-dir: 可替换为 SenseVoiceSmall-onnx 或 Paraformer 不同变体以支持时间戳或 NN 热词。--hotword: 热词文件格式为 (如:阿里巴巴 20),建议长度不超过 10,个数不超过 1k。



