5 分钟复刻你的声音,一键实现 GPT-Sovits 模型部署
想象一下,只需简单几步操作,就能生成逼真的语音效果,无论是为客户服务还是为游戏角色配音,都能轻松实现。GPT-Sovits 模型,其高效的语音生成能力为实现自然、流畅的语音交互提供了强有力的技术支持。本文将详细介绍如何利用函数计算平台部署 GPT-Sovits 模型,以构建一个高效、可扩展的 AI 语音交互系统。通过这一部署方案,开发者和企业能够快速集成语音合成功能,实现从文本到语音的无缝转换,进而推动智能语音应用的创新和发展。
方案概览
通过函数计算快速部署 GPT-Sovits 语音生成模型,提供语音生成服务。只需要少量样本的声音数据源,就可以实现高度相似的仿真效果。充分利用函数计算按需付费,弹性伸缩等优势,高效、低成本地为用户提供基于 GPT-Sovits 模型的文本到语音生成服务。
本方案的技术架构包括以下基础设施和云服务:
- 函数计算:用于提供 GPT-Sovits 模型的应用服务。在 GPT-SoVITS 应用界面,用户选择 GPU 模型列表,然后上传一段自己准备的 3~10s 的样本语音或者使用函数计算提供的语音模板,输入需要生成的语音提示语开始生成语音。语音生成成功后,可以在 GPT-SoVITS 界面查看并播放生成的语音,也可以在 NAS 文件存储系统中下载生成的语音。
- 文件存储 NAS:用于存放预训练的 GPT-Sovits 模型以及生成的语音文件。
- 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。
部署 GPT-Sovits 应用
借助于函数计算应用模板,您可以便捷地将 GPT-Sovits 应用部署到函数计算上。
- 访问函数计算应用模板 [ 1] ,参考图片,地域目前仅支持华东1(杭州)或华东2(上海),选择华东1(杭州) 。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费 15 分钟左右,请耐心等待部署完成。
a. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。
- 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述, 然后单击同意并继续部署。
- 等待约 1 分钟,部署状态变为部署成功,表示应用部署成功,单击环境信息区域的访问域名开始体验应用。
首次访问,大约需要等待 30 秒,即可进入 FC 版 GPT-SoVITS 界面。
重要:
- 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
- ****.devsapp.net 域名为 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发 30 天后进行回收,强烈建议您绑定自定义域名 [ 2] 以获得更好的使用体验。
- 如果未绑定自定义域名,且部署的应用已超过 30 天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载 NAS [ 3] ,即可正常使用。
入门:快速体验使用 GPT-Sovits 合成语音
- 在 FC 版 GPT-SoVITS 界面,选择语音克隆&推理页签,选择使用模板音频或个人上传音频作为参考音频,然后输入文本,单击合成语音,开始体验声音的合成。
- 使用模板音频: 函数计算提供了小精灵和甜美女生的语音模板,您可以直接选择。
- 个人上传音频: 如果您想生成特定音色、情感、语速的语音,需要上传 3~10 秒的参考音频,并填写参考音频的文本,选择参考音频的语种。
重要:GPT-SoVITS 使用者和语音导出者需要对自己合成的语音进行妥善保管,因语音传播导致的法律问题不在函数计算负责范围内。
- 等待语音合成完成后,单击右下角的播放按钮播放语音,或可以单击「三点」符号 > 下载,下载生成的语音。
说明:如果语音合成失败,您可以为应用创建的函数一键启用日志功能,再次进行语音合成,并根据日志进行分析和定位问题。
进阶:使用 GPT-Sovits 进行语音模型训练
您可以通过声音源文件微调 GPT-Sovits 大模型,生成更加符合要求的语音。在微调训练过程中,训练步骤的所有中间产物将置于 NAS 文件管理系统的 output 文件夹下。训练将使用默认的 UVR5 和 ASR 模型。若需要使用其他的 UVR5 和 ASR 模型,可根据官方 README [ 4] 下载,并分别置于 NAS 文件管理系统的 tools/asr/models 和 tools/uvr5/uvr5_weights 目录下。
步骤一:可视化管理 NAS 中的语音文件
为了方便后续查看预处理的音频文件和训练后的模型。您可以按照如下步骤创建一个新的函数计算应用部署 NAS 浏览器,实现可视化管理 NAS 上的文件。
- 在应用详情页的资源信息区域找到默认挂载的文件存储 NAS,然后单击挂载点链接跳转至 NAS 文件存储控制台 [ 5] 。
- 单击左侧菜单文件系统 > 文件系统列表,返回文件系统列表页面。在列表中找到函数计算关联的 NAS 实例,单击目标 NAS 文件系统右侧操作列的「三点」符号> 浏览器。
- 等待创建完成,再次单击目标 NAS 文件系统右侧操作列的「三点」符号> 浏览器,即可打开 NAS 浏览器页面。
步骤二:数据预处理
-
在 FC 版 GPT-SoVITS 界面,选择数据预处理页签。
-
在输入待处理音频文件夹路径输入框中输入您在 NAS 文件存储系统中存放的需要预处理的音频,或直接上传需要预处理的音频,选择模型以及需要导出的文件格式,然后单击开启数据预处理。
关于各种模型的介绍,请参见 FC 版 GPT-SoVITS 界面上方的介绍。
在数据预处理输出信息区域,提示 ASR 任务完成后,在对应的 NAS 文件系统的/<函数名称>/output/目录,您可以获取预处理后的音频。各种预训练产物以及存储路径的对应关系如下。
步骤三:(可选)训练语音文本校对
如果步骤二:数据预处理 [ 6] 结果中,使用 ASR 模型自动语音识别到的文字与实际不相同,可通过文本校对工具进行修改。
-
在 FC 版 GPT-SoVITS 界面,选择训练语音文本校对页签。
-
在 .list 标注文件的路径输入框中输入步骤二:数据预处理的结果中使用 ASR 模型自动语音识别后的文字对应的文件 denoise_opt.list 所在的完整路径,然后依次单击下方的按钮进行调整。按钮功能介绍如下:
步骤四:开始模型训练
- 在 FC 版 GPT-SoVITS 界面,选择模型微调页签,在下方实验/模型名输入框输入您的模型名称,然后单击开启 SoVITS 训练或开启 GPT 训练进行模型训练。
训练后的模型将存储在 NAS 下的 GPT_weights 和 SoVITS_weights 文件夹内。
- 在 FC 版 GPT-SoVITS 界面,选择语音克隆&推理页签,使用您自己的模型进行再次语音合成。
更多操作说明,请参见入门:快速体验使用 GPT-Sovits 合成语音 [ 7] 。
说明:如果 GPT 模型列表和 SoVITS 模型列表未找到您自己的模型,请单击右侧的刷新模型路径。
相关链接:
[1] 函数计算应用模板
https://fcnext.console.aliyun.com/applications/ai/create?template=68&from=solution
[2] 绑定自定义域名
https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/configure-custom-domain-names
[3] 挂载 NAS
https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/configure-a-nas-file-system-1
[4] 官方 README
https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/cn/README.md
[5] NAS 文件存储控制台
https://nasnext.console.aliyun.com/overview
[6] 步骤二:数据预处理
https://help.aliyun.com/document_detail/2805773.html
[7] 入门:快速体验使用 GPT-Sovits 合成语音
https://help.aliyun.com/document_detail/2805773.html
相关文章:

5 分钟复刻你的声音,一键实现 GPT-Sovits 模型部署
想象一下,只需简单几步操作,就能生成逼真的语音效果,无论是为客户服务还是为游戏角色配音,都能轻松实现。GPT-Sovits 模型,其高效的语音生成能力为实现自然、流畅的语音交互提供了强有力的技术支持。本文将详细介绍如何…...

1.Spring AI 从入门到实践
Spring AI 从入门到实践 1.什么是Spring AI 2.使用Spring Boot&Spring AI快速构建AI应用程序 3.ChatClient&Chat Model简化与AI模型的交互 4.Spring AI Prompt:与大模型进行有效沟通 5.结构化输出大模型响应 6.实战:AI聊天机器人 Ben技术站关注Java技术&#x…...

第23篇 基于ARM A9处理器用汇编语言实现中断<五>
Q:怎样修改HPS Timer 0定时器产生的中断周期? A:在上一期实验的基础上,可以修改按键中断服务程序,实现红色LED上的计数值递增的速率,主程序和其余代码文件不用修改。 实现以下功能:按下KEY0…...

攻防世界 unseping
开启场景 整体来说是创建了一个case类,然后可接受post传来的ctf的值,并对其进行base64解码以及反序列化。所以我们能控制ctf变量。 先看__wakeup方法,该方法使用waf方法对$arg中的内容进行了防护,过滤掉了| & ; 空格 / cat f…...

Python编程与在线医疗平台数据挖掘与数据应用交互性研究
一、引言 1.1 研究背景与意义 在互联网技术飞速发展的当下,在线医疗平台如雨后春笋般涌现,为人们的就医方式带来了重大变革。这些平台打破了传统医疗服务在时间和空间上的限制,使患者能够更加便捷地获取医疗资源。据相关报告显示,中国基于互联网的医疗保健行业已进入新的…...

浔川 AI 翻译已修复,可正常使用
浔川 AI 翻译已修复,可正常使用 亲爱的用户们: 大家好!经过技术团队的不懈努力,浔川 AI 翻译平台已完成修复,目前各项功能均已恢复正常,可流畅使用。在此,我们向一直以来关心和支持浔川 AI 翻译…...

apidoc thinkphp likeadmin 遇到解析报错
报错: [Semantical Error] The annotation "notes" in method app\adminapi\controller\article\ArticleCateController::lists() was never imported. Did you maybe forget to add a "use" statement for this annotation? 解决办法: config/apidoc…...

第22篇 基于ARM A9处理器用汇编语言实现中断<四>
Q:怎样编写ARM A9处理器汇编语言代码配置使用按键和定时器中断? A:本次实验同样为中断模式和监督模式都设置ARM A9堆栈指针,并使能中断,此外在主程序中调用子程序CONFIG_HPS_TIMER和CONFIG_KEYS分别对HPS Timer 0&…...

重回C语言之老兵重装上阵(六)枚举
1. 什么是枚举 (enum)? 枚举(enum)是 C 语言中的一种数据类型,用于定义一组具名的整数常量。它可以使代码更加可读,帮助程序员更容易理解程序中的常量值。通过枚举,程序员可以使用有意义的名称来代替数字&…...

STL-list类
list的介绍和使用 list的介绍 list的介绍list的介绍 list是双向循环链表 list的使用 构造 list(size_t n,const value_type& val value_type())构造的list中包含n个值为val的元素list()构造空listlis(const list& x)拷贝构造函数list(inputlerator first,inputlter…...

Hanlp的学习
参考:HanLP 自然语言处理使用总结-CSDN博客 参考:Sprint Boot 工程中HanLP配置相对路径,始终有问题的解决方案_springboot hanlp-CSDN博客 <!--hanlp 依赖--><dependency><groupId>com.hankcs</groupId><artifa…...

Excel中函数SIGN()的用法
Excel中函数SIGN的用法 1. 函数详细讲解1.1 函数解释1.2 使用格式1.3 参数定义1.4 要点 2. 实用演示示例2.1 函数需求2.2 公式编写 3. 注意事项4. 文档下载5. 其他文章6. 获取全部Excel练习素材快来试试吧🥰 函数练习素材👈点击即可进行下载操作操作注意…...

如何将本地电脑上的文件夹设置为和服务器的共享文件夹
将本地电脑上的文件夹设为与服务器共享的文件夹,通常是在本地开启文件共享,并配置相应的权限,使服务器可以访问该文件夹。以下以 Windows 系统为例说明具体操作步骤: 一、在本地电脑上设置共享文件夹 选择文件夹 找到需要共享的文…...

智能建筑时代的核心选择——基于SAIL-RK3576核心板的AI边缘计算网关方案
随着智能建筑技术的不断发展,建筑设备正日益向“智慧化”迈进。传统的建筑管理系统往往依赖中央服务器和云端平台进行数据处理和控制,但在实时监控、安防及能耗管理等关键环节,延迟和数据安全问题依然存在。此外,物联网设备数量激…...

08、如何预防SQL注入
目录 1、分析及其存在哪些危险 2、预防SQL注入 1、分析及其存在哪些危险 原理: SQL 注入是一种常见的网络攻击手段,攻击者通过在用户输入中插入恶意的 SQL 语句,利用程序对用户输入处理不当的漏洞,使恶意 SQL 语句被数据库服务器执行。 通常发生在应用程序将用户输入直接拼…...

【时时三省】(C语言基础)柔性数组
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 柔性数组 C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做 柔性数组 成员。 例如: 这里把arr就称为柔性数组 有的编译器上是写成int arr&…...

mongodb详解二:基础操作
基础操作 数据库操作collection操作查看表插入数据查找数据 数据库操作 1.创建数据库 use test_db;如果没有数据库,use命令会新建一个;有的话,会切换到这个数据库 2.查看数据库 show dbs;collection操作 查看表 show tables;插入数据 …...

【数据分享】1929-2024年全球站点的逐月平均气温数据(Shp\Excel\免费获取)
气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据!本次我们为大家带来的就是具体到气象监…...

管理口令安全和资源(一)
学习目标 Manage passwords using profiles: 使用配置文件(profiles)来管理密码。这意味着你应该能够设置和修改密码策略,比如密码的复杂性、有效期、尝试次数限制等。在Oracle数据库中,配置文件是一组可以应用于所有用户的预定义…...

【Linux】【Vim】vim编辑器的用法
一、vim简介 Vim是一款功能强大且高度可定制的文本编辑器,广泛应用于Linux 和 Unix系统中。 它不仅继承了vi编辑器的所有特性,还增加了许多新的功能,如语法高亮、代码折叠、多级撤销等。 Vim有三种主要的工作模式: 命令模式&am…...

Golang Gin系列-3:Gin Framework的项目结构
在Gin教程的第3篇,我们将讨论如何设置你的项目。这不仅仅是把文件扔得到处都是,而是要对所有东西的位置做出明智的选择。相信我,这些东西很重要。如果你做得对,你的项目会更容易处理。当你以后不再为了找东西或添加新功能而绞尽脑…...

LabVIEW实车四轮轮速信号再现系统
开发了一个基于LabVIEW的实车四轮轮速信号再现系统。该系统解决现有电机驱动传感器成本高、重复性差、真实性差和精度低等问题,提供一种高精度、低成本的轮速信号再现解决方案。 项目背景 ABS轮速传感器在现代汽车安全系统中发挥着至关重要的作用。为保证其准确性和…...

2025.1.16——六、BabySQL 双写绕过|联合注入
题目来源:buuctf [极客大挑战 2019]BabySQL 1 目录 一、打开靶机,分析已知信息 二、手工注入解题 step 1:万能密码 step 2:正常注入,判断字段数 step 3:绕过 step 4:查数据库 step 5&am…...

Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比
先说结论: Swgger 3.0 与Swagger 2.0 区别很大,Swagger3.0用了最新的注释实现更强大的功能,同时使得代码更优雅。 就个人而言,如果新项目推荐使用Swgger 3.0,对于工具而言新的一定比旧的好;对接于旧项目原…...

【已解决】git clone报错:Failed to connect to github.com port 443: Timed out
1.问题原因1 报错信息1: fatal: unable to access https://github.com/microsoft/xxx/: Failed to connect to github.com port 443: Timed out 报错信息2: fatal: unable to access https://github.com/xxx/xx/: OpenSSL SSL_read: Connection was …...

Qt 程序 DPI 适配方法归纳
方案1:通过 Windows api 处理 缺点:放大之后界面会模糊。 通过调用api实现 #include <ShellScalingAPI.h> #pragma comment(lib, "Shcore.lib")HRESULT hr SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE);或者使用qt.conf 实现 在…...

AI刷题-小R的随机播放顺序、不同整数的计数问题
目录 一、小R的随机播放顺序 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终代码: 运行结果: 二、 不同整数的计数问题 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终…...

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机
1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…...

【影刀_常规任务计划_API调用】
影刀_常规任务计划 1、在常规任务计划被关闭或者设置了定时任务的情况下(非手动执行),通过API的方式启动任务,任务仍然可以被正常执行。 2、如果在常规任务计划里面应用中填写的参数的话, 如果通过api执行ÿ…...

参数校验 Spring Validation框架
后端参数校验 解决:校验前端传入的参数是否符合预期 1、引入依赖 使用Spring Validation框架 <!-- validation参数校验框架--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validatio…...