ChatTTS-ui环境变量配置:自定义端口与网络设置详解
【免费下载链接】ChatTTS-ui 匹配ChatTTS的web界面和api接口 项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui
环境变量基础配置
ChatTTS-ui通过环境变量实现灵活的系统配置,无需修改源代码即可调整关键参数。所有配置项均在uilib/cfg.py中定义,支持通过操作系统环境变量或.env文件进行设置。核心配置参数包括:
- WEB_ADDRESS:控制服务监听地址与端口,默认值为
127.0.0.1:9966 - device:指定计算设备,可选值包括
cpu、cuda、mps或default - lang:界面语言设置,支持
zh(中文)和en(英文) - compile:控制模型编译优化,默认值为
true
端口与网络设置
基础端口配置
修改服务端口的三种方式(优先级从高到低):
- 命令行临时设置:
WEB_ADDRESS=0.0.0.0:8080 python app.py
- 系统环境变量:
# Linux/Mac
export WEB_ADDRESS=127.0.0.1:7788
# Windows (CMD)
set WEB_ADDRESS=127.0.0.1:7788
# Windows (PowerShell)
$env:WEB_ADDRESS="127.0.0.1:7788"
- .env文件配置(推荐): 在项目根目录创建
.env文件:
WEB_ADDRESS=0.0.0.0:9999
网络访问控制
通过修改WEB_ADDRESS的IP部分控制网络访问范围:
| 配置值 | 访问范围 | 安全级别 |
|---|---|---|
| 127.0.0.1:9966 | 仅本地访问 | 最高 |
| 0.0.0.0:9966 | 允许所有网络接口访问 | 较低 |
| 192.168.1.100:9966 | 仅指定网卡访问 | 中等 |
注意:设置为
0.0.0.0时需确保防火墙已正确配置,避免未授权访问
设备与性能配置
计算设备选择
通过device环境变量指定运行设备:
# 使用CPU运行
device=cpu python app.py
# 使用CUDA GPU
device=cuda python app.py
# 使用Apple Silicon GPU
device=mps python app.py
相关代码实现见app.py#L56-L64:
device_str=os.getenv('device','default')
if device_str in ['default','mps']:
device=select_device(min_memory=2047,experimental=True if device_str=='mps' else False)
elif device_str =='cuda':
device=select_device(min_memory=2047)
elif device_str == 'cpu':
device = torch.device("cpu")
模型编译优化
控制模型编译行为以平衡启动速度和运行性能:
# .env文件配置
compile=false # 禁用编译,加快启动速度(默认true)
编译功能通过app.py#L66实现:
chat.load(..., compile=True if os.getenv('compile','true').lower()!='false' else False)
界面与语言配置
界面语言切换
通过lang环境变量强制设置界面语言:
# 强制中文界面
lang=zh python app.py
# 强制英文界面
lang=en python app.py
语言检测逻辑在app.py#L41-L47:
env_lang=os.getenv('lang','')
if env_lang=='zh':
is_cn= True
elif env_lang=='en':
is_cn=False
else:
is_cn=is_chinese_os() # 自动检测系统语言
自定义音频合并大小
调整音频片段合并阈值,影响合成速度和内存占用:
# .env文件配置,默认值为10
merge_size=5
实现代码见app.py#L40:
merge_size=int(os.getenv('merge_size',10))
高级配置场景
Docker容器部署
通过环境变量配置Docker服务:
# docker-compose.gpu.yaml示例
services:
chattts:
environment:
- WEB_ADDRESS=0.0.0.0:9966
- device=cuda
- lang=zh
ports:
- "9966:9966"
多实例端口冲突解决
在同一服务器部署多个实例时,通过端口区分:
# 实例1
WEB_ADDRESS=127.0.0.1:9966 python app.py &
# 实例2
WEB_ADDRESS=127.0.0.1:9967 python app.py &
配置检查与故障排除
配置优先级验证
环境变量优先级高于配置文件,可通过以下命令验证:
# 查看当前生效配置
python -c "from uilib.cfg import WEB_ADDRESS; print(f'当前服务地址: {WEB_ADDRESS}')"
常见问题解决
-
端口占用错误:
- 症状:启动时报错
Address already in use - 解决:修改
WEB_ADDRESS使用未占用端口
- 症状:启动时报错
-
设备选择失败:
- 症状:CUDA设备不可用时自动回退到CPU
- 解决:检查显卡驱动或设置
device=cpu强制CPU运行
-
配置不生效:
- 症状:修改.env文件后配置无变化
- 解决:确保.env文件位于项目根目录,且变量名拼写正确
完整配置参数列表可参考项目文档faq.md和环境变量定义uilib/cfg.py。
【免费下载链接】ChatTTS-ui 匹配ChatTTS的web界面和api接口 项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



