AI 克隆声音,只需 3 分钟(附最全教程)

作者:寒斜

继生成式文本大模型 Chatgpt,生成式图片 Stablediffusion 之后生成式语音 Text To Speech 在开源社区也出现了一匹黑马,就是 GPT-Sovits [ 1]

之所以说他是黑马,让人觉得惊艳,是因为在语音效果克隆上做的足够真实和简单,只需要小样本的声音数据源,就可以实现高度相似的的仿真效果,也正是因为足够简单和好的效果,GPT-Sovits 的社区也异常火爆,github 的 star 数迅速飙升,目前已达 27.2K。

然而,无论是 C 端的内容生产者,想要使用进行内容生产,还是 B 端用户做商业化落地,部署这套 GPT-Sovits 软件都需要面临一些技术挑战,今天我们就来给大家介绍一下,如何通过阿里云函数计算快速托管 GPT-Sovits 来解决这些挑战。

图片

有奖体验正在进行中

声音也能被完美复制!用 AI 实现声音克隆,让喜欢的声音喊出动画片经典台词。函数计算 FC 一键部署 GPT-Sovits 语音生成模型,最高赢小米蓝牙音响礼!立即参与:https://developer.aliyun.com/topic/june/fcnas

应用场景

在进行 GPT-Sovits 的实践之前,为了能够进一步说明他的价值,我们先来聊聊关于他的应用场景,更确切的来说是生成式语音的应用场景:

  • 教育:在教育场景下对声音的诉求尤其重要,对于学生而言,有感情色彩的交流,价值远大于纯文本的交换,个人教育比如英语培训也是跟语音强相关的。
  • 游戏娱乐:游戏娱乐场景就更加明确,个性化的声音是吸引人的关键因素。
  • 新能源:在车载系统,导航里,希望实时对话查询目的地相关的信息是有刚性需求的,比如使用高德导航,正在路上开车的时候,通过实时对话。
  • 新媒体:在数字人直播场景下,构建差异性专业的声音是直播效果好坏的关键。
  • 农业:比如农业智能化,技术人员在田间工作的时候,打字是一定没有语音交互方便的。
  • 机器人:机器人要有耳朵和嘴巴,需要声音的输出。

以上的场景都是跟 TTS 强相关的,或者说 TTS 作为核心的基础能力被使用,当然构建完整效果还需要更多工程化的实现和其他基础模型,后续我们再展开讲讲。

动手部署一个 AI 克隆大模型

通过函数计算部署 GPT-Sovits 模型的好处有两个:

  1. 无需关心 GPU 服务器维护和环境配置,即可快速部署和体验模型。

  2. 可以充分利用函数计算按量付费,弹性伸缩等优势,高效地为用户提供基于 GPT-Sovits 模型的文本到语音生成服务。

技术架构概览

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本方案的技术架构包括以下基础设施和云服务:

  • 函数计算:用于提供 GPT-Sovits 模型的应用服务。
  • 文件存储 NAS:用于存放预训练的 GPT-Sovits 模型。
  • 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。

🔔 重要:

  1. 阿里云不对第三方模型的合法性、安全性、准确性进行任何保证,阿里云不对由此引发的任何损害承担责任。

  2. 您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。

部署 GPT-Sovits模型

  1. 登录函数计算 3.0 控制台 [ 2]

  2. 请确认访问的控制台是函数计算 3.0,否则您需要在右上角单击体验函数计算 3.0

图片

  1. 在左侧导航栏,单击应用

4.(可选)在应用页面,单击创建 应用

🔔 说明: 如果您之前未使用过应用中心,请跳过本步骤,可直接进入下一步。

图片

  1. 应用页面,选择人工智能>语音克隆生成 GPT-SoVITS,单击立即创建

图片

  1. 创建应用页面,部署类型选择直接部署角色名称请确认所需要的权限均已获取(若缺失权限请按照页面引导进行操作),服务状态请确认函数计算 FC 和文件存储 NAS 已开通,其他配置保持默认即可,然后单击创建应用

图片

  1. 活动应用创建提醒对话框中,选中函数计算 FC 和文件存储 NAS 两个收费项,选中我已经了解上面的内容,并同意上述描述, 单击同意并进行部署

图片

  1. 等待约 1 分钟,部署状态变为部署成功,表示应用部署成功,并生成访问域名,单击访问域名后的链接开始体验应用。

***.devsapp.net 域名是 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,不可用于任何生产使用;社区会对该域名进行不定期地拨测,并在域名下发 30 天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。

图片

快速体验

部署完成后,您可以使用已经准备好的 DEMO 声音样例,进行声音的合成和体验。

我们准备了一些童年经典动画片的台词,您可以合成试试:

  • 既然你诚心诚意的发问了,我们就大发慈悲的告诉你,为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,武藏、小次郎!我们是穿梭在银河的火箭队,白洞,白色的明天在等着我们!——《小精灵》
  • 成为全国第一是我从小的梦想,我不会放弃,这点小伤根本不能让我放弃。——《灌篮高手》
  • 舒克舒克舒克舒克开飞机的舒克,贝塔贝塔贝塔贝塔开坦克的贝塔。——《舒克和贝塔》
合成操作步骤
  1. 选择默认语音模板,输入需要生成的文本,单击合成语音

图片

  1. 等待语音合成之后,可以单击播放。

图片

声音训练

您可以通过声音源文件微调 GPT-Sovits 大模型,生成您期望的声音。在微调训练过程中,训练步骤的所有中间产物将置于 NAS 的 output 文件夹下。训练将使用默认的 UVR5 和 ASR 模型。若需要使用其他的 UVR5 和 ASR 模型,可根据官方 README [ 3] 下载,并分别置于 NAS 的 tools/asr/models 和 tools/uvr5/uvr5_weights 目录下。

  1. 数据预处理。准备一个较长的您需要克隆的原始声音,单击数据预处理,输入您需要上传的语音文件,单击开始数据预处理

图片

  1. 微调文本。单击训练语音文本校对,调整原始文本的内容。

图片

  1. 开始训练,单击模型微调,开启 SoVITS 训练和 GPT 训练。训练后的模型将存储在 NAS 下的 GPT_weights 和 SoVITS_weights 文件夹内。

图片

  1. 训练完之后,在语音克隆&推流页签,刷新和选择自己训练的模型,再体验合成语音。

如果您需要了解更多,请使用钉钉进入“阿里函数计算官网客户 2 群”(群号:64970014484)。

相关链接:

[1] GPT-Sovits

https://github.com/RVC-Boss/GPT-SoVITS

[2] 函数计算 3.0 控制台

https://fcnext.console.aliyun.com/

[3] 官方 README

https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/cn/README.md

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

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

相关文章

数据分析必备:一步步教你如何用matplotlib做数据可视化(6)

1、Matplotlib 网格 axes对象的grid()函数将图中网格的可见性设置为on或off。还可以显示网格的主要/次要(或两者)刻度。另外,可以在grid()函数中设置color,linestyle和linewidth属性。 参考以下示例代码 import matplotlib.pyplot as plt import numpy…

14K屏FPGA通过MIPI接口点亮

一、屏参数 屏分辨率为13320*5120,MIPI接口8 LANE。 二、驱动接口电路 屏偏置电压5.5V,逻辑供电1.8V。8 LANE MIPI,2 PORT。 三、MIPI DSI规范 DCS (Display Command Set):DCS是一个标准化的命令集,用于命令模式的显…

奇怪的bug

奇怪的bug 合集 1.不可见字符集问题 起因是在自己做小项目的时候,通过lombok的data注解,默认生成实体类的get set方法 但是在某个方法中获取一个属性值的时候显示找不到该属性值的get方法,具体直接贴图 我以为是lombok的配置问题&#xff0c…

ubuntu设置静态ip地址

首先,查看ip地址可以使用: ifconfig 例如,出现如下结果: 然后,需要查看本地的gateway以及dns,可以使用: nmcli device show例如: 接下来说明一下如何设置静态ip:

揭秘后勤报修管理系统:目的明确,功能设计模块助您轻松管理

在数字化、信息化飞速发展的今天,企业后勤报修也迎来了前所未有的变革。传统的报修方式,如电话报修、纸质报修单等,已逐渐无法满足现代企事业单位对高效、便捷、精准报修服务的需求。因此,后勤报修管理系统应运而生,后…

鸣人的影分身(DP)

在火影忍者的世界里,令敌人捉摸不透是非常关键的。 我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。 影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。 针对不同的作战情况&a…

PHP转Go系列 | 变量常量的使用姿势

大家好&#xff0c;我是码农先森。 变量 在 PHP 语言中&#xff0c;初始化变量虽然只有一行&#xff0c;其实包含了两步&#xff0c;一是声明变量&#xff0c;二是赋值给变量&#xff0c;同一个变量可以任意再赋值任何类型的数据。 <?php// 初始化变量 $name "man…

Z世代职场价值观的重塑:从“班味”心态到个人成长的追求

近日&#xff0c;社交平台Soul APP联合上海市精神卫生中心&#xff08;俗称“宛平南路600号”&#xff09;发布《2024年Z世代职场心理健康报告》&#xff08;下称“报告”&#xff09;&#xff0c;发现今天的年轻人正以其独特的价值观和行为模式&#xff0c;重新定义成功与成就…

118.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-邮件管理的界面与功能设计

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

visual studio error MSB8008:

新项目编译的时候&#xff0c;可能由于编译器的版本不一致导致的问题。 你的电脑上有两个不同版本的VS&#xff0c;或者你的程序拷贝到别人的电脑上去运行&#xff0c;或者你是从别人那里拷贝来的项目&#xff0c;而你们俩用的VS版本不一样&#xff0c;就会在运行的时候出现这…

成都爱尔周进院长提醒毕业生摘镜,术式如何挑

高考完迎来一个悠长假期&#xff0c;考后放松的同时&#xff0c;也有不少同学开始“准备”。 为奔赴梦想&#xff0c;为了理想的专业和学校&#xff0c;不少人决定摘镜。 不少专业有视力要求&#xff0c;且不同专业方向的要求各有不同。我们先来看看有视力要求的专业有哪些&am…

数据集制作——语义分割前png、jpg格式标签图转yolo格式.txt文件(附代码)

&#x1f4aa; 专业从事且热爱图像处理&#xff0c;图像处理专栏更新如下&#x1f447;&#xff1a; &#x1f4dd;《图像去噪》 &#x1f4dd;《超分辨率重建》 &#x1f4dd;《语义分割》 &#x1f4dd;《风格迁移》 &#x1f4dd;《目标检测》 &#x1f4dd;《暗光增强》 &a…

从0开始C++(二):类、对象、封装

目录 类&对象的概念 类的内容 对象的创建 ● 栈内存对象 ● 堆内存对象 封装 类&对象的概念 类和对象是一个比较抽象的概念&#xff0c;这里直接用一个实例方便理解。 类&#xff1a;类是一个抽象的概念&#xff0c;用来描述同一类对象的特点&#xff08;比如&am…

第九届信也科技杯全球AI算法大赛——语音深度鉴伪识别参赛A榜 0.968961分

遗憾没有进复赛&#xff0c;只是第41名。先贴个A榜的成绩。A榜的前三十名晋级&#xff0c;个个都是99分的大佬&#xff0c;但是B榜的成绩就有点低了&#xff0c;应该是数据不同源的问题&#xff0c;第一名0.78分。官网链接&#xff1a;语音深度鉴伪识别 官方baselin:https://g…

Springboot 权限认证框架 -- SA-Token 简介(一)

引言 现今的软件开发中&#xff0c;权限认证与访问控制是每一个应用都必不可少的功能。SA-Token是一个简单、安全、易用的权限认证框架&#xff0c;它主要解决登录认证、权限认证、Session会话、单点登录等功能。SA-Token以其轻量级、零学习成本的特点&#xff0c;迅速赢得了开…

Linux mongodb安装及简单使用

说明&#xff1a;本文章主要是对mongodb的单击安装 1.创建文件夹&#xff0c;准备安装包 cd /user/local mkdir tools 2.解压mongodb包 mkdir mongodb tar -xvf mongodb-linux-x86_64-rhel70-5.0.11.tgz -C mongodb 3.进入解压目录 cd mongodb cd mongodb-linux-x86_64-…

emm, ComfyUI的作者从Stability.AI离职了

&#x1f356;背景 今天在更新ComfyUI的过程中&#xff0c;看到Manager中有这样一段描述&#xff1a; 嗯&#xff1f;做了新的官方网站&#xff1f;然后开始新篇章&#xff1f; 难道说ComfyUI的作者从Stability.AI离职了&#xff1f; 赶紧点开链接看了下&#xff0c;emm&…

24.bytebuf创建

1.byteBuf创建方法 2.自动动态扩容的 package com.xkj.bound;import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import lombok.extern.slf4j.Slf4j;@Slf4j public class TestByteBuf {public static void main(String[] args) {//bytebuf可以不指定…

Java集合框架源码分析:LinkedList

文章目录 一、LinkedList特性二、LinkedList底层数据结构三、LinkedList继承关系参考&#xff1a; 一、LinkedList特性 特性描述是否允许为空允许是否允许重复数据允许是否有序有序是否线程安全非线程安全 二、LinkedList底层数据结构 LinkedList同时实现了List接口和Deque接…

基于PLC的全自动洗衣机控制系统课设

一、设计题目 1.1课题内容 根据设计参数和控制要求&#xff0c;设计一全自动洗衣机&#xff0c;画出其运行框图及梯形图控制程序的编制&#xff0c;并画出硬件接线图。 1.2设计参数 1.3控制要求 &#xff08;1&#xff09;按下启动按扭及水位选择开关&#xff0c;开始进水直…