【超详细教程】GPT-SoVITs从零开始训练声音克隆教程(主要以云端AutoDL部署为例)

目录

一、前言

二、GPT-SoVITs使用教程

2.1、Windows一键启动

2.2、AutoDL云端部署

2.3、人声伴奏分离

2.4、语音切割

2.5、打标训练数据

2.6、数据集预处理

2.7、训练音频数据

2.8、推理模型

三、总结


一、前言


近日,RVC变声器的创始人(GitHub昵称为RVC-Boss)与AI音色转换技术专家Rcell合作,共同开发并开源了一款创新的跨语言音色克隆工具——GPT-SoVITS。这个项目在互联网上迅速获得了广泛关注和好评,众多业界大佬和知名博主都对其给予了推荐。自项目上线以来,短短两天内,它在GitHub上的Star数就达到了1.4k,而现在这个数字已经飙升至6.5k。

GPT-SoVITS的开发历时半年,期间RVC-Boss和Rcell面临了诸多挑战。这款工具不仅具有低成本和易用性的特点,而且在音色克隆领域展现出了新颖的技术创新。

项目地址:https://github.com/RVC-Boss/GPT-SoVITS

二、GPT-SoVITs使用教程

2.1、Windows一键启动

首先下载软件包,解压后双击打开“go-webui.bat”即可。

GPT-SoVITs安装包下载

2.2、AutoDL云端部署

首先打开AutoDL网页,注册登录后进入到“算力市场”,选择一个性价比高的显卡,CUDA版本需要大于11.8,这里我选择RTX3090显卡为示例。

接着来到创建实例界面,点击“社区镜像”,输入“GPT-SoVITs”,选择最新的镜像文件,比如我这里的v2.1版本,然后点击“立即创建”即可。

来到容器实例界面,点击刚刚创建好的容器,点击“JupyterLab”进入终端操作界面。

点击第二个选项框,进入使用界面,拉到最下面,运行前两个命令,选择命令框点击运行即可。

最后打开下方图片链接即可打开GPT-SoVITs界面啦~

2.3、人声伴奏分离

首先准备一段1分钟以上的音频文件,必须是同一个人说话的声音喔,点击开启UVR5-WebUI,回到AutoDL的终端操作界面,查看命令行中的链接,点击进入WebUI界面。

来到人声分离WebUI界面,上传1分钟以上的音频文件进行声音分离,选择好模型,选择好导出的文件格式,点击“转换”即可,转换好的文件位于output/uvr5_opt。

转换好后,记得关闭UVR5-WebUI,这样可释放一些内存。

2.4、语音切割

第一步,上传刚刚分离好的音频文件,填写好音频输入文件路径,这里跟着我填写input就可以了,点击开启语音切割。

接着进行开启离线批量ASR,填写好输出文件夹的路径,然后点击左边的“开启离线批量ASR”按钮。

然后填写好打标数据文件路径,点击开启打标WebUI,返回到AutoDL终端操作界面,查看命令行输出,点击下方链接即可进入到打标数据界面。

2.5、打标训练数据

点击播放▶️按钮,试听一下对应文本是否正确,如果不正确进行文本的修改,这一页整理好数据后,点击“Save File”和“Submit Text”这两个按钮,接着点击“Next Index”下一页,重复以上的步骤进行校对。

全部校对完毕后,返回WebUI界面,关闭打标WebUI

2.6、数据集预处理

点击“1-GPT-SoVITS-TTS”,来到训练操作界面,更改实验名字,可随意命名,然后填写好文本标注文件和训练集音频文件路径,这里跟我的一模一样就可以了。

接着分别点击这四个按钮即可。

2.7、训练音频数据

然后来到了微调训练数据这个界面,保持默认参数不变,也可以自行调整参数的,点击开启SOVITS训练和开启GPT训练。

2.8、推理模型

来到1C-推理,首先点击刷新模型路径,才能出现刚刚训练好的模型。

接下来选择刚刚训练好的模型文件,然后开启TTS推理WebUI

查看AutoDL的终端界面,找到最后一行的网页链接,点击这个链接即可到TTS推理的界面。

首先上传一段几秒的参考音频,填写参考音频的所输出的语音文本,然后再填写需要合成的文本,点击合成语音,一会儿就会出现了输出的语音音频文件了,点击试听,效果确实很惊艳!!!

三、总结

GPT-SoVITS是一款支持多语言的先进技术,融合了声音伴奏分离、自动训练集分割、中文自动语音识别(ASR)以及文本标注等多种辅助工具。令人印象深刻的是,它仅需一分钟的训练数据,就能对模型进行微调,显著提升语音的相似度和真实感。整体而言,GPT-SoVITS提供了一种极为出色的体验。期待其在未来的应用范围能不断扩大,而且在更新迭代过程中能实现更加完善和优化。

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

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

相关文章

Linux——Ubuntu安装MySQL并设置远程登录

1、安装mysql8.0.35 1.更新包列表,首先,确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包: sudo apt update sudo apt upgrade2.安装MySQL服务器:运行以下命令来安装MySQL服务器: sudo a…

方案:将vue项目放在SpringMVC中,并用tomcat访问

需要先将项目生成一次war包才能访问项目的webapp文件夹下的资源,否则tomcat的webapp文件夹下面不会生成对应资源文件夹就无法访问。 问题:目录如下: 今天我测试了一下将vue打包后,放入webapp下面访问,却发现vue项目无…

第九节HarmonyOS 常用基础组件13-TimePicker

1、描述 时间选择组件,根据指定参数创建选择器,支持选择小时以及分钟。默认以24小时的时间区间创建滑动选择器。 2、接口 TimePicker(options?: {selected?: Date}) 3、参数 selected - Date - 设置选中项的时间。默认是系统当前的时间。 4、属性…

面试题 02.07. 链表相交(力扣LeetCode)

文章目录 面试题 02.07. 链表相交题目描述解题思路c代码优化后c代码 面试题 02.07. 链表相交 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 …

java代码中直接调用存储过程

开启数据库语句批处理 url: jdbc:mysql://192.168.0.xxx:3306/xxx?useSSLfalse&useUnicodetrue&characterEncodingutf-8&zeroDateTimeBehaviorCONVERT_TO_NULL&serverTimezoneUTC&allowMultiQueriestrue 重点: allowMultiQueriestrue mysql…

Linux CPU 负载说明

一、背景 工作中我们经常遇到CPU 负载高,CPU负载高意味着什么? CPU的负载是怎么计算的? top指令中的各个指标代表什么含义? 二、CPU 负载计算方法 在系统出现负载问题,通常会使用uptime和top确认负载,这两…

基于C#制作一个连连看小游戏

基于C#制作一个连连看小游戏,实现:难易度选择、关卡选择、倒计时进度条、得分计算、音效播放等功能。 目录 引言游戏规则开发环境准备游戏界面设计游戏逻辑实现图片加载与显示鼠标事件处理游戏优化与扩展添加关卡与难度选择说明</

备战蓝桥杯--数据结构及STL应用(基础)

今天轻松一点&#xff0c;讲一讲stl的基本操作吧&#xff01; 首先&#xff0c;让我们一起创建一个vector容器吧&#xff01; #include<bits/stdc.h> using namespace std; struct cocoack{ int coco,ck; } void solve(){vector<cocoack> x;for(int i0;i<5;i){…

Java链表(2)

&#x1f435;本篇文章将对双向链表进行讲解&#xff0c;模拟实现双向链表的常用方法 一、什么是双向链表 双向链表在指针域上相较于单链表&#xff0c;每一个节点多了一个指向前驱节点的引用prev以及多了指向最后一个节点的引用last&#xff1a; 二、双向链表的模拟实现 首先…

使用Docker安装Jenkins,并能够在该Jenkins中使用Docker

1. 构建Dockerfile 试错1 参考https://medium.com/manav503/how-to-build-docker-images-inside-a-jenkins-container-d59944102f30 按照文章里所介绍的&#xff0c;实现在Jenkins容器环境中依然能够调用Docker&#xff0c;需要做到以下几步 下载Jenkins镜像将环境中的docke…

项目解决方案:高清视频监控联网设计方案

目 录 一、客户需求 二、网络拓扑图 三、方案描述 四、服务器配置 五、方案优势 1. 多级控制 2. 平台可堆叠使用 3. 支持主流接入协议 4. 多种终端显示 5. 视频质量诊断 6. 客户端功能强大 7. 一机一档 一、客户需求 客户现场存在两个网络环境&#xff0c…

自动化测试CSS元素定位

1.1 CSS定位 1.1.1 绝对路径定位 目标 查找第一个文本为“猜猜看”的a标签 实现 CSS表达式 html>body>div>a[.”猜猜看”] python表达式 driver.find_element_by_css_selector(‘html>body>div>a[.”猜猜看”]’) 1.1.2 相对路径定位 目标 查找第…

【Tomcat与网络1】史前时代—没有Spring该如何写Web服务

在前面我们介绍了网络与Java相关的问题&#xff0c; 最近在调研的时候发现这块内容其实非常复杂&#xff0c;涉及的内容多而且零碎&#xff0c;想短时间梳理出整个体系是不太可能的&#xff0c;所以我们还是继续看Tomcat的问题&#xff0c;后面有网络的内容继续补充吧。 目录 …

MongoDB安装以及卸载

查询id&#xff1a; docker ps [rootlocalhost ~]# docker stop c7a8c4ac9346 c7a8c4ac9346 [rootlocalhost ~]# docker rm c7a8c4ac9346 c7a8c4ac9346 [rootlocalhost ~]# docker rmi mongo sudo docker pull mongo:4.4 sudo docker images 卸载旧的 sudo docker stop mong…

【基础算法】1、快速排序快速选择

快速排序思想&#xff1a; 1、找一个分界点。 2、在分界点两边开始调整范围。 3、递归两边&#xff0c;重复。 例题&#xff1a; 给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行&#xf…

【TCP】流量控制和拥塞控制

前言 TCP&#xff08;传输控制协议&#xff09;是互联网协议&#xff08;IP&#xff09;网络传输层协议&#xff0c;负责控制数据包的顺序和流量控制&#xff0c;以防止网络拥塞和数据丢失。TCP流量控制和拥塞控制是确保网络有效通信的重要机制。具体分析如下&#xff1a; 流…

微服务-微服务Alibaba-Nacos 源码分析(上)

Nacos&Ribbon&Feign核心微服务架构图 架构原理 1、微服务系统在启动时将自己注册到服务注册中心&#xff0c;同时外发布 Http 接口供其它系统调用(一般都是基于Spring MVC) 2、服务消费者基于 Feign 调用服务提供者对外发布的接口&#xff0c;先对调用的本地接口加上…

【Java程序设计】【C00168】基于SSM的旅游网管理系统(论文+PPT)

基于SSM的旅游网管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的旅游网系统 本系统分为用户前台功能模块和管理员功能模块2个功能模块。 用户前台功能模块&#xff1a;当游客打开系统的网址后&#xff0c;首先…

【Python笔记-设计模式】单例模式

一、说明 单例是一种创建型设计模式&#xff0c;能够保证一个类只有一个实例&#xff0c; 并提供一个访问该实例的全局节点。 (一) 解决问题 维护共享资源&#xff08;数据库或文件&#xff09;的访问权限&#xff0c;避免多个实例覆盖同一变量&#xff0c;引发程序崩溃。 …

JavaWeb中的Filter(过滤器)和 Listener(监听器)

提示&#xff1a;这两个东西听起来似乎很难&#xff0c;实际上是非常简单的&#xff0c;按照要求写就行了&#xff0c;一定不要被新名词给吓到了。 JavaWeb中的Filter&#xff08;过滤器&#xff09; 一、Filter&#xff08;过滤器&#xff09;1.如何编写 Filter2.Filter 中的细…