前言
- 如题,自从ChatGPT爆火之后,各类AI如雨后春笋一般,争先恐后的冒出来,本文将详细讲解,如何打造一个属于自己的AI歌手!
准备工作
- 核心模型:sovits GitHub下载链接 | 炼丹百科全书【怕麻烦推荐从这里下载】
严格来说它不是一个模型,它是一个生成工具,用来训练你的专属模型,和推理生成你所需要的音频。 - 人声提取工具:UVR5 GitHub下载链接 | 123云盘提取码:hjhj
这个工具用于提取音频文件中的人声,非常强大。 - 人声处理工具:RX Audio Editor 123云盘
这个工具用于处理使用UVR5提取后的人声【如有必要的话,一般歌曲提取的声音会需要再处理】 - 声音切片工具:Audio Slicer GitHub下载链接
这个工具用于将处理好的声音文件进行切片,制作成训练模型需要的数据集。
基本逻辑
- 本文档涉及到的工具无法用于生成不存在的声音,其根本是将你的目标音频的音色变为你所训练的模型的音色,简单的来说,它是一个变声器。
本地训练
01.软件准备
- 要开始训练模型之前,需要将上述准备工作中涉及到的软件全部下载安装完毕,其中1不需要单独运行安装程序,将其解压缩到全英文路径下即可,类似于:【F:AIso-vits-svcso-vits-svc-4.0】。
- UVR5与RX Audio Editor需要运行安装程序,下载解压缩后安装即可,有特别需要注意的安装步骤,在压缩包中有对应的txt文件注明,此处不再重复。
- Audio Slicer无需安装,解压到全英文路径下即可,解压后的运行文件名是:slicer-gui.exe
02.训练素材准备
- 确定目标音色,通俗的来说,就是确定你要训练什么样的声音,或者说,谁的声音,可以是你自己的,也可以是别人的【注意侵权问题】。本文就以歌手薛之谦为例,仅供学习交流演示之用,且本文不提供训练好的模型。
- 确定音色后,就需要获取目标音色的干音文件,越纯粹越好,越清晰越好,时长越长越好,数量越多越好,本文使用了薛之谦的歌曲作为基础素材。
- 我用了13首歌曲,这些文件除了目标人声外,包含了许多其他的声音,例如鼓,吉他,琴之类的,我们首先要做的就是提取人声!
03.人声提取
- 这时候就需要用到我们之前准备好的工具了,打开UVR5,选择需要处理的文件,可以批量选择,设置好输出路径,设定参数,不了解的可以参考我的图片。然后点击“Start Processing”即可开始提取,提取速度受你电脑的显卡性能影响,导出格式选择wav。
- 没有模型的,可以在界面“CHOOSE VR MODEL”选项中,选择“Download More Models”,找到6_HP-Karaoke-UVR模型,下载即可
- 转换完毕后,在输出文件夹中就可以看到我们提取后的人声干音
- 这时候可以打开干音文件听听效果,如果声音清晰,没有杂音/混响之类的,可以直接进行切片处理,否则还需要进行下一步操作。
04.人声提纯
- 如果上一步中提取出来的人声,还有杂音和混响,则需要用到RX Audio Editor进行处理
- 我们首先进行混响处理,从右侧的工具栏中,选择“对话去混响”,可以先预览一下效果,调整相关参数【这个就看自己的感觉了】,觉得没问题后,点击渲染,渲染时间和电脑性能相关
- 处理呼吸,将处理完混响的干音进行预览,选择“呼吸控制”,进行预听,没问题后点击渲染即可【这一步属于非必须操作,没有明显的呼吸声可以不处理】
- 文件处理完后,按快捷键CTRL+E进行导出,导出格式为wav格式,将所有素材处理完毕后,最好是进行统一命名
05.素材切片
- 将上一步中提纯的音频使用Audio Slicer进行切片,选择要切片的文件,选择输出路径,点击下方“start”即可
- 输出后的音频切片,就是我们训练模型所需要的数据集了
06.开始训练
- 数据集制作完毕后,就可以开始训练了
- 进入到sovits根目录【本文使用一键包进行演示,非一键包需要自行准备运行所需要的python3环境】,双击启动webui.bat,会有命令窗口弹出,稍等片刻
- 启动完毕后,会自动打开浏览器,进入到操作页面,默认会进入推理页面
- 我们切换到训练页面
- 将我们的数据集拷贝到sovits目录下的dataset_raw文件夹下,如图
- 在训练页面中,点击“识别数据集”,识别到后,选择下方的编码器和预测器,然后点击数据预处理,等待预处理完毕后,填写训练设置和参数,参数根据你自身的显卡型号和显存大小决定,最重要的两个参数是“批量大小”和“学习率”,这两个的比例一般是批量大小:学习率=6:0.0001,例如批量大小填写6,则学习率填写0.0001,如果批量大小填写12,则学习率填0.0002
- 理论上这两个数字越大越好,但是太大会导致爆显存,建议根据实际硬件条件来,我用的4090 24G显存,这里填写的是18:0.0003,显存占用在19G左右
- 填写完成后,点击“写入配置文件”,写入成功后,点击下方的“从头开始训练”,顺利的话,就可以看到开始训练了,如果不是第一次,则点击继续训练即可。
07.训练结果
- 经过一段时间的训练后,可以进行成果试验,我们进入到“..so-vits-svc-4.0logs44k”目录下,找到最新的G开头的模型,将它改个名字,方便后续进行区分,然后在“..so-vits-svc-4.0configs”文件夹下,将config.json文件名修改成和G模型一样。
- 进入推理页面,首先刷新选项,然后选择模型和配置文件,随后加载模型,加载完成后,选择要推理的音频【也需要是干音】,变调的话,同性别转换一般不需要改,如果是男转女,一般是5到8,女转男-5到-8,实际情况按照生成效果来,可以多次生成听效果,随后点击音频转换即可。
云端训练
- 如果本地设备性能不够的话,可以尝试云端训练,方式可以参考B站这个视频:手把手教学!如何自己训练一个AI歌手 - sovits本地&云端训练教程
可能遇到的问题
- 云端训练最大的问题可能就是cuda版本过低
RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR
- 如果遇到这个情况,运行如下指令进行更新cuda版本,我是用的4090,所以cuda版本是11.8,根据实际情况修改即可
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
最后一次更新于2023-05-20
0 条评论