突破开源天花板!最强文本转语音工具ChatTTS:对话式高可控的语音合成模型

ChatTTS 一夜爆火, 极速出圈, 3 天就斩获 9k 的 Star 量, 截止 2024.06.04, 已经 19.3k 的 star, 极速接近 GPT-soVITs 当天的 26.2k 的 star 数。

什么是ChatTTS?

TTS全称:Text To Speech(也就是文本转语音模型)。ChatTTS是专为对话场景设计的语音生成模型,特别适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。它支持中文和英文,通过使用大约100,000小时的中文和英文数据进行训练,ChatTTS在语音合成中表现出高质量和自然度。

现在ChatTTS正式上线了官网,所有用户都可以直接在线体验了。

相关链接

ChatTTS中文官网:https://chattts.com/zh

GitHub项目地址:https://github.com/2noise/ChatTTS

Hugging Face模型地址:https://huggingface.co/2Noise/ChatTTS

使用页面

ChatTTS Web_UI链接:https://github.com/jianchang512/ChatTTS-ui

  • text:指的是需要转换成语音的文字内容。

  • Refine text:选择是否自动对输入的文本进行优化处理。

  • 随机度:一个控制输出随机性的参数,数值越大,生成的语音随机性越高,这可能导致生成的语音质量有时更好,有时更差。

  • 声音选择:默认值为2222,这是一个数字参数,用于选择声音的类型。可选的数字有2222、7869、6653、4099、5099,可以任选其一,或者输入其他数字以随机选择声音。

  • 定制声音:这是一个正整数参数,用于定制声音的音调和音色。如果设置了此值,将优先使用,而忽略声音选择参数。

  • 提示设置:用于添加笑声、停顿等效果。例如,可以设置为[oral_2][laugh_0][break_6]。

ChatTTS介绍

什么是ChatTTS?

TTS全称:Text To Speech(也就是文本转语音模型)

而ChatTTS是专为对话场景设计的语音生成模型,特别适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。它支持中文和英文,通过使用大约100,000小时的中文和英文数据进行训练,ChatTTS在语音合成中表现出高质量和自然度。

ChatTTS亮点

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

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

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

计划路线

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

  • 开源VQ encoder和Lora 训练代码

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

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

  • ChatTTS.cpp

使用建议

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

模型稳定性不够好, 会出现其他说话人或音质很差的现象是由于自回归模型,说话人可能会在中间变化, 可能会采样到音质非常差的结果, 这通常难以避免。可以多采样几次来找到合适的结果。

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

免责声明

此repo仅用于学术目的。它旨在用于教育和研究用途,不得用于任何商业或法律目的。作者不保证信息的准确性、完整性或可靠性。此 repo 中使用的信息和数据仅用于学术和研究目的。数据来自公开来源,作者不对数据主张任何所有权或版权。

ChatTTS 是一款功能强大的文本转语音系统。然而,负责任且合乎道德地使用这项技术非常重要。为了限制 ChatTTS 的使用,我们在 40,000 小时模型的训练过程中添加了少量高频噪音,并使用 MP3 格式尽可能压缩音频质量,以防止恶意行为者将其用于犯罪目的。同时,我们内部训练了一个检测模型,并计划在未来将其开源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/22512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 基于注解的防重复提交

由于前端未作防抖校验或者接口调用者出现问题导致调用多次情况时有发生,像查询这种请求即使多次请求也不会造成什么影响,但是涉及增删改可就影响大了。 1、首先定义一个自定义注解 /*** 自定义注解防止表单重复提交* * author fjh**/ Inherited Target…

数字生命计划1.0

一. 背景 即使人们强调思维与肉体是两大构成个体的先决条件,但科学界始终没有放弃探索摆脱肉体的介质,从而让思维上载的研究。 这就是数字生命计划的初衷。所谓数字生命,就是将人类的意识思维抽离,上传至云端或智能终端&#xf…

eMMC的封装类型及特点有哪些?

eMMC(Embedded MultiMediaCard)是一种高度集成的嵌入式存储解决方案,广泛应用于智能手机、平板电脑、笔记本电脑、消费电子产品和物联网设备等领域。eMMC的封装形式对其性能、应用和设备设计有着重要的影响。目前,eMMC主要有两种封…

航空航天技术翻译要求

航空航天技术是一项国际化产业,航空技术更新迅速涉及的专业知识较为广泛。在航空领域,每一个术语都有着特定的含义和用法,稍有差池就可能导致翻译出现严重的后果,因此,航空航天翻译扮演者至关重要的角色。 专业航空航天…

【ARM Cache 与 MMU 系列文章 7.6 -- ARMv8 MMU 相关寄存器介绍】

文章目录 MMU 转换控制寄存器 TCR_ELxTCR_ELx 概览TCR_ELx 寄存器字段详解TCR 使用示例Normal MemoryCacheableShareability MMU 内存属性寄存器 MAIR_ELx寄存器结构内存属性字段使用实例 MMU 地址翻译表基址寄存器 TTBR0/1_ELxTTBR0_ELx 寄存器概述寄存器结构功能和用途编程示…

在Spark SQL中,fillna函数

目录 前言 以下是在Spark SQL中使用fillna函数的示例代码: 运行以上代码将输出: 总结 前言 在Spark SQL中,fillna函数用于填充DataFrame或Dataset中的缺失值(NULL或NaN)。它可以根据指定的列名和值来替换缺失值&…

idea Pycharm Webstorm 2024年 最新版 永久使用2099年教程 附激活码亲测可用

idea Pycharm Webstorm 2024年 最新版 永久使用2099年教程 附激活码亲测可用 链接: 下载 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE (jetbrains.com)(这是官网的) 下载 安装 1.双击idea的安装包,点击next 选择创建桌面快捷…

深入剖析时序Prophet模型:工作原理与源码解析|得物技术

随着得物业务的快速发展,积累了大量的时序数据,这些数据对精细化运营,提升效率、降低成本有着重要作用。在得物的时序数据挖掘场景中,时序预测Prophet模型使用频繁,本文对Prophet的原理和源码进行深入分析,…

linux学习:进程通信 管道

目录 例子1 父进程向子进程发送一条消息,子进程读取这条消息 例子2 mkfifo 函数创建一个命名管道 例子3 mkfifo 函数创建一个命名管道处理可能出现的错误 例子4 管道文件是否已存在 例子5 除了“文件已存在”进行处理 例子6 创建一个命名管道&…

删除docker 镜像和容器

删除docker镜像,需要先删除容器; 删除docker容器,需要先停止容器; ①查询容器 docker ps -a 查看相关容器(运行中和停止的) ②停止容器 docker stop 容器id ③删除容器docker rm 容器id ④docker rmi…

边缘计算网关:企业数字化转型的重要支撑-天拓四方

在数字化浪潮席卷全球的今天,企业对于数据处理和传输的需求日益增强。然而,传统的数据处理模式往往依赖于中心化的数据中心,这种方式在处理大量数据时存在延迟高、成本高、安全性差等问题。数据量的激增和实时性要求的提高,使得传…

让AI给你写代码(9.3):一点改进,支持扩展本地知识库

改进目标,当输入提示问题后,能匹配到本地知识库的需求,然后AI按匹配到的需求给出代码并进行自动测试; 如果无法匹配到本地需求,可以直接输入生成逻辑,再由AI生成,然后支持用户把新需求插入本地库…

XML概述、格式、解析-WEB

XML概述 XML(Extensible Markup Language) 可扩展的标识语言 数据传输的一种格式 树形结构(节点) 优点 解析的更快 : 使用标签语言,能够很快定位 占用空间小 : 纯文本格式 可读性强 : 带有名字的标签我们都很喜欢 跨平…

MathType7.9最新免费注册机注册码激活码分享

MathType作为一个强大的数学公式编辑器,广泛用于教育、科研和出版领域。它支持多种文档格式和数学符号,是撰写科技文档不可或缺的工具。对于一些个人用户和小型机构来说,正版软件的高昂价格可能是一个负担。因此,寻找合法途径下的…

Windows 10 以上版本用久了应该重新安装还是重置呢?

今天明月工作电脑的 Windows 10 因为安装过太多软件和使用太久了的缘故造成网络总是很不稳定,总是出现一些莫名其妙的问题,实在是懒得去查找和排错了,就想着干脆推到重来吧,这样性能表现还会提升不少,并且可以一次性的…

向量化:机器学习中的效率加速器与数据桥梁

在机器学习领域的广袤天地中,向量化技术以其独特的魅力,为数据处理和模型训练注入了强大的动力。本文将深入探讨向量化在机器学习领域中的体现,剖析其如何助力模型实现高效的数据处理和精确的结果预测,并通过丰富的案例和详尽的数…

容器中运行ping提示bash: ping: command not found【笔记】

容器中运行ping提示bash: ping: command not found 原因是容器中没有安装ping命令 在容器中安装ping命令,可以使用以下命令: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y iputils-ping对于基…

【如何利用c++RAII技术实现自动加解锁】

1. 思路 可以使用C中的 RAII(资源获取即初始化)技术来实现自动加锁解锁。这意味着你可以创建一个包含加锁和解锁操作的类,并在其构造函数中加锁,在析构函数中解锁。这样,在该类的实例化对象超出作用域时,自…

sqlite数据库存储

Android中的SQLite是一个轻量级的数据库管理系统,它内置在Android系统中,允许开发者在应用程序中存储和管理结构化数据。下面我将详细解释如何在Android中使用SQLite进行数据库操作,包括创建数据库、升级数据库、添加数据、更新数据、删除数据…

分布式锁(2):基于数据库实现分布式锁

1 悲观锁 1.1 原理 在select的时候就会加锁,采用先加锁后处理的模式,虽然保证了数据处理的安全性,但也会阻塞其他线程的写操作。在读取数据时锁住那几行,其他对这几行的更新需要等到悲观锁结束时才能继续 。select ... for update 悲观锁适用于写多读少的场景,因为拿不…