当前位置: 首页 > news >正文

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频
感谢UP主“白菜工厂1145号员工”的“熟肉”,我这篇笔记就不展示整一个训练和推理流程,重点写的4060该注意的一些事项。如何解决断句模糊的问题,在本篇笔记的最末尾。

相关连接:

原项目github
UP主的说明文档

1、训练模型:

这里是在windows11的4060下进行训练测试,其他显卡不一定又参考作用,简单再复述一下流程:

1.1、准备数据集

在前期准备数据的时候,使用了没啥背景声音的MP3音频进行处理,用了UVR进行处理,出去分离人声。

难受一点:最开始跑用的不是GPT-soVITS而是soVITS4.0,发现UVR处理的数据总会带来电音(很像auto-tune开大了,生成的每句话相对于原音频都跑调,但auto-tune被强行修正),我去听了每一条处理之后的数据,听感上都挺不错,但还是有这个问题。后来尝试直接把原始数据进行切片,发现比UVR效果好很多。

使用GPT-soVITS的时候我就没有用UVR进行处理,也没进行降噪处理,直接进行切片

1.2、数据集处理和标注

在这里插入图片描述
只要数据集没有出现重大瑕疵和背景音,直接进行切片,不要使用UVR和降噪处理!
在这里插入图片描述
进行标注就可以。

1.3、确认训练数据

这里选择好路径,确认好训练list文件,就可以了

1.4、正式的训练

1.4.1、sovtis语音权重

在这里插入图片描述
这里batchsize选择2,然后点训练就行,大概是训练了1小时左右

1.4.1、语言模型权重

在这里插入图片描述
batchsize为1,dpo不开,大概也是训练了1小时左右。

2、推理:

下面的音频都放在的github上了,可能访问较慢,下面就选定模型开启推理就OK。
在这里插入图片描述

2.1、参考音频

参考音频一定要有,不然难1、2次就得到你想要的,同时5秒的效果最好。然后选定好语音的语言文本类型。
在这里插入图片描述

原始参考音频—这个音频的原始文本是:哦吼吼鸡皮疙瘩起来了因为因为这位朋友他是很支持我然后他他也是youtuber。

2.2、确认生成的参数

这里呢,通过大量文本的尝试,我觉得“凑四句切一句”,选这个就对文本长度不太敏感。其次的这个topK的选择,这里表示是将文本分成多少段进行生成,并不是越大越好,也不是越小越好。

topK:太大会导致文本被压缩的很厉害,但是很快。选择1就是一次生成完成,但很容易出现重复读。需要一点点尝试。
在这里插入图片描述

2.3、GPT-soVITS推理过程吐字和重复读解决方案

原始文本:

流萤与开拓者聊天时,透露匹诺康尼愿意接纳她,尽管她不属于这里。开拓者怀疑她到底是本地人还是偷渡犯,流萤说她至少现在是本地人,有合法身份。随后,流萤让开拓者凑近,告诉开拓者从二人开始游玩起就有人在跟踪开拓者,为了摆脱跟踪流萤刚才一直在带开拓者绕远路,但对方就没跟丢过。流萤详细描述了跟踪者的具体特征,包括身高、体型、步法,乃至手掌手指的状况以及惯用武器。

输入文本:

流萤与开拓者聊天时,透露匹诺康尼愿意接纳她,尽管她不属于这里。开拓者怀疑她到底是本地人还是偷渡犯,流萤说她至少现在是本地人,有合法身份。随后,流萤让开拓者凑近,告诉开拓者从二人开始游玩起就有人在跟踪开拓者,为了摆脱跟踪流萤刚才一直在带开拓者绕远路,但对方就没跟丢过。流萤详细描述了跟踪者的具体特征,包括身高、体型、步法,乃至手掌手指的状况以及惯用武器。

在这里插入图片描述

topK=3,“凑四句切一句”

生成结果—生成结果在 “随后”,“为了摆脱跟踪”,“但对方就没” 的附近出现吞字和重复

2.3.1、进行文本改造

在这里插入图片描述

将出现吞字的地方,连续换两行,就可以得到完美解决,同时加入连续的标点符号,可以保证每一句结束出现一点尾音,就不会像机器一样突然结束

流萤与开拓者聊天时,透露匹诺康尼愿意接纳她,尽管她不属于这里。开拓者怀疑她到底是本地人还是偷渡犯,流萤说她至少现在是本地人,有合法身份!!!随后,流萤让开拓者凑近,告诉开拓者从二人开始游玩起就有人在跟踪开拓者!为了摆脱跟踪流萤刚才一直在带开拓者绕远路,但对方就没跟丢过。流萤详细描述了跟踪者的具体特征,包括身高、体型、步法,乃至手掌手指的状况以及惯用武器。

完美生成的链接—没有出现吞字,同时有好听的尾音。

相关文章:

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频 感谢UP主“白菜工厂1145号员工”的“熟肉”,我这篇笔记就不展示整一个训练和推理流程,重点写的4060该注意的一些事项。如何解决断句模糊的问题,在本篇笔记的最末尾。 相关连接: 原项目github UP主的说明文档 1、训…...

如何对stm32查看IO功能。

有些同学对于别人的开发板的资源,或者IO口,或者串口等资源不知道怎么分配。 方法1、看硬石、野火、正点原子的开发板,看下他们的例子,那个资源用什么。自己多看几个原理图,多看几个视频,做一下笔记。以后依…...

docker构建jdk17镜像

资料参考 参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili 更多详细语法声明,请参考官网文档:https://docs.docker.com/engine/reference/builder 初步准备 1、下载jdk17包(linux版),我这边版…...

Android Uri转File path路径,Kotlin

Android Uri转File path路径,Kotlin /*** URI转化为file path路径*/private fun getFilePathFromURI(context: Context, contentURI: Uri): String? {val result: String?var cursor: Cursor? nulltry {cursor context.contentResolver.query(contentURI, null…...

iOS界面设计要点:四大模块解析

UI设计不是艺术设计,这限制了我们从设备和现有技术开始设计。因此,熟悉每个平台的设计规则已经成为每个设计师的第一课,也是每个设计师必要的专业知识。 今天小边给您带来了iOS设计规范,希望帮助您快速熟悉iOS平台设计规范&#…...

数字取证技术(Digital Forensics Technology)实验课II

数字取证技术(Digital Forensics Technology)实验课II 本文是我本学期的教学课题目,不包含任何博客知识分享,无关的读者可忽略; 实验练习题 (♞思考):请对工作邮件进行签名;“problem3_1.txt"里存储的是由John Doe撰写的真实的邮件,而"problem3_2.txt"里存储的…...

Redis缓存的使用

1.缓存穿透 描述:查询数据在redis不存在,请求打到数据库 解决方法: 缓存空值 当出现Redis查不到数据,数据库也查不到数据的情况,我们就把这个key保存到Redis中,设置value"null",并设…...

力扣LCP 08.剧情触发时间

力扣LCP 08.剧情触发时间 前缀和 二分 对increase求前缀和 在前缀和数组上做二分 找到符合要求的最小时间 class Solution {public:vector<int> getTriggerTime(vector<vector<int>>& increase, vector<vector<int>>& requirements)…...

Elasticsearch-IndexTemplate和DynamicTemplate 有什么区别

Elasticsearch中的Index Template和Dynamic Template是两种不同的概念&#xff0c;它们在索引管理中扮演不同的角色&#xff1a; ### Index Template&#xff08;索引模板&#xff09; 1. **目的**&#xff1a;用于定义新索引的默认设置&#xff0c;包括映射、设置、别名等。 …...

list集合自定义排序

一、基本类型排序 1.list中只有数字或字符串 //升序排序 List<T> ,T为数字或字符串 Collections.sort(list); //降序排序 Collections.sort(list,Collections.reverseOrder());2.list中为对象 基于jdk.18 import lombok.Data;Data public class User {private int i…...

PHP Cookies:应用与管理

在Web开发中&#xff0c;Cookies是一种在客户端&#xff08;通常是浏览器&#xff09;存储少量数据的机制。PHP作为一种服务器端脚本语言&#xff0c;提供了对Cookies的全面支持&#xff0c;使得开发者可以轻松地设置、读取和删除Cookies。Cookies通常用于存储用户的会话信息&a…...

【GD32F303红枫派使用手册】第十四节 DAC-输出电压实验

14.1 实验内容 通过本实验主要学习以下内容&#xff1a; DAC工作原理 使用DAC输出电压 14.2 实验原理 14.2.1 DAC工作原理 我们上几章学习了ADC&#xff0c;本章我们来学习DAC。ADC是模-数转换&#xff0c;即模拟量转换为数字量&#xff0c;DAC正好相反&#xff0c;即数-…...

java 使用Log4j进行日志记录

要在Java项目中使用Log4j进行日志记录&#xff0c;需要经过以下步骤&#xff1a; 添加Log4j依赖&#xff1a;在项目的pom.xml文件中&#xff0c;添加Log4j依赖。例如&#xff1a; <dependency><groupId>log4j</groupId><artifactId>log4j</artifa…...

【问题解决】adb remount 失败或刷机无法连接设备(KaiOS)

问题描述 1、设备无法adb remount成功&#xff0c; 2、通过fastboot无法识别设备&#xff0c;一直卡住 3、已经识别到9008端口&#xff0c;但是设备与刷机工具connect fail&#xff0c;甚至软件crash 解决方案 1、安装高通驱动工具&#xff1a;QDLoder HS-USB Driver QDLoade…...

为什么电容两端电压不能突变

我们先从RC延时电路说起吧&#xff0c;图1是最简单的RC延时电路&#xff0c;给一个阶跃的电压信号&#xff0c;电压会变成黄色曲线这个样子&#xff0c;这是为什么呢&#xff1f; 图1 电压跳变后&#xff0c;电源负极电子移动到电容下极板&#xff0c;排斥上极板电子流动到电源…...

Redux 与 MVI:Android 应用的对比

Redux 与 MVI&#xff1a;Android 应用的对比 在为 Android 应用选择合适的状态管理架构时可能会感到困惑。在这个领域中&#xff0c;有两种流行的选择是 Redux 和 MVI&#xff08;Model-View-Intent&#xff09;。两者都有各自的优缺点&#xff0c;因此在深入研究之前了解它们…...

《MySQL是怎样运行的》读书笔记(三) B+树索引

前言 从前面数据存储结构中我们已经知道了页和记录的关系示意图: 其中页a、页b、页c ... 页n 这些页可以不在物理结构上相连&#xff0c;只要通过双向链表相关联即可。 在正式介绍索引之前&#xff0c;我们需要了解一下没有索引的时候是怎么查找记录的。下边先只讨论搜索条件…...

微信小程序基础工作模板

1.轮播图 点击跳转官方文档 简单例子 <!-- 顶部轮播图 --> <swiper indicator-dots"true" class"banner" autoplay"true" interval"2000"><swiper-item><image src"../../images/轮播图1.jpg" >…...

简单说一下STL中的map容器的特点、底层实现和应用场景【面试】

特点&#xff1a; 基于红黑树&#xff1a;std::map利用红黑树的自平衡特性&#xff0c;确保操作的平衡性。有序容器&#xff1a;元素根据键的顺序自动排序&#xff0c;排序依据是预定义的键比较函数。唯一键值&#xff1a;容器保证每个键的唯一性&#xff0c;不允许重复键存在…...

Ubuntu22.04之有道词典无法画词翻译替代方案(二百四十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...