首页 基于函数计算部署 GPT-Sovits 模型实现语音生成

基于函数计算部署 GPT-Sovits 模型实现语音生成

更新时间: 2025-01-03 17:13:58

技术解决方案部署

35

https://www.aliyun.com/solution/tech-solution/fc-for-ai-server

方案概览

如果您需要通过文本生成语音,同时期望快捷地定制个性化声音,推荐您使用函数计算部署 GPT-Sovits 语音生成模型。GPT-Sovits 是一个热门的文本生成语音的大模型,只需要少量样本的声音数据源,就可以实现高度相似的仿真效果。使用函数计算部署 GPT-Sovits 模型,您无需关心 GPU 服务器维护和环境配置,即可快速部署和体验模型,同时,可以充分利用函数计算按量付费,弹性伸缩等优势,高效、低成本地为用户提供基于 GPT-Sovits 模型的文本到语音生成服务。

方案架构

image

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

  • 函数计算:用于提供 GPT-Sovits 模型的应用服务。在 GPT-SoVITS 应用界面,用户选择 GPU 模型列表,然后上传一段自己准备的 3~10s 的样本语音或者使用函数计算提供的语音模板,输入需要生成的语音提示语开始生成语音。语音生成成功后,可以在 GPT-SoVITS 界面查看并播放生成的语音,也可以在 NAS 文件存储系统中下载生成的语音。

  • 文件存储 NAS:用于存放预训练的 GPT-Sovits 模型以及生成的语音文件。

  • 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS

部署准备

5

开始部署前,请按以下指引完成账号申请和账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 已开通函数计算服务。具体操作,请参见开通函数计算服务

  3. 已开通文件存储 NAS 服务。具体操作,请参见欢迎使用 NAS 文件系统

  4. 为了节省成本,建议您根据情况领取新客户试用套餐,函数计算使用额度详情请参见试用额度

部署 GPT-Sovits 应用

5

借助于函数计算应用模板,您可以便捷地将 GPT-Sovits 应用部署到函数计算上。

  1. 访问函数计算应用模板参考图片,地域目前仅支持华东 1(杭州)或华东 2(上海),选择华东 1(杭州)。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费 15 分钟左右,请耐心等待部署完成。

    1. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。

      image

    2024-10-23_16-47-23

  2. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署

    image

  3. 等待约 1 分钟,部署状态变为部署成功,表示应用部署成功,单击环境信息区域的访问域名开始体验应用。

    首次访问,大约需要等待 30 秒,即可进入 FC 版 GPT-SoVITS 界面。

    重要
    • 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。

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

      如果未绑定自定义域名,且部署的应用已超过 30 天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载NAS,即可正常使用。

    image

入门:快速体验使用 GPT-Sovits 合成语音

5

  1. 在 FC 版 GPT-SoVITS 界面,选择语音克隆&&推理页签,选择使用模板音频或个人上传音频作为参考音频,然后输入文本,单击合成语音,开始体验声音的合成。

    • 使用模板音频

      函数计算提供了小精灵甜美女生的语音模板,您可以直接选择。

    • 个人上传音频

      如果您想生成特定音色、情感、语速的语音,需要上传 3~10 秒的参考音频,并填写参考音频的文本,选择参考音频的语种。

    重要

    GPT-SoVITS 使用者和语音导出者需要对自己合成的语音进行妥善保管,因语音传播导致的法律问题不在函数计算负责范围内。

    image

    image

  2. 等待语音合成完成后,单击右下角的播放按钮播放语音,或可以单击image > 下载,下载生成的语音。

    说明

    如果语音合成失败,您可以为应用创建的函数一键启用日志功能,再次进行语音合成,并根据日志进行分析和定位问题。

    image

    image

进阶:使用 GPT-Sovits 进行语音模型训练

15

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

步骤一:可视化管理 NAS 中的语音文件

为了方便后续查看预处理的音频文件和训练后的模型。您可以按照如下步骤创建一个新的函数计算应用部署 NAS 浏览器,实现可视化管理 NAS 上的文件。

  1. 在应用详情页的资源信息区域找到默认挂载的文件存储 NAS,然后单击挂载点链接跳转至 NAS 文件存储控制台

    2024-09-10_10-45-14

  2. 单击左侧菜单文件系统 > 文件系统列表,返回文件系统列表页面。在列表中找到函数计算关联的 NAS 实例,单击目标 NAS 文件系统右侧操作列的image > 浏览器

    2024-09-10_10-54-07

  3. 等待创建完成,再次单击目标 NAS 文件系统右侧操作列的image > 浏览器,即可打开 NAS 浏览器页面。

    image

步骤二:数据预处理

  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

    image

    image

步骤三:(可选)训练语音文本校对

如果步骤二:数据预处理结果中,使用 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

    反向选择。

    image

步骤四:开始模型训练

  1. 在 FC 版 GPT-SoVITS 界面,选择模型微调页签,在下方实验/模型名输入框输入您的模型名称,然后单击开启 SoVITS 训练开启 GPT 训练进行模型训练。

    训练后的模型将存储在 NAS 下的 GPT_weights 和 SoVITS_weights 文件夹内。

    image

    image

  2. 在 FC 版 GPT-SoVITS 界面,选择语音克隆&&推理页签,使用您自己的模型进行再次语音合成。

    更多操作说明,请参见入门:快速体验使用 GPT-Sovits 合成语音

    说明

    如果 GPT 模型列表和 SoVITS 模型列表未找到您自己的模型,请单击右侧的刷新模型路径

    image

完成与清理

5

清理资源

在本方案中,您部署了 GPT-Sovits 应用使用了函数计算产品,创建了函数资源,创建模型管理器使用了文件存储 NAS产品,增加了 NAS 挂载点。函数计算的函数不调用不会计费,文件存储 NAS只要有模型存储在 NAS 文件系统下,就会收费。

因此,如果您后续不再使用 GPT-Sovits ,请及时删除以下两部分资源,避免继续产生费用。

删除 GPT-Sovits 使用的函数
  1. 登录函数计算控制台,在左侧导航栏,单击应用

  2. 在应用页面,找到目标应用,单击右侧操作列的删除应用

  3. 在弹出的对话框,勾选我已确定资源删除的风险,依旧要删除上面已选择的资源,然后单击删除应用及所选资源

    image

删除模型管理器使用的 NAS
  1. 登录 NAS 文件存储控制台,在左侧导航栏选择文件系统 > 文件系统列表

  2. 在文件系统列表,找到目标文件系统,在其右侧操作列,单击image,然后单击删除

    image

  3. 在弹出的对话框,单击移除,移除挂载点,然后单击删除

    image