ChatTTS 语音合成服务

专为对话场景设计的 TTS 模型服务,支持情感控制。

端口

  • 服务端口: 12002

功能

  • 对话式语音合成(有语气变化)
  • 情感控制(开心、悲伤、笑声)
  • 批量合成
  • 中文效果好

硬件要求

  • GPU: 推荐 NVIDIA GPU显存 ≥ 4GB
  • CPU: 可运行但较慢
  • 内存: ≥ 16GB

部署步骤

1. 安装依赖

pip install -r requirements.txt

2. 启动服务

# 默认端口 12002
python3 server.py

# 或使用脚本
PORT=12002 ./start.sh

首次启动会自动下载 ChatTTS 模型(约 2GB

3. 验证服务

curl http://localhost:12002/

返回:

{
  "status": "ok",
  "service": "ChatTTS",
  "model_loaded": true,
  "device": "cuda"
}

API 接口

合成语音

POST /synthesize
Content-Type: multipart/form-data

参数:
- text: 要合成的文本
- temperature: 温度参数(默认 0.3
- top_p: Top-P 参数(默认 0.7
- top_k: Top-K 参数(默认 20

返回:
{
  "audio_url": "/audio/xxx.wav",
  "duration": 3.5,
  "text": "你好",
  "timestamp": "..."
}

示例

curl -X POST http://localhost:12002/synthesize \
  -F "text=你好,很高兴见到你"

带情感合成

POST /synthesize/emotion

参数:
- text: 文本
- emotion: 情感类型neutral/happy/sad/laugh

返回: 同上

情感类型

  • neutral: 平静
  • happy: 开心
  • sad: 悲伤
  • laugh: 笑声

批量合成

POST /synthesize/batch
Content-Type: application/json

Body:
[
  {"text": "第一句"},
  {"text": "第二句"}
]

获取音频文件

GET /audio/{filename}

特点对比

特点 Edge TTS ChatTTS
部署 无需部署 需 GPU
质量 对话优化
情感 固定音色 可控
延迟 1-3秒 0.5-1秒
离线

与语音对话网页集成

在 voice-chat-web 的 TTS 设置中选择 ChatTTS服务地址配置为

http://192.168.2.5:12002

注意事项

  1. 模型首次加载需要下载约 2GB
  2. GPU 运行速度更快CPU 可用但较慢
  3. 长文本建议分段合成
  4. 情感标记功能需要 ChatTTS 版本支持
Description
ChatTTS对话式语音合成服务
Readme 51 KiB
Languages
Python 96%
Shell 4%