ChatTTS-ui 部署实操:10 分钟跑通本地语音合成
ChatTTS-ui 部署实操10 分钟跑通本地语音合成【免费下载链接】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-uiChatTTS-ui 是基于 ChatTTS 内核的本地网页语音合成工具打开浏览器输入文字就能出语音中英文和数字混杂也能正常读同时对外提供 /tts 接口。本文覆盖 Docker 一键拉起 → 源码依赖安装 → 模型与音色准备 → API 调用帮你一次跑通 ChatTTS-ui 部署。快速上手Docker 一键拉起先克隆项目到本地并进入目录git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui.git chat-tts-ui cd chat-tts-ui再用 compose 启动容器GPU 机器换用 docker-compose.gpu.yamldocker compose -f docker-compose.cpu.yaml up -d docker compose logs -f --no-log-prefix等日志出现启动:[0.0.0.0, 9966]后浏览器访问 http://127.0.0.1:9966 。首次启动会自动下载模型并打开浏览器耐心等待即可。部署路径选择方式适用人群上手时间注意事项Docker 容器服务器、批量部署约 10 分钟需装 Docker Compose镜像基于 pytorch/torchserve源码部署开发调试、二次开发约 20 分钟Python 限 3.9–3.11首次启动联网下模型Windows 预打包版只想快速体验约 5 分钟解压双击 app.exe部分安全软件可能误报如果你不确定选 Docker 容器部署。Windows 预打包版从项目 Releases 下载 Windows 压缩包解压后双击 app.exe控制台出现启动提示后访问 http://127.0.0.1:9966 。NVIDIA 显卡显存大于 4G 且已装 CUDA 12.8 时会自动启用 GPU 加速遇到报毒提示可用源码部署替代。Docker 容器部署启动命令与快速上手一致区别只在配置文件有 NVIDIA GPU 用 docker-compose.gpu.yaml纯 CPU 用 docker-compose.cpu.yaml。compose 文件会把当前目录挂载为 /app 并映射 9966 端口模型和生成的音频都落在宿主机项目目录下容器删除也不丢数据。代码更新后执行docker compose down再在 up 命令后加--build重建镜像。服务器部署时把地址换成服务器 IP 即可例如 http://192.168.1.100:9966 无需其他改动。源码手动部署准备 Python 3.9–3.113.12 会报 Dynamo 不支持克隆代码后建虚拟环境装依赖python3 -m venv venv source ./venv/bin/activate # Windows 下执行 .\venv\Scripts\activate pip install -r requirements.txtPyTorch 单独装按硬件二选一pip install torch2.7.1 torchaudio2.7.1 # CPU / macOS pip install torch2.7.1 torchaudio2.7.1 --index-url https://download.pytorch.org/whl/cu128 # 上一行为 NVIDIA GPU 版需已装 CUDA 12.8最后启动首次运行自动下载模型并打开浏览器python3 app.pyLinux 下系统依赖执行sudo apt-get install ffmpeg python3.10 python3.10-venvCentOS 换 yum。显存充足却仍走 CPU 时先pip uninstall -y torch torchaudio再按 cu128 重装 GPU 版。macOS 额外步骤先执行brew install python3.10 libsndfile libomp缺 libsndfile 会导致 soundfile 装不上缺 libomp 会报 libomp.dylib 冲突。若进度条卡在 0%把本地工作副本 .env 里的 compile 保持为 false默认即是。模型与资源准备首次启动会自动检测网络能连 modelscope 就从魔塔下载否则走 huggingface模型缓存在项目根目录 models/ 下的 pzc163/chatTTS 子目录。⚠️ modelscope 只接受直连挂着代理下载会报 ProxyError关掉代理再重启。下载不完整时可手动补齐把完整模型文件重点是 asset/spk_stat.pt 和 config/path.yaml放进 models/pzc163/chatTTS/ 对应子目录后重启。固定音色支持 csv 或 pt 两种格式放进 speaker/ 目录后在界面里填文件名不带扩展名或任意数字种子即可。0.96 版后从外部站点下载的 pt 文件需要先转换python cover-pt.py脚本会把 speaker/ 下 seed_ 开头、_emb.pt 结尾的文件转成可用的 -covert.pt 格式转换后原文件可删。参数与 API 调用Web 界面背后就是 /tts 接口POST 一个最简请求即可出语音import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 欢迎使用 ChatTTS-ui, voice: 3333, temperature: 0.3 }) print(res.json())成功时返回code:0和 audio_files 数组其中 url 就是可直接下载的 wav 地址。常用参数如下参数默认值说明text必填要合成的文字多行会分段合成voice2222音色数字也可填 speaker/ 下 csv/pt 文件名prompt空控制符如 [laugh_0][break_6] 表示笑声、停顿temperature0.3温度越低音色越稳定top_p / top_k0.7 / 20采样参数skip_refine01跳过文本精修速度更快custom_voice0大于 0 时优先生效并忽略 voicewav01直接返回 wav 文件而非 json端口和设备改本地 .env 文件即可WEB_ADDRESS 换端口和 IPdevice 指定 cpu / mps / cuda改完重启生效。踩坑速查端口被占用启动报 address already in use多半是 9966 被其他程序占了。改本地 .env 里的 WEB_ADDRESS 端口后重启。模型下载报 ProxyError走 modelscope 时不允许挂代理。关掉系统代理重新执行 python3 app.py。有显卡但走 CPU显存低于 4G 会自动降级 CPU属正常保护。显存充足却仍走 CPU多半装成了 CPU 版 torch卸载后按 cu128 重装。Dynamo is not supported on Python 3.12项目只支持 Python 3.9–3.11。换 3.10 重建虚拟环境再装依赖。报 Missing spk_stat.ptmodels 目录里模型不完整魔塔源缺该文件。手动下载 spk_stat.pt 放到 models/pzc163/chatTTS/asset/ 下再重启。跑通任一路径后改 .env 换端口即可给局域网使用。更多参数细节与报错对照见 README.md 和 faq.md。【免费下载链接】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),仅供参考

相关新闻

Mac 手动安装 ADB 教程:platform-tools 配置与环境变量避坑指南

Mac 手动安装 ADB 教程:platform-tools 配置与环境变量避坑指南

ADB 这个东西,做 Android 开发、搞自动化测试、折腾电视盒子和模拟器的朋友都不陌生。但每次换新 Mac,或者帮同事配环境,最常听到的一句话就是"我 brew install 一下不就行了"。Homebrew 确实省事,可现实里你会遇到一堆…

2026/9/20 18:57:03 阅读更多 →
Flink DataStream 执行配置详解:ExecutionConfig 全选项与源码级原理解析

Flink DataStream 执行配置详解:ExecutionConfig 全选项与源码级原理解析

Flink DataStream 执行配置详解:ExecutionConfig 全选项与源码级原理解析 【免费下载链接】flink 项目地址: https://gitcode.com/gh_mirrors/fli/flink StreamExecutionEnvironment 内置的 ExecutionConfig 是 Flink DataStream 应用中设置"作业级&qu…

2026/9/20 18:57:03 阅读更多 →
SpringBoot集成Ollama调用DeepSeek-R1:本地部署大模型的工程实践

SpringBoot集成Ollama调用DeepSeek-R1:本地部署大模型的工程实践

简介:面向需要低成本接入大模型能力的Java开发者,这是一套演示如何基于Spring Boot与Spring AI调用deepseek-r1模型、实现本地免费使用的Demo工程。资源包为rar压缩格式,共7个文件,其中2个Java源文件为核心业务代码,负…

2026/9/20 18:57:03 阅读更多 →

最新新闻

PDFMathTranslate(pdf2zh)PDF 中文翻译快速上手:两条命令跑通,公式与排版完整保留

PDFMathTranslate(pdf2zh)PDF 中文翻译快速上手:两条命令跑通,公式与排版完整保留

PDFMathTranslate(pdf2zh)PDF 中文翻译快速上手:两条命令跑通,公式与排版完整保留 【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF…

2026/9/20 20:51:14 阅读更多 →
GeoLibre 完整实操指南:五步从第一张地图到分享嵌入,跑通云原生 GIS 全流程

GeoLibre 完整实操指南:五步从第一张地图到分享嵌入,跑通云原生 GIS 全流程

GeoLibre 完整实操指南:五步从第一张地图到分享嵌入,跑通云原生 GIS 全流程 【免费下载链接】GeoLibre A lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs in the web browser, on the des…

2026/9/20 20:51:14 阅读更多 →
Hugging Face Trending:Kimi K2.7 Code 权重接到 TaoToken

Hugging Face Trending:Kimi K2.7 Code 权重接到 TaoToken

/* 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 20:51:14 阅读更多 →
圆锥曲线 Python 可视化 45 分钟实践指南:三个滑块做出交互演示

圆锥曲线 Python 可视化 45 分钟实践指南:三个滑块做出交互演示

圆锥曲线 Python 可视化 45 分钟实践指南:三个滑块做出交互演示 【免费下载链接】Book3_Elements-of-Mathematics Book_3_《数学要素》 | 鸢尾花书:从加减乘除到机器学习;上架;欢迎继续纠错,纠错多的同学还会有赠书&am…

2026/9/20 20:51:14 阅读更多 →
QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战

QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战

QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode…

2026/9/20 20:51:14 阅读更多 →
UG/NX二次开发实战:用Python脚本批量修改零件参数

UG/NX二次开发实战:用Python脚本批量修改零件参数

1. 批量改参数的场景到底长什么样如果你在模具厂、汽配厂或者任何用UG/NX做产品设计的团队待过,大概率见过这种画面:设计变更通知单一来,几十上百个零件的某个尺寸要统一调整——可能是把某个孔径从8mm改成10mm,可能是把一批零件的…

2026/9/20 20:50:14 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →