ChatTTS本地部署实践(含常见错误解决方案)
本文介绍了开源对话语音模型ChatTTS的Python本地部署方法。主要内容包括:从GitHub克隆项目、安装依赖库(注意transformers需4.53.2版本)、初始化模型(使用chat.load()方法)、文本转语音实现及音频保存。文章提供了完整代码示例,并解决了运行中可能出现的版本不兼容问题。测试生成的语音效果自然,证实了部署成功。该方案支持中英双语的对话式语音合成,适用于需要本地化语音
ChatTTS是一款由2noise开发的专为对话场景设计的开源文本转语音模型,支持中英双语,具备自然韵律控制和多说话人交互能力。本文对基于Python的ChatTTS本地部署进行具体介绍。
准备工作
从GitHub上把ChatTTS克隆到本地
git clone https://github.com/2noise/ChatTTS
安装依赖库
pip install torch ChatTTS soundfile -i https://pypi.mirrors.ustc.edu.cn/simple/
为了保存音频文件,还需要安装soundfile库。此处均采用中国科大镜像源安装,安装的ChatTTS版本为0.2.4。
第一个程序代码
导入库
import torch
import ChatTTS
import soundfile as sf
初始化ChatTTS
chat = ChatTTS.Chat()
chat.load(compile=True)
值得注意的是,ChatTTS官网中的初始化方法是chat.load_models(),由于ChatTTS版本迭代,load_models()已不复存在,须改为load()才能正常运行。
第一次运行时需要一段时间来下载一系列文件,并保存在同级目录下的asset文件夹中。
进行语音生成
texts = ["你好,欢迎使用人工智能文字转语音功能"]
wavs = chat.infer(texts, use_decoder=True)
texts列表存储的是用于文字转语音的字符串,可以有一或多个。若运行时出现错误:RuntimeError: narrow(): length must be non-negative.需要确认transformers库版本是否适配。ChatTTS适配的transformers版本为4.53.2,在命令行中尝试:
pip uninstall transformers
pip install transformers==4.53.2 -i https://pypi.mirrors.ustc.edu.cn/simple/
基本可以解决该问题。
保存生成的音频文件
sf.write("test.wav", wavs[0], 24000)
由于texts中只有一个字符串,因此生成的wavs中只有一个元素wavs[0]。若有多个字符串,可用循环实现分别保存为一个wav格式音频文件。
完整代码
import ChatTTS
import torch
import soundfile as sf
chat = ChatTTS.Chat()
chat.load(compile=True)
texts = ["你好,欢迎使用人工智能文字转语音功能"]
wavs = chat.infer(texts, use_decoder=True)
sf.write("test.wav", wavs[0], 24000)
运行结果
运行代码,得到音频文件test.wav:
经检验,语音效果自然顺畅,ChatTTS本地部署成功。
更多推荐

所有评论(0)