AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


炸裂!效果非常自然逼真!人类无法区分的语音克隆模型ChatTTS!
发布日期:2024-06-04 11:37:07 浏览次数: 2263


项目简介


个语音克隆模型的效果非常自然逼真,作者还只放出了4w小时训练的版本,确保这个模型的声音能被ai检测出来。作者还留着一个10w小时训练数据的版本。

这个语音专文本TTS模型 应该是目前对中文支持最好的了。问了周围人,确实区分不出来声音是不是生成的。

ChatTTS:专门为对话场景设计的文本到语音TTS模型

该模型经过超过10万小时的训练,公开版本在 HuggingFace 上提供了一个4万小时预训练的模型。

专为对话任务优化,能够支持多种说话人语音,中英文混合等。

模型还能够预测和控制细粒度的韵律特征,如笑声、停顿和插话等,还能进行更细粒度的调整,如语速、音调和情感等。

亮点

  1. 对话式 TTS: ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。

  2. 细粒度控制: 该模型能够预测和控制细粒度的韵律特征,包括笑声、停顿和插入词等。

  3. 更好的韵律: ChatTTS在韵律方面超越了大部分开源TTS模型。同时提供预训练模型,支持进一步的研究。

对于模型的具体介绍, 可以参考B站的宣传视频


免责声明

本文件中的信息仅供学术交流使用。其目的是用于教育和研究,不得用于任何商业或法律目的。作者不保证信息的准确性、完整性或可靠性。本文件中使用的信息和数据,仅用于学术研究目的。这些数据来自公开可用的来源,作者不对数据的所有权或版权提出任何主张。

ChatTTS是一个强大的文本转语音系统。然而,负责任地和符合伦理地利用这项技术是非常重要的。为了限制ChatTTS的使用,我们在4w小时模型的训练过程中添加了少量额外的高频噪音,并用mp3格式尽可能压低了音质,以防不法分子用于潜在的犯罪可能。同时我们在内部训练了检测模型,并计划在未来开放。



用法

基本用法

import ChatTTSfrom IPython.display import Audio
chat = ChatTTS.Chat()chat.load_models()
texts = ["<PUT YOUR TEXT HERE>",]
wavs = chat.infer(texts, use_decoder=True)Audio(wavs[0], rate=24_000, autoplay=True)

进阶用法

#################################### Sample a speaker from Gaussian.import torchstd, mean = torch.load('ChatTTS/asset/spk_stat.pt').chunk(2)rand_spk = torch.randn(768) * std + mean
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("<PUT YOUR TEXT HERE>", 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 qualitytext = '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)


计划路线

  •  开源4w小时基础模型和spk_stats文件

  •  开源VQ encoder和Lora 训练代码

  •  在非refine text情况下, 流式生成音频*

  •  开源多情感可控的4w小时版本

  •  ChatTTS.cpp maybe? (欢迎社区PR或独立的新repo)



常见问题

连不上HuggingFace

请使用modelscope的版本. 并设置cache的位置:

我要多少显存? Infer的速度是怎么样的?

对于30s的音频, 至少需要4G的显存. 对于4090D, 1s生成约7个字所对应的音频. RTF约0.65.

模型稳定性似乎不够好, 会出现其他说话人或音质很差的现象.

这是自回归模型通常都会出现的问题. 说话人可能会在中间变化, 可能会采样到音质非常差的结果, 这通常难以避免. 可以多采样几次来找到合适的结果.

除了笑声还能控制什么吗? 还能控制其他情感吗?

在现在放出的模型版本中, 只有[laugh]和[uv_break], [lbreak]作为字级别的控制单元. 在未来的版本中我们可能会开源其他情感控制的版本.



致谢

  • bark,XTTSv2和valle展示了自回归任务用于TTS任务的可能性.

  • fish-speech一个优秀的自回归TTS模型, 揭示了GVQ用于LLM任务的可能性.

  • vocos作为模型中的vocoder.

项目链接

https://github.com/2noise/ChatTTS/blob/main/README_CN.md



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询