最最简单的稳定生成语音教程ChatTTS
踩了很多坑探索出来的。
一、简介
ChatTTS是一个开源的中文语音合成项目,通过使用预训练的声音嵌入文件(.pt文件),我们可以实现固定音色的语音合成。
二、音色固定的步骤
1. 初始尝试
pip install chattts-fork
chattts "测试文本" --seed 222 -o output.wav
使用默认seed值生成的音色可能不够理想。声音控制不稳定。
2. 获取优质音色文件
前往 ChatTTS Speaker 下载评分较高的.pt音色文件。
3. 使用Python代码加载音色文件
import ChatTTS
import torch
from IPython.display import Audio
import torchaudio
# 1. 初始化模型
chat = ChatTTS.Chat()
chat.load_models()
# 2. 加载高质量音色文件
spk_emb = torch.load('seed_11_restored_emb.pt', map_location=torch.device('cpu'))
# 3. 设置生成参数
params_infer_code = {
'spk_emb': spk_emb, # 声音嵌入
'temperature': 0.03, # 温度参数,控制随机性
}
# 4. 生成语音
text = ["这是测试文本"]
wavs = chat.infer(text, params_infer_code=params_infer_code)
# 5. 保存音频
torchaudio.save("output.wav", torch.from_numpy(wavs[0]), 24000)
三、注意事项
-
音色文件选择:
- 优先使用评分较高的.pt文件
- 确保文件格式正确且未损坏
-
参数设置:
- temperature设置为0.03可获得较稳定的效果
- 使用CPU模式可避免CUDA相关错误
-
使用建议:
- 建议使用Python代码方式而不是命令行
- 文本长度保持适中
- 保存音频前先试听效果
四、参考资源
- ChatTTS官方项目:https://github.com/yihong0618/ChatTTS
- 音色稳定性评估:https://github.com/6drf21e/ChatTTS_Speaker
- 更多音色资源:https://github.com/libukai/Awesome-ChatTTS