(源码)端到端的声音克隆项目(对GPT-SoVITS工程化)

端到端的声音克隆:即输入原音频(1分钟就可以,时间越长越好)和结果输出的音频命名,执行相应脚本,等待程序执行完成,即可得到克隆结果和模型。(默认中英混合训练,中英混合推理,中英混合参考文本)

项目1:声音克隆的训练一体化整合项目以及API。

下载链接:https://pan.quark.cn/s/395bf4342d4f

(虚拟环境包脚本链接:https://pan.quark.cn/s/bf2511f7b1fc,虚拟环境包地址(有些包需要手动调整):请将虚拟环境放在绝对路径E:\envs\neuralangelohttps://pan.quark.cn/s/6d6ddf8e3373


项目2:声音克隆的推理一体化整合项目以及API。

下载链接:https://pan.quark.cn/s/5333556cdadf

项目1:项目简介

  • 1.该项目是本人基于GPT-SoVITS做的工程化,为什么用GPT-SoVITS?因为经过调研,目前开源质量最好的声音克隆项目就是GPT-SoVITS。1分钟的音频,训练生成结果大概5-10分钟。
  • 2.首先温馨提醒:该项目前提是需要会配置深度学习的虚拟环境(关键包的版本我会在后面声明,未声明就是正常安装就行),因为本人不是专业做教程的,目的是将技术打通,自己使用的同时共享给大家一起使用,在修改项目的过程中,可能没有将项目整理的很干净,有些多余文件,但没关系他们不会影响项目的执行,由于以上原因可能不适合纯小白。
  • 3.使用说明:该项目以及产品2下载解压,都要统一放在E:\project下,再配置好环境,即可成功。因为在测试过程中,有些流程对相对路径会报错,所以需要用到绝对路径。主目录是:E:\project\GPT-SoVITS-main\打包好\GPT-SoVITS
  • 4.硬件说明:本人使用window11系统,单卡显卡4070ti,12G显存,64G内存进行测试并修改的。故项目里面的相关设置都是基于单卡的,代码的相关配置已经写死了,如果你想用多卡,可能需要自己调整。如果只是换显卡型号,不是多卡的话,就没问题,爆显存就调低两次训练的模型的batch_size即可。
  • 5.软件说明:需要用到VPN。本项目是先跑通官方GPT-SoVITS,再进行修改的,所有官方需要下载的文件,本项目都有。第一次部署项目时,需要通过网络下载音频预处理的相关模型到C盘(官方最近更新采用在线下载的方式),如:ASR等。如果内网下载缓慢,就尝试开VPN。
  • 6.环境说明:尽量按照给的包版本来安装,没有的就默认。cuda11.8,torch==2.0.1
  • 7.修改说明

    a:将原版的半精度改成False,在主目录的config.py文件中,不然训练会报错

    b:切割音频时长参数-24

    c:项目一次一个进程,不支持多路。故官方模型存放的目录每次使用都会被刷新,即新生成的模型覆盖旧的模型。但历史模型和参考音频都存放在output

    d:E:\project\GPT-SoVITS-main\打包好\GPT-SoVITS\tools\asr\models中不能按原作者放入ASR魔塔模型文件,模型文件换成自动网络下载到了C:\Users\Administrator\.cache\modelscope\hub\iic中

    e:原onnxruntime换成onnxruntime-gpu,UVR5才能使用onnx_dereverb_By_FoxJoy显卡推理

    f:输入音频限制oss库链接,如果想本地上传删掉end_to_end.py的128行,download_file(),将输入写入“.\output\source”即可。

    g:项目流程

        (1)UVR5(python),音频预处理。

            模型使用步骤:分离伴奏HP5_only_main_vocal->去和声onnx_dereverb_By_FoxJoy-VR(后来取消了,原因是用GPU        推理也很慢,占用了整个推理时间的30%)->去混响/去延迟DeEcho-Aggressive。

            转换存储过程为了加快速度,使用了mp3格式,比wav大小小10倍(即速度快很多),但是质量有所下降了(目前使用的mp3)

        (2)语音切分end_to_end.py。def slice(audio)。训练batch_size==18极限

        (3)ASR处理end_to_end.py。def asr(audio)

        (4)1A训练格式化工具 def GPT_SoVITS_1A(inp_text,inp_wav_dir)

        (5)1B微调end_to_end.py     def GPT_SoVITS_1B_step1()训练batch_size==18极限    def GPT_SoVITS_1B_step2(batch_size==21极限)

        (6)1C推理end_to_end.py    def inference()    

  • 8.脚本说明
  • (1)核心脚本为end_to_end.py,集成了训练过程中的每个流程。输入是原音频和结果命名。输出是克隆音频的demo。其次将模型文件保存再output文件夹中。
  • (2)api.py

            将ip改为本机ip

            接口文档件附件1,生成的内容做成了另一个回调接口,用户使用时直接接到参数就行,可以不进行回调直接获取结果。
链接:https://pan.quark.cn/s/f1a42572d2e4

  • 9.可能出现错误的说明:

(1)nltk_data错误解决办法:

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

(2)路径错误:

    注意绝对路径以及导包的绝对路径,UVR5的输入音频一定是绝对路径,这里已经改过

(3)训练的batch_size不要过高(建议15以内),否则会出现保持不了模型的问题

(4)ffmeg的包可能要uninstall,再重装相应版本


项目2:声音克隆的推理模块单独抽离,选择声音训练的历史模型文件,进行一键推理。前提是基于产品1的部署好。

1.根目录说明:同项目1相同,将项目放在E:\project下
2.脚本说明
(1)process.py,输入是模型名称(E:\project\GPT-SoVITS-main\打包好\GPT-SoVITS\output\SOVITS_models),需要克隆的文字,结果命名。输出是克隆的结果音频
(2)api.py
    将ip改为本机ip
    接口文档件附件2,生成的内容做成了另一个回调接口,用户使用可以不进行回调直接获取结果。链接:https://pan.quark.cn/s/4606f23229fe

(VX:jiang_lay,备注来意)

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GPT, 通常指的是“Generative Pre-trained Transformer”(生成式预训练转换器),是一个在自然语言处理(NLP)领域非常流行的深度学习模型架构。GPT模型由OpenAI公司开发,并在多个NLP任务上取得了显著的性能提升。 GPT模型的核心是一个多层Transformer解码器结构,它通过在海量的文本数据上进行预训练来学习语言的规律。这种预训练方式使得GPT模型能够捕捉到丰富的上下文信息,并生成流畅、自然的文本。 GPT模型的训练过程可以分为两个阶段: 预训练阶段:在这个阶段,模型会接触到大量的文本数据,并通过无监督学习的方式学习语言的结构和规律。具体来说,模型会尝试预测文本序列中的下一个词或短语,从而学习到语言的语法、语义和上下文信息。 微调阶段(也称为下游任务训练):在预训练完成后,模型会被应用到具体的NLP任务中,如文本分类、机器翻译、问答系统等。在这个阶段,模型会使用有标签的数据进行微调,以适应特定任务的需求。通过微调,模型能够学习到与任务相关的特定知识,并进一步提高在该任务上的性能。 GPT模型的优势在于其强大的生成能力和对上下文信息的捕捉能力。这使得GPT模型在自然语言生成、文本摘要、对话系统等领域具有广泛的应用前景。同时,GPT模型也面临一些挑战,如计算资源消耗大、训练时间长等问题。为了解决这些问题,研究人员不断提出新的优化方法和扩展模型架构,如GPT-2、GPT-3等,以进一步提高模型的性能和效率。
基于中文文本情绪分析自动切换参考音频的 GPT-SoVITS 推理 GPT, 通常指的是“Generative Pre-trained Transformer”(生成式预训练转换器),是一个在自然语言处理(NLP)领域非常流行的深度学习模型架构。GPT模型由OpenAI公司开发,并在多个NLP任务上取得了显著的性能提升。 GPT模型的核心是一个多层Transformer解码器结构,它通过在海量的文本数据上进行预训练来学习语言的规律。这种预训练方式使得GPT模型能够捕捉到丰富的上下文信息,并生成流畅、自然的文本。 GPT模型的训练过程可以分为两个阶段: 预训练阶段:在这个阶段,模型会接触到大量的文本数据,并通过无监督学习的方式学习语言的结构和规律。具体来说,模型会尝试预测文本序列中的下一个词或短语,从而学习到语言的语法、语义和上下文信息。 微调阶段(也称为下游任务训练):在预训练完成后,模型会被应用到具体的NLP任务中,如文本分类、机器翻译、问答系统等。在这个阶段,模型会使用有标签的数据进行微调,以适应特定任务的需求。通过微调,模型能够学习到与任务相关的特定知识,并进一步提高在该任务上的性能。 GPT模型的优势在于其强大的生成能力和对上下文信息的捕捉能力。这使得GPT模型在自然语言生成、文本摘要、对话系统等领域具有广泛的应用前景。同时,GPT模型也面临一些挑战,如计算资源消耗大、训练时间长等问题。为了解决这些问题,研究人员不断提出新的优化方法和扩展模型架构,如GPT-2、GPT-3等,以进一步提高模型的性能和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值