链接说明

github项目地址:RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

项目中文说明书: GPT-SoVITS指南//项目说明书里也有在线使用的链接

原项目作者B站教学视频:耗时两个月自主研发的低成本AI音色克隆软件,免费送给大家!【GPT-SoVITS】_哔哩哔哩_bilibili

作者甚至贴心提供了AutoDL教程!他真的我哭死:AutoDL(Linux系统,镜像更新最快)

同理可以在线训练:AI Hobbyist TTS  

项目目前只有TTS(文字转语音Text-To-Speech)、并不支持歌声转换SVC歌声合成SVS

支持跨语种合成(可以合成和训练音频语种不一样的语种)

*任何发布基于GPT-SoVITS,需要附带上GPT-SoVITS的tag。

项目版权归原作者所有,此blog仅是lz训练过程记录。 如有谬误欢迎指正。

目录

链接说明

硬件要求

使用步骤

1.素材准备

1.1输入&输出管理

1.2纯净人声获取(如果有干净的人声素材可以跳过此步)

​编辑

1.3切割音频

1.4打标

文本校对

当页校对结果提交

合并音频

删除音频

 2.开始训练

2.1训练集格式化

2.2微调训练

2.3推理 

开源协议 & 署名要求


硬件要求

原项目说明,恩,uu们自行斟酌。

使用步骤

各种文件路径,模型名称都不要有中文

前往上文提到的项目说明书中下载最新整合包。解压后,双击运行go-webui.bat运行程序。

稍等一会儿,此时会弹出console窗口,如下图,在项目运行时不能关闭该窗口

稍等一会儿,在默认浏览器中跳出GSV的webUI界面,界面大致如下图所示。 目前最新的整合包中,变声部分仍然在施工中,所以该项目能够实现,通过上传数据集,训练音色,训练好的音色+目标文字→该音色语音

1.素材准备

需要把音频格式转化为wav以获得更好的音频效果。

此处分享一个在线免费音频格式转换工具:音频转换器- FreeConvert.com

1.1输入&输出管理

所有文件路径复制时都不能有双引号

项目原输出文件夹可以更改,原输出默认存放在output文件夹中

可以自行更改文件输出目录, 建议uu们合理地设置数据集的存放,便于后续管理,此处lz提供一个参考的管理方法。

1.2纯净人声获取(如果有干净的人声素材可以跳过此步)

若需要纯净的人声素材,可以使用UVR5对人声进行分离,此项目也整合了这个功能。

点击上图中的开启人声分离webUI后,会在默认浏览器中跳出一个新的窗口,UVR5 WebUI

lz同期有研究一个AI翻唱,也会使用到UVR5,故此处lz使用歌曲素材对音乐中的人声进行分离。

模型说明,上图灰色字已经说得很清楚了,抄作业就是第一遍选择模型1,第二遍选择模型2。uu们也可以自行尝试混合使用其他模型。 

可以在 console窗口看到进度

看到这样的输出就说明音频分离成功了

如果去除效果不是很好可以多去除几次,或者切换不同的模型进行去除。去除后最好去完整地听一遍,看看有没有什么问题。

lz最后用的HP5模型对人声和歌曲进行分离

1.3切割音频

准备一段2分钟左右的素材,数据集并不是越多越好,比起数量,更重要的是质量

回到GPT-SoVITS WebUI界面。

选好输入输出地址之后,点击开启语音切分即可。  

切分完成之后也会输出如下信息

前往输出文件中听取切分好的音频,最好是逐一地去听,挑选一些合适的音频,因为有的切割可能和预期的有差别,可以删除一部分切割得不好的音频,或者重新切割

1.4打标

先别急着打标,看完打标这一小节再开始!

匹配声音和文字。人工智能里的人工部分。

利用项目自带打标工具进行初步打标

初步打标之后需要人工校对,点击开启音频标注WebUI进入打标页面

点击后会在默认浏览器弹出一个Gradio的窗口,这就是打标页面了。

文本校对

文本和音频对应,需要注意一些文字是否有误, 比如中文中的同音不同字,语气之间的停顿符号表示

当页校对结果提交

*注意是每一页,每一页,每一页。

只要点击Next Index,就需要点击Submit Text。不然就得重头开始了。

合并音频

如果一段话被切成了2段,可通过下述方式将其合并。

删除音频

如果某段音频并不符合预期,可将其删除。

校对好后关闭该页面,关闭音频标注WebUI

关闭该页面,就像关浏览器网页一样。 

 2.开始训练

切换页面开始训练

2.1训练集格式化

直接点击一键三连开始训练。 

看到这样的字样说明训练集格式化已完成。

2.2微调训练

以上操作也很无脑,保持默认选项, 依次点击训练即可,可以适当调节batch_size的值,不过不要调得太高

训练完成

2.3推理 

开启推理界面 

开启之后会浏览器会默认打开一个新的界面

需要注意参考音频对最终合成效果影响较大,可以理解为主参考音频为模型提供了这个人说这句话的语气,是温柔的还是铿锵有力的。

想立即看到结果就不需要去更改下图的设置,直接点合成语音即可

注意如果是跨语种合成,最好多上传一些辅助音频参考,lz用的英文数据集,在没有上传多个辅助音频之前,生成的音频听起来就像“让我们说中文”,hhh

开源协议 & 署名要求

开源协议:GPT-SOVITS 以 MIT 协议开源,模型以 CC-BY-NC 4.0 协议开源;

署名要求:作品简介必须完整署名,缺一不可(参考下文),否则违反开源协议。

参考署名:

GPT-SoVITS开发者:@花儿不哭

模型训练者:@红血球AE3803 @白菜工厂1145号员工

推理特化包适配 & 在线推理:@AI-Hobbyist

生活像海洋,只有意志坚强的人才能到达彼岸。——来点鸡汤8

以上end 

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

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

相关文章

事件委托版本tab栏切换

事件委托:是JavaScript中注册事件的常用技巧,也称事件委派、事件代理简单理解:原本需要注册在子元素的事件委托给父元素,让父元素担当事件监听的职务优点:减少注册次数,可提高程序性能原理:事件…

FLAN-T5:规模化指令微调的语言模型

摘要 在将数据集表述为指令的形式上进行语言模型微调,已被证明能够提升模型性能及其对未见任务的泛化能力。本文探讨了指令微调,特别关注以下三个方面:(1) 任务数量的扩展,(2) 模型规模的扩展,以及 (3) 基于链式思维&…

设计模式文章

1. 工厂模式 | 菜鸟教程

Xilinx Vivado开发环境快速导出hdf文件(bat批处理)

Xilinx FPGA使用Vivado开发环境创建MicroBlaze软核或ZYNQ PS侧SDK逻辑工程时,需要FPGA侧搭建的硬件平台文件,即hdf文件,常规方式是编译完成生成bit流文件后,通过File->Export->Export Hardware菜单来导出,在弹出…

UniApp 中实现智能吸顶 Tab 标签导航效果

前言在移动端应用开发中,Tab 标签导航是一种常见的交互模式。本文将详细介绍如何在 UniApp 中实现一个功能完善的智能吸顶 Tab 导航组件,该组件具有以下特性:🎯 智能显示:根据滚动位置动态显示/隐藏📌 吸顶…

ElasticSearch快速入门-1

文章目录Elasticsearch简介ES概念ES和关系型数据库的对比正序索引和倒序索引安装es、kibana、IK分词器ES操作_cat操作Mapping映射属性索引库操作索引库CRUD文档CRUD文档批处理操作Java客户端操作ESElasticsearch简介 就是一个搜索引擎数据库 以下都简称ES ES概念 ES和关系型…

【论文撰写】如何把AI生成的文本公式复制在word中,完整的复制公式,拷贝豆包生成的公式

1、问题描述 AI生成的内容 在对于含有公式的生成内容,直接拷贝到Word 会呈现类Markdown的格式,除了格式上,公式也不是标准格式。 如下列两个图片对比 2、工具 这时,就需要用另一个工具进行转换 Home - Snip Web Mathpix Acc…

【机器学习笔记 Ⅱ】5 矩阵乘法

矩阵乘法是神经网络、图形学、科学计算等领域的核心运算,用于高效处理线性变换和批量数据计算。以下是其数学定义、计算规则及实际应用的系统解析。1. 数学定义2. 计算步骤(示例)3. 代码实现 (1) Python(NumPy) import…

【数字后端】- 衡量design的congestion情况

基础概念 通常在RP的placement之后,就要去去查看设计的Density和Congestion情况。 而congestion的衡量指标有以下两点: (1)Overflow Congestion 分析基于一个基本『单元』称为GCELL: Routing Grid cell. Gcell 是工具自己定义…

Oracle面试题-体系结构

📌1.如何查看 Oracle 数据库的版本信息? 1. 标准 SQL 查询(推荐) 方法 1:查询 v$version 视图(最常用) SELECT * FROM v$version;输出示例: BANNER -------------------------------…

Flex布局原理

1.布局原理 flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以 指定为 flex 布局。 当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将…

JavaScript 模块系统二十年:混乱、分裂与出路

JavaScript 模块系统:一场至今未醒的历史梦魇 一、引言:我们真的解决了“模块化”吗? 你可能以为,JavaScript 模块系统早已标准化,import/export 就是答案。 但现实却是另一番景象:构建报错、依赖冲突、加…

人工智能-基础篇-23-智能体Agent到底是什么?怎么理解?(智能体=看+想+做)

1、智能体是什么? 想象你有一个超级聪明的小助手,它能: 自己看环境(比如看到天气、听到声音、读到数据);自己做决定(比如下雨了要关窗,电量低要去充电);自己…

Java实现项目1——弹射球游戏

项目:弹射球游戏 项目描述: 类似于乒乓球的游戏,游戏可以播放背景音乐,可以更换背景图,当小球碰到下面的挡板后会反弹,当小球碰到方块后会增加分数,当小球掉落会导致游戏失败,按下…

(十八)深入了解 AVFoundation-编辑:添加背景音乐与音量控制(下)——实战篇

一、功能目标回顾在理论篇中,我们系统地介绍了如何使用 AVFoundation 添加背景音乐音轨,并通过 AVMutableAudioMix 与 AVMutableAudioMixInputParameters 实现多音轨混音与音量控制。我们了解了诸如淡入淡出、静音控制、动态音量曲线等核心技术细节。本篇…

如何在新机器上设置github完成内容git push

如果你在一台新的机器上git pull 仓库,完成修改,然后git push,会发现下面错误: Username for https://github.com: xiaomaolv Password for https://xiaomaolvgithub.com: remote: Support for password authentication was rem…

Rust 注释

Rust 注释 引言 Rust 编程语言以其内存安全、并发支持和高性能等特点在软件开发领域获得了广泛的关注。在Rust编程中,注释是一种非常重要的元素,它不仅可以帮助程序员理解代码,还可以提高代码的可维护性和可读性。本文将详细介绍Rust中的注释…

Flink Oracle CDC 环境配置与验证

一、Oracle 数据库核心配置详解 1. 启用归档日志(Archiving Log) Oracle CDC 依赖归档日志获取增量变更数据,需按以下步骤启用: 非CDB数据库配置: -- 以DBA身份连接数据库 CONNECT sys/password AS SYSDBA; -- …

ssh: Could not resolve hostname d: Temporary failure in name resolution

关于不能本机上传文件夹到服务器上的一个问题的记录。 scp -r "D:\***\datasets" usernamexxxxxx:接收文件夹名 一直报错:ssh: Could not resolve hostname d: Temporary failure in name resolution 反复尝试发现无果之后想起来,在传输的时候…

2025年的前后端一体化CMS框架优选方案

以下是结合技术生态、开发效率和商业落地验证,整理的2025年前后端一体化CMS框架优选方案:一、‌主流成熟框架组合‌1. ‌React Node.js (Express/Next.js)‌‌前端‌:React生态成熟,配合Redux状态管理,适合复杂后台界…