news 2026/9/20 2:10:55

ChatTTS-ui 四步离线部署:零网络依赖的语音合成系统搭建指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ChatTTS-ui 四步离线部署:零网络依赖的语音合成系统搭建指南

ChatTTS-ui 四步离线部署:零网络依赖的语音合成系统搭建指南

【免费下载链接】ChatTTS-ui一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesize text into speech, along with support for external API interfaces.项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui

涉密机房、野外勘测、企业内网断网——这些场景还要用文字转语音,怎么办?ChatTTS-ui离线部署就是为此准备的:本地网页版 TTS 工具,自带对外 API 接口,模型全部放本机后,不联网也能稳定出音。本文带你四步建成一套无网络依赖的语音合成服务。

动手前先看原理:离线语音合成为何能全程断网

ChatTTS-ui 的离线模式核心就一句话:模型文件预先下载到本机,运行时只从磁盘读取,全程不碰外网。链路是:文本输入 → 本地分词 → 模型推理 → 音频输出,四个环节在本地闭环,断网、弱网环境照样出音。

🧭 动手前先选部署方案:单机与局域网怎么选

正式装之前先定方案。如果你的场景是企业内网部署,直接看第二行;两种方式只差一个--host参数,访问范围完全不同:

方案适用场景启动参数访问方式
单机部署个人用户、小规模使用python app.py --offline --port 9966仅本机访问,用curl http://localhost:9966/health验证
局域网部署企业内网多终端共享python app.py --offline --host 0.0.0.0 --port 9966内网终端经服务器 IP 加 9966 端口访问

方案选定后,下面四步两者通用,只是第四步的启动命令不同。

🔧 四步完成 ChatTTS-ui 离线部署:模型、配置、依赖、启动

第一步:下载 all-models.7z,摆对 5 个模型文件

模型包有两个获取渠道:项目发布页的 all-models.7z 压缩包,或镜像存储库里的备用下载节点。拿到包,离线模型安装的素材就齐了。解包后按下面结构放进asset/目录,五个文件一个都不能少:

asset/ ├── Vocos.pt # 声码器模型 ├── DVAE_full.pt # 变分自编码器 ├── GPT.pt # 语言模型 ├── Decoder.pt # 解码器 └── tokenizer.pt # 分词器

模型路径的定义位置在 ChatTTS/config/config.py,下一步会用上。

第二步:改主程序模型路径,再写 .env 环境变量

打开 app.py,定位约第 35 行附近的模型加载代码段,把网络下载改成指向本地目录,并确认五个模型文件齐全:

CHATTTS_DIR = MODEL_DIR + "/pzc163/chatTTS" required_models = [ "Vocos.pt", "DVAE_full.pt", "GPT.pt", "Decoder.pt", "tokenizer.pt" ]

再新建一个.env文件,写入三行离线开关:

OFFLINE_MODE=true MODEL_CACHE_DIR=./asset ENABLE_NETWORK_CHECK=false

其余两处配置位置也记一下:日志相关在 tools/logger/log.py,界面参数在 uilib/cfg.py。加载异常时先查这两个文件。

第三步:一条命令冻结依赖清单,再离线安装

找一台能上网的机器,先把当前环境的依赖清单导出:

pip freeze > requirements-offline.txt

requirements-offline.txt和全部依赖包打包拷到离线机器,然后本地安装:

pip install --no-index --find-links=./offline_packages -r requirements-offline.txt

--no-index表示不回连 pip 源、只从本地目录取包。装完这一步,运行环境就和外网彻底解耦了。

第四步:启动服务,用健康检查确认跑通

单机方案一条命令启动,紧跟一条健康检查:

python app.py --offline --port 9966 curl http://localhost:9966/health

选的是局域网方案,就把启动命令换成python app.py --offline --host 0.0.0.0 --port 9966curl拿到正常响应,说明服务已经跑起来,可以进入验收。

✅ 部署完成后的验收测试:一次 API 调用 + 性能基准对比

向本地接口发一条最小化合成请求,确认离线链路完整可用:

import requests response = requests.post('http://127.0.0.1:9966/tts', json={ "text": "离线语音合成测试成功", "voice": "default", "temperature": 0.3 }) print(response.json())

合成成功后,建议顺手记录一次离线环境的性能基准,方便日后横向对比:

测试项目在线模式离线模式
响应时间200-500ms300-800ms
音频质量优秀良好
并发能力
稳定性依赖网络完全稳定

离线模式响应时间略高属于正常现象,换来的是对网络状态的零依赖。

常见问题速查:三类典型故障对照排查

现象可能原因解决办法
启动时报“模型文件不存在”asset 目录下 .pt 文件缺失或不完整逐个核对 5 个模型文件是否齐全
无法加载模型配置中的路径与实际文件位置不匹配核对 config.py 里的路径,改成 asset 目录的真实位置
合成过程中崩溃内存不足增加系统内存,或降低并发数

排查先跟日志再动手:tail -f logs/app.log里出现 "download failed" 是网络残留问题,"file not found" 指向路径配置,"out of memory" 说明内存吃紧,对号入座即可。

性能调优与长期维护:硬件档位、参数与例行清单

硬件按三档配置就能覆盖绝大多数场景:个人使用 8GB 内存 + 4 核 CPU;企业部署 16GB 以上内存 + 8 核以上 CPU;高并发场景 32GB 以上内存并配专用 GPU。

软件侧在 config.py 里调整合成参数,批处理与编译开关直接影响吞吐:

model_config = { "batch_size": 4, "max_length": 512, "compile": true }

上线不是结束,建议每月走一遍例行维护清单:

  • 核对 asset 目录里 5 个模型文件的完整性
  • 检查系统内存、CPU 等资源占用
  • 更新依赖包版本
  • 定期复制 asset 目录,备份模型文件
  • 备份 .env 与配置文件
  • 归档保存重要的合成记录

到这里,一套完全断网可用的 ChatTTS-ui 语音合成服务就落地了。日常调整主要看三个入口:主程序 app.py、界面配置 uilib/cfg.py、模型路径定义 ChatTTS/config/config.py。按四步流程走一遍,个人单机到企业内网部署都能直接复用。

【免费下载链接】ChatTTS-ui一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesize text into speech, along with support for external API interfaces.项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 2:09:37

通达信主图叠加公式:板块标签与概念主营取数排错

简介:这份通达信主图叠加指标源码文档面向股票技术分析爱好者与公式编写初学者,解决在K线主图上集中查看个股所属行业、地区、概念与主营业务等基本面标签的需求。压缩包内仅1个doc文件,约197KB,内容以指标公式源码、知识点总结与…

作者头像 李华
网站建设 2026/9/20 2:09:26

401 报错?TaoToken 这样填 Cursor 的 Base URL

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 2:08:50

城市大脑建设方案:从数据契约到实时计算与知识图谱的工程实践

简介:智慧城市(城市大脑)建设方案PPT共83页,面向智慧城市与城市大脑领域的规划者、建设者及政企决策人员,围绕跨部门数据孤岛、数据价值挖掘不足、应急指挥手段传统等城市治理痛点,提供从顶层设计到落地实施…

作者头像 李华
网站建设 2026/9/20 2:08:33

提示词工程实战:10个技巧让AI一次说人话办正事

你有没有过这种经历:同样让AI写一份周报,同事嗖嗖几下给出一个逻辑清晰、还能直接改用的版本,你反复调了好几轮,得到的却是一堆正确的废话。这不是AI偏心,也不是你的账号被区别对待,大概率是你的提问方式还…

作者头像 李华
网站建设 2026/9/20 2:07:58

老视频翻新实战:Topaz Video AI 6.1.2超分修复全流程指南

今年年初整理旧硬盘,翻出来一批2010年用DV拍的素材——家里老人的生日宴、老房子院子的日常,还有一次小旅行的零碎记录。当时在DV小屏幕上觉得挺清楚,放到现在的4K电视上简直没法看:画面糊成一团,人脸边缘发虚&#xf…

作者头像 李华