# ChatTTS 语音合成服务 专为对话场景设计的 TTS 模型服务,支持情感控制。 ## 端口 - **服务端口**: 12002 ## 功能 - 对话式语音合成(有语气变化) - 情感控制(开心、悲伤、笑声) - 批量合成 - 中文效果好 ## 硬件要求 - **GPU**: 推荐 NVIDIA GPU,显存 ≥ 4GB - **CPU**: 可运行但较慢 - **内存**: ≥ 16GB ## 部署步骤 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 启动服务 ```bash # 方式一:自动下载模型 python3 server.py # 方式二:使用已下载的模型(指定路径) MODEL_PATH=/path/to/ChatTTS python3 server.py # 方式三:使用本地缓存模型 MODEL_SOURCE=local python3 server.py ``` 首次启动会自动下载 ChatTTS 模型(约 2GB)。 **模型路径配置**: | 环境变量 | 说明 | 示例 | |---------|------|------| | `MODEL_PATH` | 模型目录路径 | `/data/models/ChatTTS` | | `MODEL_SOURCE` | 加载方式 | `auto` / `local` / `download` | ChatTTS 模型默认下载位置: - Linux: `~/.cache/modelscope/hub/ChatTTS/` - 或手动下载后解压到任意目录 ### 3. 验证服务 ```bash curl http://localhost:12002/ ``` 返回: ```json { "status": "ok", "service": "ChatTTS", "model_loaded": true, "device": "cuda" } ``` ## API 接口 ### 合成语音 ```bash 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": "..." } ``` **示例**: ```bash curl -X POST http://localhost:12002/synthesize \ -F "text=你好,很高兴见到你" ``` ### 带情感合成 ```bash POST /synthesize/emotion 参数: - text: 文本 - emotion: 情感类型(neutral/happy/sad/laugh) 返回: 同上 ``` **情感类型**: - `neutral`: 平静 - `happy`: 开心 - `sad`: 悲伤 - `laugh`: 笑声 ### 批量合成 ```bash POST /synthesize/batch Content-Type: application/json Body: [ {"text": "第一句"}, {"text": "第二句"} ] ``` ### 获取音频文件 ```bash 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 版本支持