使用 GPT-SoVITS 克隆声音,很详细

使用 GPT-SoVITS 克隆声音,很详细

  • 一、前言
  • 二、下载
  • 三、启动
  • 四、克隆声音
    • 1、准备克隆音频
    • 2、分离人声伴奏
    • 3、音频分割
    • 4、语音降噪
    • 5、ASR工具
    • 6、语音文本校对标注工具
    • 7、训练模型
    • 8、微调训练
    • 9、推理

一、前言

最近对文本转语言很感兴趣,但对直接在网站上生成的音频音色却不是很满意,经过一番寻找,发现了“GPT-SoVITS” ,对想要的声音进行克隆。

二、下载

可以到这里下载

在这里插入图片描述

下载后解压即可

这里将其解压到如下目录:

E:\software\gpt-sovits

在这里插入图片描述

三、启动

进入“安装目录\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821”

双击“go-webui.bat”即可
在这里插入图片描述

会出现一个黑窗口

在这里插入图片描述

启动成功会打开浏览器跳转到这个页面

在这里插入图片描述

四、克隆声音

1、准备克隆音频

先准备好想要提起的声音,这里以克隆芭芭拉的声音为例

在这里插入图片描述

可以到这里下载原音频

下载后将其放到某个文件夹中,这里放到

F:\file\GptSovitsFile\sucai\芭芭拉

2、分离人声伴奏

回到“GPT-SoVITS”中,点击开启“UVR5-WebUI”

在这里插入图片描述

稍等一会儿后会跳转到新的页面

在这里插入图片描述

选择模型,一般选择“HP2_all_vocals”即可,也可以阅读上方解释,选择适合自己的模型

模型介绍:

HP2_all vocals:人声伴奏分离模型,提取音频中所有人声部分和背景音部分。HP5_only_main_vocal:提取音频中的主唱人声,排除和声和伴唱,适合处理歌曲。model_bs_roformer_ep_317_sdr_12.9755:去掉混音中的干扰成分,增强信噪比。onnx_dereverb_By_FoxJoy:去混响模型,减少音频中由于环境回声或混响造成的声音模糊。VR-DeEchoAggressive:去回声模型,针对严重的回声进行处理,偏向“激进处理”。VR-DeEchoDeReverb:结合去回声和去混响的双重功能,处理音频中的回声和混响问题。VR-DeEchoNormal:去回声模型,适用于一般程度的回声处理,偏向“温和处理”。

在这里插入图片描述

接着输入存放待分离音频路径,前面已经提到将其放到

F:\file\GptSovitsFile\sucai\芭芭拉

在这里插入图片描述

指定输出主人声文件夹和指定输出非主人声文件夹保持默认即可

在这里插入图片描述

分类之后会保存在“安装目录\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821\output\uvr5_opt”

在这里插入图片描述

再选择导出文件格式,这里选择 wav

在这里插入图片描述

最后点击转换

在这里插入图片描述

看到成功的信息表示转换完成

在这里插入图片描述

再查看输出目录 uvr5_opt

在这里插入图片描述

两条音频都试听一下,找出人声音频,因为要克隆声音,伴奏音频没用,这里将其删除了

在这里插入图片描述

这时就可以回到主界面,关闭“UVR5-WebUI”

在这里插入图片描述

3、音频分割

这里主要针对长音频,如果音频本来就不长,就不需要分割了

回到这界面,已知上面分离的音频保存在“安装目录\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821\output\uvr5_opt”路径

这里路径为:

E:\software\gpt-sovits\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821\output\uvr5_opt

将文件夹路径放到切分输入路径

在这里插入图片描述

点击开启语言切割

在这里插入图片描述

看到输出信息显示“切割结束”表示切割完成

在这里插入图片描述

4、语音降噪

主要是处理有杂音的音频,如果音频干净可不降噪,直接点击“开启语言降噪即可”

在这里插入图片描述

看到降噪输出信息提示降噪完成即可

在这里插入图片描述

完成后可在“output”下生成“denoise_opt”文件夹

在这里插入图片描述

里面就是降噪的音频

在这里插入图片描述

原来的音频就干净,降噪后对比原音频只是小声了点

5、ASR工具

这一步主要是生成带时间戳的文本,如果需要的是中文,默认即可。

点击“开启离线批量ASR”

在这里插入图片描述

看到输出提示完成即可

在这里插入图片描述

生成文件在“asr_opt”文件夹

在这里插入图片描述

在这里插入图片描述

文件内容如下

在这里插入图片描述

6、语音文本校对标注工具

这一步主要是校对文本 ASR 工具生成的文本是否正确,对错误的文本进行修改。

保持默认,点击“开启打标WebUI”即可

在这里插入图片描述

会跳转到一个新的页面

在这里插入图片描述

因为音频比较短,这里只有一段文本如果音频较长,这里是有多段文本的

检查文本框中的文本是否正确,不正确则进行修改,为了防止出错,建议修改一段点一下“Submit Text”

在这里插入图片描述

这里原文本为:

你喜欢麻辣小鱼干吗?我这还有两条,那给你一条。

将其改为:

你喜欢麻辣小鱼干吗?我这还有两条,呐~给你一条。

确认无误之后回到主界面,点击“关闭打标WebUI”

在这里插入图片描述

7、训练模型

承接上面,将主界面拉到最顶部,选择“1-GPT-SoVITS-TTS”

在这里插入图片描述

为你的模型取一个名字,这里取名“bbl”

在这里插入图片描述

其他不用修改,拉到最下面,点击“开启一键三连”

在这里插入图片描述

看到结束的提示即可

在这里插入图片描述

这一步是把你的声音样本转换成项目训练模型支持的特定格式,会在日志文件夹“logs”下生成以前面模型命名的文件夹(bbl)

在这里插入图片描述

里面文件如下

在这里插入图片描述

8、微调训练

承接上面的主界面,网上拉到命名模型那一部分,点击“1B-微调训练”

在这里插入图片描述

参数默认即可,先“开启SoVITS”

在这里插入图片描述

等待训练完成

在这里插入图片描述

因为本次使用的是“v2”版本的“GPT-SoVITS”,生成的模型保存在“安装目录\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821\SoVITS_weights_v2”

在这里插入图片描述

模型如下

在这里插入图片描述

为什么是两个模型?(总训练轮数)/(保存频率)

接着点击“开启GPT训练”

在这里插入图片描述

等待训练完成

在这里插入图片描述

因为本次使用的是“v2”版本的“GPT-SoVITS”,生成的模型保存在“安装目录\GPT-SoVITS-v2-240821\GPT-SoVITS-v2-240821\GPT_weights_v2”

在这里插入图片描述

模型如下

在这里插入图片描述

同样,三个模型是因为(总训练轮数)/(保存频率)

9、推理

承接上面的主页面,将其往上拉到命名模型下方,点击“1C-推理”

在这里插入图片描述

选择GPT、SoVITS模型,如果没有看到就点击一下“刷新模型路径”

在这里插入图片描述

选择参数最大的模型,效果最好

在这里插入图片描述

在这里插入图片描述

勾选“启用并推理版本”,再点击“开启TTS推理WebUI”

在这里插入图片描述

会跳转到一个新页面

在这里插入图片描述

这是模型区,如果在主界面忘记选,可以在这里选,一般选择参数最大的,效果最好

在这里插入图片描述

这是推理区,可以将前面处理好的音频拖入,比如前面降噪后的音频

在这里插入图片描述

再加上音频台词,就是对应音频的台词

你喜欢麻辣小鱼干吗?我这还有两条,呐~给你一条。

最后在右边添加需要生成音频的文本,这里是:

从来生死都看淡

在这里插入图片描述

推理设置保持默认即可,点击“合成语音”就会生成对应音频

在这里插入图片描述

最后是文本切分区,如果文本很长,可以先放到左边,点击切分,切分方式保持默认,再将右边切分好的文本放到文本生成音频区域

在这里插入图片描述

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

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

相关文章

基于Python的Flask微博话题舆情分析可视化系统

2024数据 ✅️标价源码 远程部署加 20 ✅️爬虫可用 有六月数据 ✅️修复bug不会突然打不开网页 系统稳定 系统的功能如下: 1.数据的爬取 2.用户的登录注册 3.热词统计,舆情统计 4.文章统计分析 5.发布地址统计 6.评论统计 7.情感分类统计 编程语言:py…

Pygame中自定义事件处理的方法2-2

在《Pygame中自定义事件处理的方法2-1》中提到了处理自定义事件的方法。通过处理自定义事件,可以实现动画等效果。 1 弹跳小球程序 通过处理自定义事件,可以实现弹跳小球程序,如图1所示。 图1 弹跳小球程序 2 弹跳小球程序原理 实现弹跳小…

【Flink快速入门-5.流处理之多流转换算子】

流处理之多流转换算子 实验介绍 前面实验中介绍的算子已经能够满足我们的大部分开发需求了,但是在实际工作中有时候还会遇到一些业务场景,例如需要摄入多个输入流并将其合并处理,或者需要将一条输入流分割为多条子流,在不同的子…

【STM32】DRV8833驱动电机

1.电机如何转动 只需要给电机两个端子加一正一负的极性就会转起来了,但是要注意的是不要将电机两端直接接在5v和gnd之间,这种电机一般要提供几百毫安的电流,而GPIO口只能提供几毫安,所以我们使用一个DRV8833来驱动 DRV8833输入口…

vue2老版本 npm install 安装失败_安装卡主

vue2老版本 npm install 安装失败_安装卡主 特别说明:vue2老版本安装慢、运行慢,建议升级vue3element plus vite 解决方案1: 第一步、修改npm 镜像为国内镜像 使用淘宝镜像: npm config set registry https://registry.npmmir…

Linux相关概念和易错知识点(27)(认识线程、页表与进程地址空间、线程资源划分)

目录 1.认识线程 (1)进程与线程的关系 (2)最小执行流 (3)轻量级进程(LWP) ①对task_struct的理解 ②轻量级进程 ③LWP和TCB的区别 2.页表与进程地址空间 (1&…

GitHub基本操作及Git简单命令

GitHub简介 GitHub就是一个远程仓库,远程仓库可以理解为就是一个可以保存自己代码的地方,在实际开发当中一个项目往往是有多个人来共同协作开发完成的,那么就需要一个统一代码保存的地方,而GitHub就是起到一个共享和汇总代码的作…

数据结构(陈越,何钦铭)第三讲 树(上)

3.1 树与数的表示 3.1.1 顺序查找 int SequentialSearch(List Tbl,ElementType K){int i;Tbl->Element[0]K;for(iTbl->Length;Tbl->Element[i]!K;i--);return i; } typedef struct LNode *List; struct LNode{ElementType Element[MAXSIZE];int Length; };3.1.2 二分…

【PYTORCH】官方的turoria实现中英文翻译

参考 https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html 背景 pytorch官方的是seq2seq是法语到英文,做了一个中文到英文的。 数据集 下载后解压,使用的data\testsets\devset\UNv1.0.devset.zh和UNv1.0.devset.en&#x…

仿叮咚买菜鸿蒙原生APP

# DingdongShopping 这是一个原生鸿蒙版的仿叮咚买菜APP项目 鸿蒙Next发布至今已经有一年多的时间了,但有时候我们想要实现一些复杂的功能或者效果,在开发文档上查阅一些资料还是比较费时的,有可能还找不到我们想要的内容。而社会层面上分享…

VSCode 接入DeepSeek V3大模型,附使用说明

VSCode 接入DeepSeek V3大模型,附使用说明 由于近期 DeepSeek 使用人数激增,服务器压力较大,官网已 暂停充值入口 ,且接口响应也开始不稳定,建议使用第三方部署的 DeepSeek,如 硅基流动 或者使用其他模型/插件,如 豆包免费AI插件 MarsCode、阿里免费AI插件 TONGYI Lin…

中上211硕对嵌入式AI感兴趣,如何有效规划学习路径?

今天给大家分享的是一位粉丝的提问,中上211硕对嵌入式AI感兴趣,如何有效规划学习路径? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 中上211,…

Linux 目录结构与基础命令学习记录

在 Linux 的学习旅程中,熟练掌握基础命令是开启高效操作与系统管理的钥匙。这些命令不仅能帮助我们在 Linux 系统中自由穿梭,还能深入了解系统的运行状态。以下是我对 Linux 基础命令的学习总结,希望能为大家的 Linux 学习提供帮助。 一、Lin…

python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注

【1】引言 前序学习进程中,已经使用cv2.findContours()函数cv2.drawContours()函数实现图像轮廓识别和标注,这种标注沿着图像的轮廓进行,比较细致。相关文章链接为: python学opencv|读取图像(六十四)使用…

Visionpro 齿轮测量

效果展示 一、题目要求 求出最大值,最小值,平均值 二、分析 1.首先要进行模板匹配 2.划清匹配范围 3.匹配小三角的模板匹配 4.卡尺 5.用找圆工具 工具 1.CogPMAlignTool 2.CogCaliperTool 3.CogFindCircleTool 4.CogFixtureTool 三、模板匹…

【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析②】

ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase02 作者:车端域控测试工程师 更新日期:2025年02月15日 关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-002测试用例 用例ID测试场景验证要点参考条款预期…

AlmaLinux使用Ansible自动部署k8s集群

一、环境准备 节点规划(最低要求) 1台Master节点(4核/8GB内存)2台Worker节点(2核/4GB内存)1台Ansible控制机(可复用Master节点) 系统配置 # 所有节点执行 sudo hostnamectl set-hos…

机器学习:十大算法实现汇总

机器学习十大算法代码实现:使用numpy、pandas,不调用机器学习相关库。 已将代码和相关文档上传到了github:golitter/Decoding-ML-Top10: 使用 Python 优雅地实现机器学习十大经典算法。 (github.com) 一元线性回归:机器学习&…

ffmpeg学习:ubuntu下编译Android版ffmpeg-kit

文章目录 前言一. 配置环境1.1 虚拟机版本1.2 安装Android环境1.2.1 Android SDK安装1.2.2 Android NDK安装 1.3 编译前的准备工作1.3.1 libtasn1-1安装1.3.2 meson安装1.3.3 harfbuzz下载 二. 编译ffmpeg-kit三. 总结 前言 ffmpeg-kit是一款跨多个平台的,用于在应…

Qt使用pri和pro文件进行模块化编程

假如我想要做一个功能,这个功能用代码模块化实现出来,方便将来移植,比如音视频播放器的界面,将来想要在其他工程使用时,只需要将widget提升为音视频播放界面即可。 当我们其他工程需要这个功能时,我们在调用…