开源TTS语音克隆神器GPT-SoVITS_V2版本地整合包部署与远程使用生成音频

文章目录

    • 前言
    • 1.GPT-SoVITS V2下载
    • 2.本地运行GPT-SoVITS V2
    • 3.简单使用演示
    • 4.安装内网穿透工具
      • 4.1 创建远程连接公网地址
    • 5. 固定远程访问公网地址

前言

本文主要介绍如何在Windows系统电脑使用整合包一键部署开源TTS语音克隆神器GPT-SoVITS,并结合cpolar内网穿透工具轻松实现远程访问,训练声音模型与生成音频。无需公网IP,也不要准备域名和服务器。

随着AI配音技术不断迭代,我们现在在视频平台经常能看到使用各种名人或是明星的声音,通过AI制作后达到以假乱真效果的各种搞笑视频或是音乐作品等娱乐内容。这个技术的原理是通过数据训练后,使用强大的少样本语音转换与语音合成方式来达到语音克隆的目的。

而在这些开源TTS语音克隆项目中,由花儿不哭大佬研发的GPT-SoVITS非常具有代表性,在github也上获得了35K+ star的好评,项目地址:https://github.com/RVC-Boss/GPT-SoVITS 大家可以去支持一下。而本次要分享的是更新后的V2版本,支持语种有中日英韩粤五种,新增语速调节,无参考文本模式,更好的混合语种切分,音色混合。而且对于Windows系统用户还推出了整合包,下载后解压缩即可快速体验,简直太方便了。

不过像这种AI项目,一般都对显卡的要求较高,对普通用户来说一般只能在一台高配置电脑上本地部署,如果想在外出时也能随时访问本地部署的项目,调试训练模型或是分享给好友简单体验一下就很难办了。但其实只要借助内网穿透工具的帮助,这个问题也很简单,下面就来具体讲解一下如何操作。

image-20241108171803594

1.GPT-SoVITS V2下载

本例演示环境为Windows11专业版,8G显卡,16G内存。

首先,我们需要在下面的地址下载GPT-SoVITS V2的Windows整合包:

https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#KTvnO

大佬提供了多种下载方式:

image-20241108171731194

我这里下载的是V2版本,下载好后,解压缩后得到GPT-SoVITS-v2-240821文件夹。

2.本地运行GPT-SoVITS V2

打开 GPT-SoVITS-v2-240821 文件夹,双击名为go-webui的bat格式文件即可启动服务:

image-20241108172017839

服务启动后会弹出一个cmd终端窗口,然后会在浏览器中打开GPT-SoVITS V2的webui网页页面,我们接下来可以在这里制作AI音频,但要注意不要关掉cmd终端窗口,因为它才是服务的本体,网页端只是操作界面。

image-20241108172723878

image-20241108172824373

3.简单使用演示

在GPT-SoVITS V2的webui网页页面,我们可以看到默认展示的是0-前置数据集获工具界面,旁边是1-GPT-SoVITS-TTS界面和2-GPT-SoVITS-变声界面

image-20241108173017766

我们可以在0-前置数据集获工具界面进行人声伴奏分离&去混响去延迟,语音切分、降噪等操作,来对要使用的语音进行训练,生成效果更逼真的语音模型。

image-20241108173301904

而如果想马上快速体验一下TTS语音克隆,我们可以点击旁边的1-GPT-SoVITS-TTS界面,选择下面的1C-推理,点击开启TTS推理WebUI:

image-20241108173619074

稍等一下后,会在浏览器中新打开一个TTS推理网页,我们可以在这里上传原始音频,时长3到10秒即可,超过会报错。然后可以在下方填写想要合成的目标文本和语种模式:

image-20241108173957977

输入好所需信息后,点击合成语音按钮,服务端进行处理,稍后在webui界面即可看到生成的音频:

image-20241108174655802

image-20241108174751702

可以点击播放进行试听,点击右上角的下载标志即可将生成的AI音频下载到本地。

而刚才提到的2-GPT-SoVITS-变声功能目前还没有推出,可以期待一下作者大佬下次的更新。

image-20241108175825262

4.安装内网穿透工具

此时,我们已经成功在Windows电脑中本地部署了GPT-SoVITS V2,但就像开篇时说的那样,我们在这台配置高的电脑上部署了服务后,只能在同一个局域网内使用,有一定局限性。如果想外出时也能远程访问家中部署的GPT-SoVITS或是其他服务,应该怎么办呢?

很简单,只要在电脑中再安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

首先进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar。

cpolar官网地址: https://www.cpolar.com

img

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

img

4.1 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: GPTSoVITS 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:9874
  • 域名类型:随机域名
  • 地区:选择China Top
  • 高级:Http Auth:user:123(本例中用户名user 密码123)

点击保存

image-20241108181023458

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241108181127944

如下图所示,输入设置的用户名及密码(也可以不设置高级,就无需用户名密码直接登入,安全起见,建议配置高级)

image-20241108181202876

登录后可以看到成功实现使用公网地址异地远程访问本地部署的GPT-SoVITS V2语音克隆工具的webui界面!

image-20241108181319948

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用,然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地部署的语音克隆软件或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问,带宽会更快,使用cpolar在其他用途还可以保留多个子域名,支持多个cpolar在线进程。(根据cpolar套餐而定)

5. 固定远程访问公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241108181626103

保留成功后复制保留的二级子域名地址:myyuyin

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241108181748784

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

image-20241108181834026

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241108181951821

最后,我们使用固定的公网地址在浏览器打开可以看到访问成功,这样一个永久不会变化的公网网址就设置好了:

image-20241108182724843

接下来我们就可以随时随地异地来使用本地部署的GPT-SoVITS啦,也可以把这个网址分享给身边的好友体验!但是要注意,作者也发布了使用须知,在任何音视频网站发布基于 GPT-SoVITS 项目或本整合包制作的作品时,需要对GPT-SOVITS工具进行署名,否则违反开源协议。并附带免责声明:本作品仅作为娱乐目的发布,可能造成的后果与使用的语音合成项目的作者、贡献者无关。

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

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

相关文章

[Docker#11] 容器编排 | .yml | up | 实验: 部署WordPress

目录 1. 什么是 Docker Compose 生活案例 2. 为什么要使用 Docker Compose Docker Compose 的安装 Docker Compose 的功能 使用步骤 核心功能 Docker Compose 使用场景 Docker Compose 文件(docker-compose.yml) 模仿示例 文件基本结构及常见…

鸿蒙NEXT应用示例:切换图片动画

【引言】 在鸿蒙NEXT应用开发中,实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能,实现不同类型的图片切换动画效果。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio NEXT B…

【spring 】Spring Cloud Gateway 的Filter学习

介绍和使用场景 Spring Cloud Gateway 是一个基于 Spring Framework 5 和 Project Reactor 的 API 网关,它旨在为微服务架构提供一种简单而有效的方式来处理请求路由、过滤、限流等功能。在 Spring Cloud Gateway 中,Filter 扮演着非常重要的角色&#…

opencv(c++)图像的灰度转换

opencv(c)图像的灰度转换 quickopencv.h #pragma once #include <opencv2/opencv.hpp> using namespace cv; class QuickDemo { public:void colorSpace_Demo(Mat& image); };quickopencv.cpp #include "quickopencv.h"// QuickDemo类中的颜色空间演示函…

problem forward和solution backward有什么区别

Note: 在具体研究中&#xff0c;problem forward是先提出问题&#xff0c;然后围绕着科学问题设计出完美的解决方案&#xff1b;而solution backward是先盘算自己有哪些技术&#xff0c;有哪些解决方案&#xff0c;反过来去寻找和定义问题。

C++构造函数详解

构造函数详解&#xff1a;C 中对象初始化与构造函数的使用 在 C 中&#xff0c;构造函数是一种特殊的成员函数&#xff0c;它在创建对象时自动调用&#xff0c;用来初始化对象的状态。构造函数帮助我们确保每个对象在被创建时就处于一个有效的状态&#xff0c;并且在不传递任何…

使用WebSocket技术实现Web应用中的实时数据更新

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中的实时数据更新 使用WebSocket技术实现Web应用中…

[N1CTF 2018]eating_cms

打开题目 只有个登录框&#xff0c;其他什么都没有&#xff0c;尝试了一下弱口令&#xff0c;没能成功 尝试访问一下register.php&#xff0c;看看能不能注册个账号 注册页面&#xff0c;随便注册个账号登陆一下 url中感觉是个注入点&#xff0c;尝试使用file伪协议读取一下us…

算法之二分查找优化:leetcode34:在排序数组中查找元素的第一个和最后一个位置

题干 分析 问题背景 给定一个已排序的数组&#xff0c;目标是找到一个给定的目标值 target 在数组中的 第一个位置 和 最后一个位置。如果目标值不存在&#xff0c;返回 [-1, -1]。 由于题干要求的时间复杂度是 O(log n)&#xff0c;并且数组是有序的&#xff0c;考虑使用二分…

【3D Slicer】的小白入门使用指南九

定量医学影像临床研究与实践 任务 定量成像教程 定量成像是从医学影像中提取定量测量的过程。 本教程基于两个定量成像的例子构建: - 形态学:缓慢生长肿瘤中的小体积变化 - 功能:鳞状细胞癌中的代谢活动 第1部分:使用变化跟踪模块测量脑膜瘤的小体积变化第2部分:使用PET标…

为什么要使用Ansible实现Linux管理自动化?

自动化和Linux系统管理 多年来&#xff0c;大多数系统管理和基础架构管理都依赖于通过图形或命令行用户界面执行的手动任务。系统管理员通常使用清单、其他文档或记忆的例程来执行标准任务。 这种方法容易出错。系统管理员很容易跳过某个步骤或在某个步骤上犯错误。验证这些步…

C# 实现对指定句柄的窗口进行键盘输入的实现

在C#中实现对指定句柄的窗口进行键盘操作&#xff0c;可以通过多种方式来实现。以下是一篇详细的指南&#xff0c;介绍如何在C#中实现这一功能。 1. 使用Windows API函数 在C#中&#xff0c;我们可以通过P/Invoke调用Windows API来实现对指定窗口的键盘操作。以下是一些关键的…

JavaWeb--MySQL

1. MySQL概述 首先来了解一下什么是数据库。 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 像我们日常访问的电商网站京东&#xff0c;企业内部的管理系统OA、ERP、CRM这类的系统&#xff0c;以及大家每天都会刷的头条、抖音…

Qt学习笔记(四)多线程

系列文章目录 Qt开发笔记&#xff08;一&#xff09;Qt的基础知识及环境编译&#xff08;泰山派&#xff09; Qt学习笔记&#xff08;二&#xff09;Qt 信号与槽 Qt学习笔记&#xff08;三&#xff09;网络编程 Qt学习笔记&#xff08;四&#xff09;多线程 文章目录 系列文章…

Elasticsearch 8.16:适用于生产的混合对话搜索和创新的向量数据量化,其性能优于乘积量化 (PQ)

作者&#xff1a;来自 Elastic Ranjana Devaji, Dana Juratoni Elasticsearch 8.16 引入了 BBQ&#xff08;Better Binary Quantization - 更好的二进制量化&#xff09;—— 一种压缩向量化数据的创新方法&#xff0c;其性能优于传统方法&#xff0c;例如乘积量化 (Product Qu…

Flume和kafka的整合

1、Kafka作为Source 【数据进入到kafka中&#xff0c;抽取出来】 在flume的conf文件夹下&#xff0c;有一个flumeconf 文件夹&#xff1a;这个文件夹是自己创建的 创建一个flume脚本文件&#xff1a; kafka-memory-logger.conf Flume 1.9用户手册中文版 — 可能是目前翻译最完…

现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法

文章目录 古典密码凯撒密码和移位变换仿射变换例题多表代换例题 AES数学基础&#xff08;GF&#xff08;2^8&#xff09;有限域上的运算问题&#xff09;多项式表示法 | 加法 | 乘法X乘法模x的四次方1的乘法 AES加密算法初始变换字节代换行移位列混合轮密钥加子密钥&#xff08…

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用) 文章目录 3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)前言1. Spring Cloud Eureka 的概述1.1 服务治理概述1.2 服务注册与发现 2. 实践&#xff1a;创建单机 Eureka Server 注册中心2.1 需求说明 图解…

视频孪生技术在金融银行网点场景中的应用价值

作为国民经济重要的基础行业&#xff0c;金融行业在高速发展的同时衍生出业务纠纷、安全防范、职能管理等诸多问题&#xff0c;对安全防范和监督管理提出了更高的要求。因此&#xff0c;如何能更好的利用视频监控系统价值&#xff0c;让管理人员更简便的浏览监控视频、更快速的…

武汉EI学术会议一览表

武汉近期将举办BDDM2024大数据会议、ASIM2024智能制造会议、ICSGPS2025电网会议&#xff0c;吸引国内外学者参与&#xff0c;推动科技创新与产业发展&#xff0c;录用论文将提交EI索引。 武汉EI学术会议一览表 1.第二届大数据与数据挖掘国际会议&#xff08;BDDM 2024&#xf…