训练自己的声音模型,效果超级逼真,最牛的开源声音克隆项目 GPT-SoVITS

GPT-SoVITS 是一个开源的声音克隆项目,可以训练自己的声音模型。

效果非常好,使用超级简单。

如果你有声音克隆的需求,必须要试试这个项目。

不说废话,直接看怎么训练自己的声音模型。

1. 安装

我的是Windows系统,GPT-SoVITS 为 Windows 提供了整合包。

地址:

https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-beta.7z?download=true

下载解压后直接运行其中的 go-webui.bat 即可。

如果你的Linux或者Mac,请参考项目说明。

2. 训练声音模型

模型训练的流程:

1)人声伴奏分离

如果你提供的音频是干净的人声,就略过此步骤。

2)语音切分

把提供的语音切分成N个几秒的小段儿音频。

3)语音识别 ASR

把每段音频中的文字提取出来。

4)语音文本校对

纠正上一步提取出来的文字不准确的地方,修正。

5)训练集格式化

处理校对过的文本,特征提取,语义token提取。

6)声音模型训练

包括 SoVITS训练、GPT训练。

看着流程挺复杂,实际操作很简单。

先准备好要克隆的音频,一定要保证声音干净、清晰。

我用的是一个5分钟的音频,非常干净,没有伴奏,所以可以直接从第二步开始。

下面开始操作。

语音切分

在 “0-前置数据集获取工具” 这个标签中操作。

只需要填写红色箭头指出的两个位置。

“输入路径” 就是你的样本音频文件的位置。

“输出根目录” 是切分后的音频存放位置,其中 “output/slicer_opt/” 是默认值,后面的 "m1" 是我自己填的,目的是让这次切分的音频都放在一个独立的目录中。

然后就点击 “开启语音切割“ 这个大按钮。

非常快,几秒结束,会显示“切割结束”。

语音识别 ASR

只需要修改 “输入文件夹路径”,就是上一步中填写的 “输出根目录”。

其他的不需要改,点击 “开启离线批量ASR” 大按钮。

第一次执行时,时间会有点长,因为需要下载语音识别模型。

执行过程就是分析每一段之前切割的小音频,全部识别完成后,显示了结果文件路径。

语音文本校对

先填写 “.list标注文件的路径”,就是上一步输出的文件路径。

然后,勾选 “是否开启打标WebUI”。

注意,一定要先填写好路径,再勾选

勾选后,等待几秒,会打开一个新的页面。

校对每一段语音对应的文本,修改识别错误的文字。

都修改完成后,点击顶部的 “Submit Text” 按钮,保存修改结果。

“.list” 后缀的标注文件其实就是文本文件,可以用记事本打开。

例如:

校对完成后,可以打开这个文件看看自己的修改是否保存成功了。

训练集格式化

点击 “1-GPT-SoVITS-TTS” 标签,默认打开 “1A-训练集格式化工具” 标签。

“实验/模型名” 自由填写,我还是使用 “m1”。

“文本标注文件” 填入“.list” 后缀的标注文件路径。

其他的不用改,点击 “开启一键三连” 大按钮,等待进程结束。

声音模型训练

点击 “1B-微调训练” 标签。

其中的参数都不需要动。

点击 “开启SoVITS训练”,耐心等待一会儿,等待进程结束。

再点击 “开启GPT训练”,耐心等待一会儿,等待进程结束。

每个训练都包含多轮,所以会比较慢。

至此,声音模型的训练接完成了,可以使用我们的模型了。

3. 使用模型

点击 “1C-推理” 标签。

点击 “刷新模型路径” 大按钮。

刷新后,模型列表中会列出我们训练的模型,选择 “e” 后面数字最大的。

然后,勾选 “是否开启TTS推理WebUI”。

勾选后,等待几面,会打开推理页面。

需要修改的有3处:

1)上传参考音频

从之前分割好的小音频中选择一个。

2)参考音频的文本

选择的音频所对应的文本

3)需要合成的文本

就是想要AI朗读的内容

然后,点击 “合成语音” 大按钮,等待输出结果。

搞定 !!!


不错吧,赶快试试吧。

地址:

github.com/RVC-Boss/GPT-SoVITS

#AI 人工智能,#AI 声音克隆,#TTS,#GPT-SoVITS,#gpt890

信息来源 gpt890.com/article/37

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

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

相关文章

Linux中的常用基础操作

ls 列出当前目录下的子目录和文件 ls -a 列出当前目录下的所有内容(包括以.开头的隐藏文件) ls [目录名] 列出指定目录下的子目录和文件 ls -l 或 ll 以列表的形式列出当前目录下子目录和文件的详细信息 pwd 显示当前所在目录的路径 ctrll 清屏 cd…

c 语言 三元搜索 - 迭代与递归(Ternary Search)

计算机系统使用不同的方法来查找特定数据。有多种搜索算法,每种算法更适合特定情况。例如,二分搜索将信息分为两部分,而三元搜索则执行相同的操作,但分为三个相等的部分。值得注意的是,三元搜索仅对排序数据有效。在本…

SOC 子模块---中断控制器

中断控制器对soc 中的各个外设进行中断管理&#xff0c;进行优先权排队&#xff0c;并送出IQR信号给CPU&#xff1b; 中断控制器在整个系统中的结构&#xff1a; IRQ<n>来源于不同的中断源&#xff0c;比如&#xff1a;I2C,SPI等&#xff0c;INTC收集这些中断&#xff0…

HTTP状态码(3)

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作 状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务器端发送请求时&#xff0c;描述返回的请求结果。借助状态码&#xff0c;用户可以知道服务器端是正常…

AIGC实战——Transformer模型

AIGC实战——Transformer模型 0. 前言1. T52. GPT-3 和 GPT-43. ChatGPT小结系列链接 0. 前言 我们在 GPT (Generative Pre-trained Transformer) 一节所构建的 GPT 模型是一个解码器 Transformer&#xff0c;它逐字符地生成文本字符串&#xff0c;并使用因果掩码只关注输入字…

面试问题——redis——缓存穿透、击穿、雪崩

HR&#xff1a;你在项目中的那些场景用到了redis&#xff1f; 1. 缓存穿透问题 &#xff08;项目中使用的方法&#xff09; 2. 缓存击穿 解决办法1&#xff1a;加互斥锁。大量并发时&#xff0c;先让一个人去查&#xff0c;其他人等着。这样剩下人就可在缓存直接获取值。&#…

Web实现名言生成器:JavaScript DOM基础与实例教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Linux-安装redis

安装指令 sudo apt-get install redis-server 启动服务 sudo systemctl start redis 查找redis路径 find / -name "filename" linux redis修改密码 sudo nano /etc/redis/redis.conf 找到 "requirepass" 这一行&#xff0c;取消注释并设置新的密码&…

跳蚱蜢(蓝桥杯)

文章目录 跳蚱蜢题目描述答案&#xff1a;20bfs 跳蚱蜢 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如下图所示&#xff1a; 有 9 只盘子&#xff0c;排成 1 个圆圈。 其中 8 只盘子内装着 8 只蚱蜢&#xff…

包含多个段的程序

文章目录 包含多个段的程序在代码段中使用数据在代码段中使用栈将数据、代码、栈放入不同的段 包含多个段的程序 在代码段中使用数据 考虑这样一个问题&#xff0c;编程计算以下8个数据的和&#xff0c;结果存在ax 寄存器中&#xff1a;0123H&#xff0c;0456H&#xff0c;07…

ctfshow web入门 反序列化

254 分析代码&#xff1a; 如果用户名和密码参数都存在&#xff0c;脚本会创建一个 ctfShowUser 类的实例 $user。 接着&#xff0c;调用 $user->login($username, $password) 方法尝试登录。如果登录成功&#xff08;即用户名和密码与类中的默认值匹配&#xff09;&#…

详解机器学习概念、算法

目录 前言 一、常见的机器学习算法 二、监督学习和非监督学习 三、常见的机器学习概念解释 四、深度学习与机器学习的区别 基于Python 和 TensorFlow 深度学习框架实现简单的多层感知机&#xff08;MLP&#xff09;神经网络的示例代码&#xff1a; 欢迎三连哦&#xff01; 前言…

Spark Map 和 FlatMap 的比较

Spark Map 和 FlatMap 的比较 本节将介绍Spark中map(func)和flatMap(func)两个函数的区别和基本使用。 函数原型 map(func) 将原数据的每个元素传给函数func进行格式化&#xff0c;返回一个新的分布式数据集。 flatMap(func) 跟map(func)类似&#xff0c;但是每个输入项和…

JUC(二)

1、wait notify Owner 线程发现条件不满足&#xff0c;调用 wait 方法&#xff0c;即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 WAITING 的线程都处于阻塞状态&#xff0c;不占用 CPU 时间片 BLOCKED 线程会在 Owner 线程释放锁时唤醒 WAITING 线程会在 Owner 线程调用 …

Gelato Network的创始人HILMAR ORTH确认出席HackSummit2024区块链开发者大会

随着Web3技术的日新月异&#xff0c;区块链领域正以前所未有的速度席卷全球。在这一变革的浪潮中&#xff0c;备受瞩目的区块链盛会——Hack.Summit() 2024区块链开发者大会&#xff0c;将于2024年4月9日至10日&#xff0c;在香港数码港隆重登场。这一里程碑式的大会不仅标志着…

#Linux系统编程(read,open,close,write综合练习)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;不传参&#xff0c;指定拷贝文件&#xff0c;指定复制到文件 #include <stdio.h> #include <stdlib.h> #include <sys/typ…

大厂校招,已经在「这些平台」里卷起来了!

如今的校招卷内容&#xff0c;更卷渠道。传统的渠道已然无法满足企业的野心&#xff0c;于是他们将目光投向了主流社交平台。无论是在「微信公众号」、「B站」还是「小红书」&#xff0c;我们都不难发现大厂们「开卷」的身影。那么&#xff0c;参考它们的思路&#xff0c;企业该…

Python爬虫-批量爬取星巴克全国门店

前言 本文是该专栏的第22篇,后面会持续分享python爬虫干货知识,记得关注。 本文笔者以星巴克为例,通过Python实现批量爬取目标城市的门店数据以及全国的门店数据。 具体的详细思路以及代码实现逻辑,跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地址:aHR0cHM…

【前端寻宝之路】JavaScript初学之旅

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-azUa9yH16cRXQUxE {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

解读EPO电梯行业数智化平台功能模块,开启电梯行业智能之旅

在当今的电梯行业中&#xff0c;数字化和智能化已经成为提升运营效率和服务质量的关键。EPO电梯行业数智化运营平台凭借其出色的功能模块&#xff0c;为行业带来了创新和变革。那么我们今天就来讲讲国辰智企的EPO电梯行业数智化运营平台的功能吧。 1、EOS土建出图&#xff1a;这…