FunASR 离线文件转写服务开发指南
1. 什么是 FunASR
FunASR(Automatic Speech Recognition)离线文件转写软件包提供了一套功能完整的语音识别链路。它结合了语音端点检测(VAD)、语音识别、标点恢复等模型,能够将几十个小时的长音频或视频识别为带标点的文字,并支持字级别的时间戳输出。
服务特性包括:
- 支持上百路并发请求进行转写
- 输出包含标点符号和字级时间戳
- 支持 ITN(逆文本规范化)与用户自定义热词
- 服务端集成 ffmpeg,兼容多种音视频格式输入
- 提供 Python、C++、Java、HTML 等多种语言客户端 SDK
推荐硬件配置如下:
- 入门级:4 核 vCPU,8G 内存,单机约支持 32 路请求
- 进阶级:16 核 vCPU,32G 内存,单机约支持 64 路请求
- 高性能:64 核 vCPU,128G 内存,单机约支持 200 路请求
2. 快速上手
本次实践基于 openEuler 22.03 LTS-SP3 环境,Docker 版本为 27.4.0。
2.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.2 镜像拉取与启动
拉取 FunASR 运行时镜像并创建资源目录:
# 拉取镜像
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
2.3 服务端启动
进入容器后,启动 funasr-wss-server 服务。这里需要注意模型路径映射及 SSL 配置:
# 容器内操作
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 &

