资讯动态

ChatTTS-ui 离线部署:三步在内网跑起 TTS 服务

发布时间:2026/9/20 6:41:31 来源:尧图企业网站定制
ChatTTS-ui 离线部署三步在内网跑起 TTS 服务【免费下载链接】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一台内网 GPU 服务器没有公网出口但每天要批量生成上千条语音播报。公网 TTS 接口在这里一律使不上只能做 ChatTTS-ui 离线部署模型全部放在本地磁盘启动之后一个网络包都不发。下面带你从零跑通这台断网机器。 动手前先把这些东西备齐项目代码项目完整目录没代码的话先在有网机器上git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui连同speaker/里的示例音色一起拷到离线机器。模型快照约 2GB磁盘留 5GB 余量放在项目根目录下的models/pzc163/chatTTS/这个路径由 app.py 和 uilib/cfg.py 约定死文件asset/ 下用途gpt/config.json model.safetensors主模型占体积大头DVAE.safetensors音频编解码器变分自编码器Decoder.safetensors把模型输出解成 mel 频谱Vocos.safetensors声码器频谱 → 波形最后一步Embed.safetensors嵌入层tokenizer/3 个 json分词器spk_stat.pt音色分布统计随机音色必用来源Hugging Face 的2Noise/ChatTTS快照魔塔社区的pzc163/chatTTS镜像也能用但注意它缺spk_stat.pt漏了第一次调用就会报错。完整性校验cd models/pzc163/chatTTS sha256sum asset/Vocos.safetensors完整摘要去 ChatTTS/res/sha256_map.json 对——这个文件内置了全部模型文件的官方 hash。哪个对不上就是拷坏了加载时直接报加载失败。依赖与硬件底线Python 3.10–3.12requirements.txt 里锁定的关键版本torch≥2.7.1、numpy1.26.4、transformers、vocos、Flask、waitress。离线装包要在有网机器上先备好轮子pip download -r requirements.txt -d ./wheels # 有网机器 pip install --no-index --find-links./wheels -r requirements.txt # 离线机器硬件最低8 核 CPU 16GB 内存纯 CPU 推理或 6GB 以上显存的 GPU。 三步把离线服务跑起来第一步把模型快照放进 models/pzc163/chatTTShuggingface-cli download 2Noise/ChatTTS \ --local-dir ./models/pzc163/chatTTS # 有网机器上执行 # 然后把整个项目目录含 models/拷到离线机器为什么要这样做启动时 app.py 会先做local_files_only的本地检查快照完整就完全不碰网络缺文件才会回退去连 Hugging Face、再连魔塔——断网环境里这就是必然卡死。第二步写 .env 四个键在项目根目录建.envapp.py 开头用 python-dotenv 自动读取WEB_ADDRESS0.0.0.0:9966 # 默认只监听本机局域网访问必须放开 devicedefault # 自动探测 GPU/CPU多卡机可写死 devicecuda compilefalse # 纯 CPU 机器关掉省掉启动时的编译 langzh # 强制中文界面为什么是这四个它们是仅有的、直接影响运行行为的环境开关其余全走默认。第三步python app.py 启动并自检python app.py首次运行会自动建好models/、logs/、static/wavs/目录。启动日志里只要看不到下载模型的字样就说明走了离线加载。最后一条健康检查curl -I http://127.0.0.1:9966/ # 返回 HTTP/1.1 200 OK 即服务就绪让配置贴合你的实际环境参数默认值离线场景建议值说明WEB_ADDRESS127.0.0.1:99660.0.0.0:9966监听地址不改则局域网无法访问devicedefaultdefault 或 cuda默认自动探测多卡时固定设备compiletruefalse纯 CPUCPU 上编译白等GPU 上才划算lang按系统自动zh只影响网页界面语言另外models/路径是固定的系统盘小就ln -s /data/tts_models models软链到数据盘不用改一行代码。这几个参数也是内网 TTS 部署环境调优的主要位置改完重启即生效。 怎么确认离线模式真的在工作发一条最简请求curl -s http://127.0.0.1:9966/tts?text离线部署测试成功voice2222判断标准返回 JSON 的code为 0audio_files[0].url能下载并正常播放inference_time落在下表区间内即通过。想直接拿音频文件就加wav1会直接返回 24kHz wav。反过来只要启动日志里出现过下载模型说明还没真离线回第一步查文件。性能参考单机、无并发运行环境10 字文本100 字文本首次请求8 核 CPU / 16GB 内存3–8s30–90s多 10–30s 预热12GB 显存 GPU0.5–2s5–15s多 30s编译缓存 卡住了按这个顺序排查症状大概率原因一条修复动作启动长时间挂起日志出现下载模型快照不完整触发了联网回退按 sha256_map.json 逐个对 hash补齐缺的文件首次 /tts 报Missing spk_stat.pt模型取自魔塔镜像漏了这个文件从 2Noise/ChatTTS 快照拿 spk_stat.pt 放进 asset/本机 200、局域网无响应WEB_ADDRESS还是 127.0.0.1 默认改 0.0.0.0:9966 并放通防火墙对应端口纯 CPU 机器启动或推理 OOM模型常驻内存较大compilefalse并发压到 1–2No module named pynini之类离线依赖没装全有网侧 pip download 全部轮子再--no-index --find-links日志在logs/日期.logtail -f logs/*.log盯实时输出高频关键词download联网回退、not exist/sha256文件缺失或损坏、out of memory内存。跑稳之后值得做的两件事资源上个人单机 8 核 CPU 16GB 内存跑短文本批量合成没问题团队使用建议 12GB 以上显存的 GPU 加 32GB 内存并发开 3–5 也稳。跑起来之后每月用sha256sum对一遍模型文件再用pip freeze把依赖版本固化成文件存下来换新机器时能按清单一小时复刻出同一套环境。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价