尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

FunASR 离线语音转写本地部署怎么搞?一台机器搞定完整指南

FunASR 离线语音转写本地部署怎么搞?一台机器搞定完整指南 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 是达摩院开源的语音识别工具包本文带你完成离线语音转写的本地部署一个脚本把服务装起来一条命令转出第一个结果全程不出你的机房。 转写流水线长什么样识别、端点检测、标点三件套一句话定位FunASR 把整条转写流水线打包进一个 Docker 服务音频进来带标点的文本出去。这条流水线由三个环节串起来每个环节都能单独使用ASR 声学模型Paraformer核心识别把声音转成文字VAD语音端点检测判断哪段音频里有人在说话先用 FSMN-VAD 把静音段裁掉只识别真正有人声的部分长录音效率明显更高标点模型识别出的裸文本是没有标点的这一级负责把逗号、句号补回去再经过逆文本正则化ITN输出最终结果整个服务端处理顺序如下图所示音频先进消息队列依次走过端点检测、声学生成、解码、标点预测最后交还文本 启动三步装环境、跑脚本、验服务第一步环境准备两样依赖加一块磁盘DockerWindows 用 Docker Desktop 并启用 WSL2 后端服务器直接装原生 DockerPython 3.8客户端机器需要磁盘预留 10GB 以上安装阶段机器要能访问外网拉镜像和模型第二步一条命令安装启动镜像模型一次拉齐先把源码拉到本地git clone https://gitcode.com/GitHub_Trending/fun/FunASR cd FunASR/runtime/deploy_tools然后执行离线中文转写服务的安装sudo bash funasr-runtime-deploy-offline-cpu-zh.sh install这条命令会依次拉取 Docker 镜像、下载 ASR / VAD / 标点三个模型、启动容器全程带进度条。成功标志是看到The service has been started.此时服务默认监听10095端口。第三步确认服务已启动一条 curl 命令在客户端机器上执行curl -k https://127.0.0.1:10095服务默认开启 SSL加密传输配的是自签证书所以要用https加-k跳过证书校验。返回HTTP/1.1 200或收到 WebSocket 握手响应就说明服务活着。之后日常运维只需要记住四个子命令start启动、stop停止、restart重启、--show查看当前全部配置。️ 第一次转写从一个音频文件到一批客户端脚本在runtime/python/websocket目录先装依赖pip install -r requirements_client.txt如果手里是 mp3、m4a 这类非 wav 文件还要装 FFmpegwinget install ffmpeg或对应系统的包管理器客户端靠它做格式转换。单文件转写python funasr_wss_client.py --host 127.0.0.1 --port 10095 \ --mode offline --audio_in ./meeting.wav --output_dir ./out客户端和服务端之间走 WebSocket 连接可以理解为两台对讲机通道建好后音频分块送过去识别文本流式返回。终端会实时打印识别文字out/目录里生成 json 结果文件即为成功。--mode决定识别方式三种模式按场景选模式工作方式适用场景offline整段识别准确度最高录音文件、会议归档online流式识别边说边出字精度略低对时延敏感的实时听写2pass先流式出草稿再整段修正既要快又要准批量转写怎么配把--audio_in从一个文件改指一个 wav.scp 清单文件每行标签 路径meeting_01 /data/audio/meeting01.mp3 call_02 /data/audio/call02.wav同一个客户端命令不用改服务端会逐条处理并输出各自的结果。两个常用开关--hotword指向热词文件每行格式为词 权重例如阿里巴巴 20能明显提升人名、产品名、行业术语的召回--use_itn 0关闭数字归一化。默认开启时一百二十三会被还原成123做语义分析等场景有时希望保留原始读法不想碰命令行的话把runtime/html5/static/index.html拷到浏览器打开填好服务地址和端口就能直接上传音频或点麦克风录音转写⚙️ 生产环境调优四件事默认配置够跑通但要上生产通常要按机器和业务调四处。改配置统一走update子命令改完restart生效线程数解码线程--decode_thread_num、IO 线程--io_thread_num。经验值是按 CPU 核心数的 1/4 到 1/2 设置16 核机器可以从 8/4 起步压测再微调。模型替换--asr_model支持传其他模型 ID 或本地路径想换行业专用模型去 model_zoo/modelscope_models.md 里挑。热词管理在服务端 workspace 下维护一份 hotwords.txt每次请求通过--hotword传入业务词表更新不用重启服务。端口与加密update --host_port 10096换端口纯内网环境可用update --ssl 0关掉加密仅限内网。避坑提醒改线程数这类参数先stop再updaterestart改动只对新启动的容器生效直接改不会热生效。 这套方案适合谁 常见坑检查清单适合的业务客服录音质检、会议纪要归档、庭审与访谈转写——共同点是对数据出网敏感必须在自己机器上闭环。想继续深入可以看 runtime/quick_start.md、examples/ 里的更多用法以及 docs/ 目录下的完整文档。上线前过一遍这份清单磁盘空间 ≥ 10GB否则模型下载阶段就会卡住客户端连不上服务先确认端口是不是 10095开了 SSL 就要走https-kmp3/m4a 转不出结果客户端机器没装 FFmpeg热词没效果检查文件是否每行都是词 权重两列的格式update改完没反应漏了restart或忘记先stop服务端改过--ssl 0客户端却还是默认 SSL 连接客户端要相应处理证书问题装好服务、转出第一个文件、把清单过一遍这套离线语音转写能力就可以进生产了。【免费下载链接】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),仅供参考
返回列表