ChatTTS简介
ChatTTS模型不仅在语音合成的自然流畅性上取得了显著成就,还通过对话式任务的优化,提升了模型对多说话人场景的适应能力。这种技术突破使得ChatTTS在处理复杂对话场景时,能够更加精准地模拟真实的人类对话,从而为用户提供更加沉浸式的交互体验。
在韵律处理方面,ChatTTS采用了先进的算法,确保了语音输出的节奏和语调更加贴近自然语言的韵律特征。这种对韵律的精细控制不仅增强了语音的自然度,还使得ChatTTS在表达情感和态度方面更加丰富和细腻。
此外,ChatTTS还提供了细粒度的控制选项,使用户能够根据需要调整语音输出的各种参数,包括笑声、停顿和插入词等。这些控制选项的使用,使得ChatTTS能够更加灵活地适应不同的对话场景和用户需求,进一步提升了语音交互的个性化和多样性。
缺点是 未开源 不能训练模型
亮点
-
对话式TTS:优化了对话式任务,支持自然流畅的语音合成和多说话人。
-
细粒度控制:能够预测和控制包括笑声、停顿和插入词在内的细粒度韵律特征。
-
更好的韵律:在韵律方面超越了大部分开源TTS模型。
API调用用法
import ChatTTS
from IPython.display import Audio
chat = ChatTTS.Chat()
chat.load_models(compile=False) # 设置为True以获得更快速度
texts = ["在这里输入你的文本",]
wavs = chat.infer(texts, use_decoder=True)
torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)
进阶用法
###################################
# Sample a speaker from Gaussian.
rand_spk = chat.sample_random_speaker()
params_infer_code = {
'spk_emb': rand_spk, # add sampled speaker
'temperature': .3, # using custom temperature
'top_P': 0.7, # top P decode
'top_K': 20, # top K decode
}
###################################
# For sentence level manual control.
# use oral_(0-9), laugh_(0-2), break_(0-7)
# to generate special token in text to synthesize.
params_refine_text = {
'prompt': '[oral_2][laugh_0][break_6]'
}
wav = chat.infer(texts, params_refine_text=params_refine_text, params_infer_code=params_infer_code)
###################################
# For word level manual control.
# use_decoder=False to infer faster with a bit worse quality
text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'
wav = chat.infer(text, skip_refine_text=True, params_infer_code=params_infer_code, use_decoder=False)
torchaudio.save("output2.wav", torch.from_numpy(wavs[0]), 24000)
请登录后查看评论内容