MaskGCT——开源文本转语音模型,可模仿任何人说话声音

前期介绍过很多语音合成的模型,比如ChatTTS,微软语音合成大模型,字节跳动自家发布的语音合成模型Seed-TTS。其模型随着技术的不断发展,模型说话的声音也越来越像人类,虽然 seed-tts 可以进行语音合成等功能,但是其模型并没有开源,本期介绍的MaskGCT文本转语音模型是一个开源的模型,不仅可以生成语音,还可以模仿任何人说话的声音,且可以进行语气的转换。

大规模的文本转语音(TTS)系统通常被划分为自回归系统与非自回归系统。自回归系统虽隐式地对时长予以建模,然而在鲁棒性层面呈现出一定的短板,且时长的可控性匮乏。非自回归系统于训练期间,需要文本和语音之间的显性对齐信息,并对语言单位(诸如音素)的时长进行预测,此举或许会折损其自然度。而 Masked Generative Code Transformer(MaskGCT),此乃一个全然非自回归的 TTS 模型,它既无需文本和语音监督之间的显性对齐信息,也无需音素级时长预测。
MaskGCT 属于一个两阶段模型:在第一阶段,该模型凭借文本预测从语音自监督学习(SSL)模型中萃取的语义标记;在第二阶段,模型对以这些语义标记为条件的声学标记予以预测。MaskGCT 遵循掩码和预测的学习范式。在训练进程中,MaskGCT 会依据给定的条件和提示,学习预测被遮蔽的语义或声学标记。在推理过程里,该模型能够以并行的方式生成指定长度的标记。针对 10 万小时的自然语音展开的实验表明,MaskGCT 在质量、相似度以及可理解性等方面,皆胜于当下最为先进的零样本 TTS 系统。

MaskGCT 由四个主要部分组成:
(1)语音语义表示编解码器将语音转换为语义标记;
(2)文本到语义模型使用文本预测语义标记并提示语义标记;
(3)语义到声学模型根据语义标记预测声学标记;
(4)语音声学编解码器根据声学标记重建语音波形。


MaskGCT模型根据用户提供的声音与文本,识别输入数据的语音语调,通过输入其他的文本,合成具有相同语音语调的声音。

在很多自媒体创作中,很多配音都是合成的声音,若是自己拿稿进行配音,不仅需要重复调整,还需要花费大量的时间与精力,而使用MaskGCT模型,就没有这个担忧,直接让模型学习下自己的语音语调,然后就可以一次性输入自己的文案,让模型进行配音了,这样就大大节省了人工配音的时间成本(更不需要一个专业的录音设备)


MaskGCT模型不仅可以模仿说话者的声音,也可以根据需要调整说话人的情绪,比如高兴的,生气等,这样就可以输入MaskGCT模型多段文案,然后控制每段文案的情绪,就可以得到完美的配音了。

当然MaskGCT模型也可以针对原始语音进行调整修改,可以直接修改原始语音的文案,让MaskGCT模型生成其他的语音。更多使用场景可以到MaskGCT模型 GitHub 上面查看。而官方也放出了在线体验地址,可以进行在线体验。

https://maskgct.github.io/ 
https://github.com/open-mmlab/Amphion/blob/main/models/tts/maskgct/README.md 
https://voice.funnycp.com/
 
更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技
​

 动画详解transformer  在线教程 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

socket编程UDP-实现滑动窗口机制与累积确认GBN

在下面博客中,我介绍了利用UDP模拟TCP连接、按数据包发送文件的过程,并附上完整源码。 socket编程UDP-文件传输&模拟TCP建立连接脱离连接(进阶篇)_udp socket发送-CSDN博客 下面博客实现了停等机制。 socket编程UDP-实现停…

Linux 网络流量控制 - 实现概述

摘要 Linux 提供了一整套丰富的流量控制(traffic control)功能。本文档概述了相应的内核代码设计,描述了其结构,并通过描述一种新的排队策略来说明新元素的添加。 1 引言 最近的Linux内核提供了多种流量控制功能。Alexey Kuznetsov(kuznet…

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …

.net core在linux导出excel,System.Drawing.Common is not supported on this platform

使用框架 .NET7 导出组件 Aspose.Cells for .NET 5.3.1 asp.net core mvc 如果使用Aspose.Cells导出excel时,报错 : System.Drawing.Common is not supported on this platform 平台特定实现: 对于Windows平台,System.Drawing.C…

AI视频配音技术创新应用与商业机遇

随着人工智能技术的飞速发展,AI视频配音技术已经成为内容创作者和营销人员的新宠。这项技术不仅能够提升视频内容的吸引力,还能为特定行业带来创新的解决方案。本文将探讨AI视频配音技术的应用场景,并讨论如何合法合规地利用这一技术。 AI视频…

【数字花园】个人知识库网站搭建:①netlify免费搭建数字花园

目录 [[数字花园]]的构建原理包括三个步骤:五个部署方案教程相关教程使用的平台 步骤信息管理 这里记录的自己搭建数字花园(在线个人知识库)的经历,首先尝试的是网上普遍使用的方法,也就是本篇文章介绍的。 后面会继续…

如何解决samba服务器共享文件夹不能粘贴文件

sudo vim /etc/samba/smb.conf在samba的配置文件中增加一个选项 writable yes重启Samba服务以使更改生效: sudo service smbd restart

NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址

使用 nmcli 命令创建 Wi-Fi 热点并设置固定 IP 地址 一、前言 在一些场景下,我们需要将计算机或嵌入式设备(例如 NVIDIA Orin NX)转换为 Wi-Fi 热点,以便其他设备(如手机、笔记本等)能够连接并使用该设备…

【Prometheus】Prometheus的样本

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

前端学习一

一 进程与线程 线程是进程执行的最小单位,进程是系统分配任务的最小单位。 一个进程可执行最少一个线程。线程分为子线程和主线程。 主线程关闭则子线程关闭。 二 浏览器进程 浏览器是多进程多线程应用。 进程包括: 浏览器进程 负责程序交互渲染…

鸿蒙开发-ArkTS 创建自定义组件

在 ArkTS 中创建自定义组件是一个相对简单但功能强大的过程。以下是如何在 ArkTS 中创建和使用自定义组件的详细步骤: 一、定义自定义组件 使用Component注解:为了注册一个组件,使其能够在其他文件中被引用,你需要使用Component…

探索Starship:一款用Rust打造的高性能终端

在终端的世界里,效率和美观往往并行不悖。今天,我们要介绍的是一款名为Starship的终端工具,它以其轻量级、高颜值和强大的自定义功能,赢得了众多开发者的青睐。 安装 任选一种方式进行安装 Windows 🪟 # scoop scoo…

[Unity] Text文本首行缩进两个字符

Text文本首行缩进两个字符的方法比较简单。通过代码把"\u3000\u3000"加到文本字符串前面即可。 比如: 效果: 代码: TMPtext1.text "\u3000\u3000" "选择动作类型:";

基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)

由于一直在调试本项目,好久没有发文章,最近本项目的PID调试初见成效!开始正文前首先感谢各位粉丝的支持,以及对本项目技术上支持的老师以及师兄,谢谢你们! 对应源码及文件:源码及文件下载 基于…

海量数据-Vastbase G100数据库安装

海量数据-Vastbase G100数据库安装 文章目录 海量数据-Vastbase G100数据库安装前期准备防火墙配置方案一:关闭防火墙方案二:开放数据库端口 SELINUX配置时间同步IPC参数配置 单机安装设置主机名创建数据库安装用户和目录(可选)修改资源限制 字符安装&am…

故障013:易忘的NULL表达式

故障013:易忘的NULL表达式 一、问题引入二、探索之路2.1 数据准备2.2 回顾NULL表达式2.3 重现问题2.3.1 分析原因2.3.2 如何化解预期? 三、知识总结 一、问题引入 某单位开发人员理直气壮抛出一张截图,以红色醒目地标记问题,好似…

Ubuntu22.04安装docker desktop遇到的bug

1. 确认已启用 KVM 虚拟化 如果加载了模块,输出应该如下图。说明 Intel CPU 的 KVM 模块已开启。 否则在VMware开启宿主机虚拟化功能: 2. 下一步操作: Ubuntu | Docker Docs 3. 启动Docker桌面后发现账户登陆不上去: Sign in | …

JVM(Java虚拟机)的虚拟机栈

JVM(Java虚拟机)的虚拟机栈是Java程序运行时的重要组件,以下是对其的详细解析: 一、概念与功能 概念:虚拟机栈也称为Java栈,是JVM为每个线程分配的一个私有的内存区域。每个线程在创建时都会创建一个虚拟…

集成自然语言理解服务,让应用 “听得懂人话”

如今,应用程序智能化已成趋势,开发者想要实现智能化,那么首先需要赋予应用理解自然语言的能力,使其能够准确地听懂人话,进而响应用户需求,并提供一系列智能化服务。比如用户语音控制应用程序帮忙订票&#…

Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。 集中化管理:借助Configuration注解,Spring Boot让用户能在一个或几个配…