手把手教你GPT-SoVITS V2版本模型教程,内附整合包

2024-08-27 20:44

本文主要是介绍手把手教你GPT-SoVITS V2版本模型教程,内附整合包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先需要声明的一点就是V1的模型能用在V2上面,但是V2的模型不能用在V1上,并且V1模型在V2上效果不佳!
整合包下载地址:

GPT-SoVITS V2整合包下载
https://klrvc.com/ GPT-SoVITS V2模型下载网

这次V2更新了以下功能

UVR5:

1.将hp2模型替换为model_bs_roformer_ep_317_sdr_12.9755模型,大幅提升分离人声的效果。

2.新增DeEchoNormal和DeReverb模型。去混响效果Normal<Aggressive

切分&降噪&打标&校对:

1.自动填充路径

2.funasr增加粤语,whisper增加韩语和粤语标注功能。funasr的粤语标注更为准确

3.whisper可选推理精度,float16可以带来更快的推理速度

预处理:

1.中文改为G2PW处理以优化多音字效果,但处理速度变慢了

2.优化了英文多音字效果,处理速度也变快了

训练:

1.全新底膜,训练集增加到5k小时

2.增加韩粤两种语言

3.训练所需数据集更少

推理:

1.zero shot效果大幅增强

2.中日英韩粤5个语种均可跨语种合成

3.对低音质参考音频合成出来音质更好

4.更好的文本前端,中英文加入多音字优化

5.增加语速调节

6.增加音色融合

以上具体的更新内容来自官方给出的信息,这些内容也在后来我使用V2推理得到了验证,其实使用V2和V1并没有什么区别,WEBUI就多了一个降噪功能,其他的都一样。

接下来让我们教大家如何在V2中训练出自己的模型吧。

其中我将省略干音数据集的制作过程,因为这一步非常繁琐,其中包括降噪 和声分离 去混响 音质增强等步骤,有机会我会特别制作一期教程。

如果您是整合包执行下面的代码进入V2和V1

python webui.py <language(optional)>
python webui.py v1 <language(optional)>

其中<language(optional)>做了国际化处理,如果你使用的是云端可以查看这篇文章的教程。https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official

接下来正式进入到我们的图文教程

在这里插入图片描述

打开WEBUI首先第一步就是音频的分离与降噪,如果您之前就已经用其他降噪分离软件处理的话,这一步可以省略,否则必须进行这一步进行分离,这里你只需要设置音频自动切分文件夹或文件,输出目录最好不要再去调整,除非你有足够的耐心,因为所有的步骤,作者都已经默认给你填写了,你只需要填一个输入路径即可。

在这里插入图片描述
这里V2新增了一个语音降噪功能,之前V1版本是没有的,但是也请在这个功能之前先降噪一遍自己的音频,在使用这个功能,之后就是标注我们的文件,这个标注和V1使用的方法是一样的。

在这里插入图片描述

到这一步开始打标,我们需要注意的是你的打标文件的路径,如果不知道自己的项目打标路径可以看看控制台,在ASR自动打标的时候会输出一个路径,填写这个路径即可。

在这里插入图片描述
上面就是控制台输出的打标文件路径,填写之后开启打标WEBUI即可。

在这里插入图片描述
控制台会输出URL地址,复制这个地址在浏览器打开即可进入打标页面

在这里插入图片描述

打标这里需要注意的是这里还是和V1版本一样,首先修改错别字,之后修改停顿点,这里特别重要,会影响最终模型的输出效果,其中[Previous Index]是上一页,[Next Index]是下一页,[Save File]是保存文件,[Submit Text]是重载打标文件。正确的顺序是当我们修改一页的打标后,点击保存文件Save File,之后在进入Next Index下一页,不点保存否则无效。

在这里插入图片描述

之后我们来到推理分页,这里需要设置的就是你的模型文件名以及文本标注路径以及分割后的音频文件目录,这里得填写正确,否则三连的时候会出错,如果你没有修改默认输出目录的话,这一步你就填写个模型名就可以了。

在这里插入图片描述
其他的都不需要动,直接[开启一键三连即可],完成后会自动提示完成。

在这里插入图片描述
点击微调训练,这一步引用作者的原话就是如果您的数据集不是很好,那么这一步默认轮数就可以,否则会物极必反,效果会很差。点击开启训练即可。

在这里插入图片描述
以上是训练完成的最终的输出信息

在这里插入图片描述
训练完成之后,点击刷新模型路径,选择自己训练的模型,也就是你刚刚输入的模型名一个GPT模型列表和SoVITS模型列表,都需要一致才可行。

在这里插入图片描述
点击开启TTS推理WEBUI后在控制台会输出一个新的URL地址,复制打开即可。

在这里插入图片描述
用法和V1一样,不过多了几个选项就是语速和音色稳定功能,防止上次音频和本次生成的音频音色不一致的问题。这里我测试了一下,长文本,大概有200字左右。

在这里插入图片描述
这里我用的是2080T(11GB)的显卡作为推理,最终生成的时间为13秒左右,生成速度更是达到了180it/s,比上一代版本提升的速度很快。

总体对比下来,V2的提升绝对不止一点,V2的提升无论是在音色还是速度的上,真正的达到了,跨版本的大更新,之前我在使用V1版本的模型推理上,由于一些早期数据集的音质影响下,生成出来的模型结果也是大失所望,好在V2的发布弥补了这些问题。

这篇关于手把手教你GPT-SoVITS V2版本模型教程,内附整合包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默