Chattts Github项目:GitHub – 2noise/ChatTTS: A generative speech model for daily dialogue.
Chattts 增强版 GitHub项目:GitHub – CCmahua/ChatTTS-Enhanced
ChatTTS 是一款为对话场景设计的语音合成模型,专为 LLM 助手任务优化。它不仅支持多语言(中文和英文),还能预测和控制细粒度的韵律特征,包括笑声、停顿和插话等。使用这款工具,你可以实现自然流畅的语音合成,特别适合对话任务。
一、环境
conda 环境的创建、查看、删除,请查看:[[coda创建、查看、删除虚拟环境]]
二、安装
git clone https://github.com/2noise/ChatTTS
cd ChatTTS
(一)直bobyai 接安装
pip install --upgrade -r requirements.txt
(二)使用 conda 安装
依赖:
conda install -c conda-forge gradio
conda install -c conda-forge pydantic
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt
pip install safetensors vllm==0.2.7 torchaudio
安装GPU版本torch:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
[!tip] 我的cuda版本是12.4
(三)可选 : 如果使用 NVIDIA GPU(仅限 Linux),可安装 TransformerEngine。
安装过程可能耗时很长。
TransformerEngine 的适配目前正在开发中,运行时可能会遇到较多问题。仅推荐出于开发目的安装。
pip install git+https://github.com/NVIDIA/TransformerEngine.git@stable
(四)可选 : 安装 FlashAttention-2 (主要适用于 NVIDIA GPU)
支持设备列表详见Hugging Face Doc.
pip install flash-attn --no-build-isolation
三、启动
确保在执行以下命令时,处于项目根目录下。
(一)WebUI 可视化界面
python examples/web/webui.py
(二)命令行交互
[!tip] 生成的音频将保存至
./output_audio_n.mp3
python examples/cmd/run.py "Your text 1." "Your text 2."
四、关键参数详解
在使用 ChatTTS 过程中,了解和调整关键参数非常重要:
- Audio Seed
含义: 用于初始化随机数生成器的种子值。设置相同的 Audio Seed 可以确保重复生成一致的语音,便于实验和调试。
推荐 Seed: 3798-知性女、462-大舌头女、2424-低沉男。 -
Text Seed
含义: 类似于 Audio Seed,在文本生成阶段用于初始化随机数生成器的种子值。 -
Refine Text
建议: 勾选此选项可以对输入文本进行优化或修改,提升语音的自然度和可理解性。 -
Audio Temperature
含义: 控制输出的随机性。数值越高,生成的语音越可能包bobyai 含意外变化;数值较低则趋向于更平稳的输出。 -
Top_P 和 Top_K
Top_P: 核采样策略,定义概率累积值,模型将只从这个累积概率覆盖的最可能的词中选择下一个词。
Top_K: 限制模型考虑的可能词汇数量,设置为一个具体数值,模型将只从这最可能的 K 个词中选择下一个词。
文本控制
1. Input Text : 需要转换的文本,支持中文和英文混杂
2. Refine text : 是否对文本进行口语化处理
3. Text Seed : 配置文本种子值,不同种子对应不同口语化风格
4. : 随机产生文本种子值
5. Output Text : 口语化处理后生成的文本
音色控制
1. Timbre : 预设的音色种子值
2. Audio Seed : 配置音色种子值,不同种子对应不同音色
3. : 随机产生音色种子值
4. Speaker Embedding : 音色码,详见 音色控制
情感控制
1. temperate : 控制音频情感波动性,范围为 0-1,数字越大,波动性越大
2. top_P :控制音频的情感相关性,范围为 0.1-0.9,数字越大,相关性越高
3. top_K :控制音频的情感相似性,范围为 1-20,数字越小,相似性越高
系数控制
1. DVAE Coefficient : 模型系数码
2. Reload : 重新加载模型系数
播放控制
1. Auto Play : 是否在生成音频后自动播放
2. Stream Mode : 是否启用流式输出
3. Generate : 点击生成音频文件
4. Output Audio : 音频生成结果
5. ↓ : 点击下载音频文件
6. ▶️ : 点击播放音频文件
示例控制
1. Example : 点击切换示例配置
五、进阶使用技巧
除了基本的参数设置,你还可以通过本地部署 Web UI 或 API 的方式进行更细粒度的控制,比如调整笑声、停顿和口音。以下是一些常用的控制标记:
[oral_(0-9)]: 控制口音强度
[laugh_(0-2)]: 控制笑声
[break_(0-7)]: 控制停顿时间
试试不同的组合,比如 [oral 2][laugh 0][break 4],探索更多有趣的语音效果。
更多进阶用法:[[ChatTTS —— 进阶用法,手把手带你实现个性化配音,音色、语速、停顿,口语,全搞定_chattts训练自己的声音]]
六、实战经验分享
在实际使用 ChatTTS 过程中,有几点需要注意:
避免使用标点和阿拉伯数字:当前版本对中文标点和阿拉伯数字支持有限,建议转换为读音友好的形式。
处理长文本:ChatTTS 目前对超过 30 秒的音频效果不佳,需要手动修复。
字母间隔:确保字母之间用空格分割,否则会被当作一个单词读取。
七、开机启动
参考:[[Debian 开机启动设置]]
注意: 各种工具,如stable diffusion、sdxl等部署时,需要在开机启动设置中,切换 conda 虚拟环境
程序后台运行,可按如下执行:
cd /root/ChatTTS # 切换到 chattts 目录
conda activate chattts # 运行chattts 虚拟环境
nohup python -u examples/web/webui.py > chattts.log 2>&1 & # 后台执行 chattts 程序
nohup fastapi dev examples/api/main.py --host 0.0.0.0 --port 8000 > fastapt.log 2>&1 &
conda deactivate
Chattts 增强版启动:
cd ChatTTS-Enhanced
conda activate Dlab
python webui/webui.py
python webui/webui.py --server_name=0.0.0.0.0 --server_port=8080
nohup python webui/webui.py > chattts.log 2>&1 & # 后台执行 chattts 程序
conda deactivate
更多关于开机启动:[[Debian 开机启动设置]]
八、参考
- [ 1 ] 音色文件:GitHub – 6drf21e/ChatTTS_Speaker: ChatTTS 2000条音色稳定性打分+区分男女年龄+在线试听 ChatTTS 2K Speaker Stability Score & Categorized by Gender and Age & Audio Preview
- [ 2 ] Debian GPU环境设置:[[AIGC 实战(环境篇) – EXSI 8.0 Debian安装RTX3060显卡驱动]]
- [ 3 ] Debian python等安装:[[AIGC 实战(环境篇) – Python、Anaconda、PyTorch安装]]
- [ 4 ] Debian 开机启动设置:[[Debian 开机启动设置]]
- [ 5 ] GitHub – xiciliu/Awesome-ChatTTS-2: 官方推荐的 ChatTTS 最佳入门指南,整理和汇总了常见问题和相关资源
- [ 6 ] ChatTTS 保姆级教程从入门到精通-CSDN博客
- [ 7 ] Chattts 增强版:GitHub – CCmahua/ChatTTS-Enhanced
必须 注册 为本站用户, 登录 后才可以发表评论!