chatTTS打破人机对话的壁垒 短视频、小说配音营销场景大杀器

本文主要是介绍chatTTS打破人机对话的壁垒 短视频、小说配音营销场景大杀器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

过去我们让AI说话,它给出的总是不咸不淡的机器合成声音,毫无波澜的死板音调让人听得昏昏欲睡。但由于chatTTS的到来,一切都将会变得不一样。作为一款强大的对话式文本转语音模型,它完美解决了用户对于生动对话的需求。如此功能不可小觑,可以称得上在业界一骑绝尘。对于短视频内容创作,有声小说配音,数字营销推广以及日常办公,它都可以成为强有力的助手。此外,该项目还衍生出音色抽卡,长文本推理,角色扮演等功能。

0f9f7e86c6970eb05c458fe24c6ddd48.jpeg

项目简介

ChatTTS由2noise推出,是专门为对话场景设计的文本转语音模型,例如LLM助手对话任务。使用非常简单,只需输入文本和信息,就可以生成相应的语音文件。它同时支持英文和中文,两种语言的发声效果都非常良好,甚至你可以输入中英文混搭的语句,它也能切换自如,轻松驾驭。

ChatTTS的训练量也是十分惊人。最大的模型使用了10万小时以上的中英文数据进行训练。在HuggingFace中开源的版本为4万小时训练且未SFT的版本。

ChatTTS非常适合处理通常分配给大型语言模型LLM的对话框任务。当集成到各种应用程序和服务中时,它可以生成对话响应,并提供更自然、更流畅的交互体验。

4bd84944fb10cedc153ab5eea7eaafc5.jpeg

核心功能

1. ChatTTS文本转语音

ChatTTS能够生成自然流畅的语音,输入的文本里允许加入笑声 [laugh] 和停顿 [uv_break] 作为韵律标记,可操作性很强。有了这些停顿和语气词等副语言现象,它听起来就像是我们在日常生活中的自然交流。它的发声也是不拘一格,比如你提问四川当地有哪些美食,它给出的回答还会带有一点口音!

2b7755549f5d97e7e2ebd8553f3ab08f.jpeg

几个示例https://colab.research.google.com/github/Kedreamix/ChatTTS/blob/main/ChatTTS_infer.ipynb#scrollTo=_xrONBIj9oxo

如果让它朗读/陈述信息,可以听到音质相当不错,声音清晰饱满,背景噪音较少,语速适中,声调平稳,英文发音颇为地道。。。这简直是广播电台的播音员无疑了!当然,也存在发音词带有吞音之类的问题,不过还是瑕不掩瑜。

如果让它读故事,那听起来真是抑扬顿挫,它时而提升声调突出重点,时而放缓过渡,同时也能处理好断句。

总的来说,ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。生成效果上,不论是语调还是语气的变化,都比较细腻,非常接近真人的说话方式,不会停留在单一的音调上显得生硬。整体上声音很连贯,不会有别扭的感觉。

2.细粒度控制--韵律调整:

该模型能够预测和控制细粒度的韵律特征,包括笑声、停顿和插入词等。前面我们有提到过韵律特征:停顿和笑声,实际上模型有许许多多种韵律的调整,不仅限于文本里常见的附加[uv_break]和[laugh](实际上笑声也有三种,[laugh_0]、[laugh_1]、[laugh_2]),还有[music]、[pure]、[oral_0]、[speed_3]、[Stts]、[Ptts]等,标记处上下文都会受到程度不一的影响,这样可以很好地做到控制情绪的表达而不显突兀。当然,目前运用参数自动地对文本的预处理还是不够精细的,可能还是需要一定的人工处理,不然将会更为理想。

言而总之,这个模型可以精确控制韵律元素包括笑声,停顿和语调等韵律元素。

项目实操

基础用法

import ChatTTS from IPython.display import Audio chat = ChatTTS.Chat() chat.load_models(compile=False) # Set to True for better performance texts = ["PUT YOUR TEXT HERE",] wavs = chat.infer(texts, ) 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. text = 'What is [uv_break]your favorite english food?[laugh][lbreak]' wav = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text, params_infer_code=params_infer_code) torchaudio.save("output2.wav", torch.from_numpy(wavs[0]), 24000) 570164a4992c35333a57f7726db998bb.jpeg

如有兴趣可以点击以下链接了解更多细节:

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

https://github.com/ultrasev/ChatTTS/blob/master/README.md

https://colab.research.google.com/github/Kedreamix/ChatTTS/blob/main/ChatTTS_infer.ipynb#scrollTo=_xrONBIj9oxo

高性价比GPU资源:https://www.ucloud.cn/site/active/gpu.html?ytag=gpu_wenzhang_tongyong_shemei

这篇关于chatTTS打破人机对话的壁垒 短视频、小说配音营销场景大杀器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030353

相关文章

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖