admin管理员组文章数量:1588262
端到端的声音克隆:即输入原音频(1分钟就可以,时间越长越好)和结果输出的音频命名,执行相应脚本,等待程序执行完成,即可得到克隆结果和模型。(默认中英混合训练,中英混合推理,中英混合参考文本)
项目1:声音克隆的训练一体化整合项目以及API。
下载链接:https://pan.quark/s/395bf4342d4f
(虚拟环境包脚本链接:https://pan.quark/s/bf2511f7b1fc,虚拟环境包地址(有些包需要手动调整):请将虚拟环境放在绝对路径E:\envs\neuralangelo中https://pan.quark/s/6d6ddf8e3373
项目2:声音克隆的推理一体化整合项目以及API。
下载链接:https://pan.quark/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/s/f1a42572d2e4
- 9.可能出现错误的说明:
(1)nltk_data错误解决办法:
https://github/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/s/4606f23229fe
(VX:jiang_lay,备注来意)
版权声明:本文标题:(源码)端到端的声音克隆项目(对GPT-SoVITS工程化) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728038548a1143189.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论