想象一下,只需简单几步操作,就能生成逼真的语音效果,无论是为客户服务还是为游戏角色配音,都能轻松实现。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],参考图片,地域目前仅支持华东1(杭州)或华东2(上海),选择华东1(杭州)。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费 15 分钟左右,请耐心等待部署完成。
a. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。
2. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署。
3. 等待约 1 分钟,部署状态变为部署成功,表示应用部署成功,单击环境信息区域的访问域名开始体验应用。
首次访问,大约需要等待 30 秒,即可进入 FC 版 GPT-SoVITS 界面。
重要:
- 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
- ****.devsapp.net 域名为 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发 30 天后进行回收,强烈建议您绑定自定义域名[2]以获得更好的使用体验。
- 如果未绑定自定义域名,且部署的应用已超过 30 天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载 NAS[3],即可正常使用。
入门:快速体验使用 GPT-Sovits 合成语音
1. 在 FC 版 GPT-SoVITS 界面,选择语音克隆&推理页签,选择使用模板音频或个人上传音频作为参考音频,然后输入文本,单击合成语音,开始体验声音的合成。
- 使用模板音频:函数计算提供了小精灵和甜美女生的语音模板,您可以直接选择。
- 个人上传音频:如果您想生成特定音色、情感、语速的语音,需要上传 3~10 秒的参考音频,并填写参考音频的文本,选择参考音频的语种。
重要:GPT-SoVITS 使用者和语音导出者需要对自己合成的语音进行妥善保管,因语音传播导致的法律问题不在函数计算负责范围内。
2. 等待语音合成完成后,单击右下角的播放按钮播放语音,或可以单击 > 下载,下载生成的语音。
说明:如果语音合成失败,您可以为应用创建的函数一键启用日志功能,再次进行语音合成,并根据日志进行分析和定位问题。
进阶:使用 GPT-Sovits 进行语音模型训练
您可以通过声音源文件微调 GPT-Sovits 大模型,生成更加符合要求的语音。在微调训练过程中,训练步骤的所有中间产物将置于 NAS 文件管理系统的 output 文件夹下。训练将使用默认的 UVR5 和 ASR 模型。若需要使用其他的 UVR5 和 ASR 模型,可根据官方 README[4]下载,并分别置于 NAS 文件管理系统的 tools/asr/models 和 tools/uvr5/uvr5_weights 目录下。
步骤一:可视化管理 NAS 中的语音文件
为了方便后续查看预处理的音频文件和训练后的模型。您可以按照如下步骤创建一个新的函数计算应用部署 NAS 浏览器,实现可视化管理 NAS 上的文件。
1. 在应用详情页的资源信息区域找到默认挂载的文件存储 NAS,然后单击挂载点链接跳转至 NAS 文件存储控制台[5]。
2. 单击左侧菜单文件系统 > 文件系统列表,返回文件系统列表页面。在列表中找到函数计算关联的 NAS 实例,单击目标 NAS 文件系统右侧操作列的 > 浏览器。
3. 等待创建完成,再次单击目标 NAS 文件系统右侧操作列的 > 浏览器,即可打开 NAS 浏览器页面。
步骤二:数据预处理
1. 在 FC 版 GPT-SoVITS 界面,选择数据预处理页签。
2. 在输入待处理音频文件夹路径输入框中输入您在 NAS 文件存储系统中存放的需要预处理的音频,或直接上传需要预处理的音频,选择模型以及需要导出的文件格式,然后单击开启数据预处理。
关于各种模型的介绍,请参见 FC 版 GPT-SoVITS 界面上方的介绍。
在数据预处理输出信息区域,提示 ASR 任务完成后,在对应的 NAS 文件系统的/<函数名称>/output/目录,您可以获取预处理后的音频。各种预训练产物以及存储路径的对应关系如下。
预训练流程产物 | 存储路径 |
降噪后的语音文件 | <NAS url>:/<函数名>/output/denoise_opt |
音频分割后的片段 | <NAS url>:/<函数名>/output/slicer_opt |
使用ASR模型自动语音识别后的文字 | <NAS url>:/<函数名>/output/asr_opt |
使用UVR5模型进行人声和伴奏分离后的文件 | <NAS url>:/<函数名>/output/uvr5_opt |
步骤三:(可选)训练语音文本校对
如果步骤二:数据预处理[6]结果中,使用 ASR 模型自动语音识别到的文字与实际不相同,可通过文本校对工具进行修改。
1. 在 FC 版 GPT-SoVITS 界面,选择训练语音文本校对页签。
2. 在 .list 标注文件的路径输入框中输入步骤二:数据预处理的结果中使用 ASR 模型自动语音识别后的文字对应的文件 denoise_opt.list 所在的完整路径,然后依次单击下方的按钮进行调整。按钮功能介绍如下:
按钮名称 | 按钮功能介绍 |
Change Index / Refresh | 跳转页码。当前页面文字校对完成后,单击此按钮进行翻页。 |
Submit Text | 保存修改。如果某个识别的文字错误,修改后需单击此按钮保存。 |
Merge Audio | 合并音频。 |
Delete Audio | 删除音频。请谨慎使用,删除音频后将不再进行训练。 |
Previous Index | 上一页。 |
Next Index | 下一页。 |
Split Audio | 分割音频。 |
Save File | 保存文件。校对完成后,要单击此按钮保存文件。 |
Invert Selection | 反向选择。 |
步骤四:开始模型训练
1. 在 FC 版 GPT-SoVITS 界面,选择模型微调页签,在下方实验/模型名输入框输入您的模型名称,然后单击开启 SoVITS 训练或开启 GPT 训练进行模型训练。
训练后的模型将存储在 NAS 下的 GPT_weights 和 SoVITS_weights 文件夹内。
2. 在 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 合成语音