标签: Mozi Music Studio

  • 使用GPT-SoVITS快速克隆一个人的声音

    使用GPT-SoVITS快速克隆一个人的声音

    前言

    这期文章,由我来向大家介绍我我们的新朋友 GPT-SoVITS ,它的作者就是 Retrieval-based-Voice-Conversion 的主要开发者之一!RVC-Boss

    这两个项目的核心都使用了 VITS 以至于能实现如此惊人的效果和快速,但是 GPT-SoVITS 和 Retrieval-based-Voice-Conversion 虽然有着千丝万缕的关系但是它们的功能却有很大的差别,Retrieval-based-Voice-Conversion 属于变声器,并且能够实时推理,而 GPT-SoVITS 目前为止还在TTS范畴,尽管开发者提到了后期会推出变声功能,不过可以让我们期待变声功能能为我们带来怎样惊艳的效果,该说的都说了,那么接下来让我们开始我们的教程

    开始

    项目的 readme 写的很详细,详细介绍了如何再您的计算机上安装部署,如果您使用Windows操作系统可以 下载整合包 当然,在这里我们也详细介绍整合包的使用

    在您下载整合包后,您应该得到如下图的文件,大小在4gib多

    接下来,使用您喜欢的解压软件解压这个整合包,我推荐使用7zip,我当前下载的使beta0217版本,那么打开后在压缩包更目录应该看到如下文件夹

    右键它,复制,然后粘贴到一个合适的位置,不要有空格或者特殊字符(比如中文),像是我,就把它解压到了 D:\

    然后打开解压过后的 GPT-SoVITS-beta0217 文件夹,运行go-webui.bat(如果有网络请求窗口请点击允许),然后程序就会自动启动您的浏览器并打开如下界面

    第一个区块是UVR人声分离,但我不建议使用自带的,请前往 The Ultimate Vocal Remover Application 下载,阅读 往期文章 查看推荐的模型

    然后,进行语音切分,如下图

    在 音频自动切分输入路径 里输入您的数据文件,支持单文件或者一个文件夹,别的无需修改,直接点击开始,然后会在终端中输出切分后的数据的路径,如下图

    其中 “output\slicer_opt” 就是切分后输出的路径,然后在ASR模块输入 程序安装路径\output\slicer_opt,比如我的就是C:\GPT-SoVITS-beta0217\output\slicer_opt,然后选择语言和模型,然后点击开始

    如果您是首次使用,会自动下载模型文件,请保持稳定快速的网络连接并耐心等待

    下载完成后会开始处理

    然后输出文件路径

    复制它,然后输入到打标模块,然后点击启用

    此时程序会自带打开打标页面

    一般没什么需要修改的,得益于达摩ASR的准确识别,你只需要挑选出质量差的标注并删除即可,点击Next Index翻页,完成修改后点击Save File

    然后点击 1-GPT-SOVITS-TTS 选项卡

    实验/模型名 输入一个名字,一般输入目标的名字,然后在 文本标注文件 输入之前的asr文件路径,然后在 训练集音频文件目录 输入之前的切分后文件路径,然后点击 开始文本获取

    1Aa-Text

    然后耐心等待 直到输出 文本进程结束

    然后点击 开启SSL获取

    1Ab-SSL self-supervised feature extraction

    等待执行完成后

    然后点击开始语义token提取

    image 28

    实验/模型名 输入一个名字,一般输入目标的名字,然后在 文本标注文件 输入之前的asr文件路径,然后在 训练集音频文件目录 输入之前的切分后文件路径,然后滑动到页面底部点击一键三连

    等输出 一键三连进程结束 后切换到 1B-微调训练

    保持默认直接点击开始,如果你有特殊需求也可以调整,一般默认参数足够了

    时间比较久,请耐心等待,此时可以起身出去冲一杯咖啡,舒展下身体

    完成后,会在log里输出 SoVITS训练完成

    然后点击 开始GPT训练

    等待输出 GPT训练完成 就可以前往 1C-推理

    先点击 刷新 然后选择 模型,一般是 你刚刚填写的实验名-eXX.ckpt 两个模型都要选,建议选数字最大的,然后勾选 开启TTS推理WebUi ,程序会启动推理UI并在浏览器打开界面

    此时就可以推理了,我建议打开打标页面选择一条音频作为参考音频,然后输入参考文本

    然后输入要合成的文本然后点击合成语音就开始合成了,单语言输出的效果还是非常不错的,多语言混合也将就听得过去

    最后,给大家带来效果试听


    效果试听

    参考音频

    输出音频

  • 如何训练一个RVC模型?

    如何训练一个RVC模型?

    前言

    在往期文章 一个另类的RVC实现方式 – Arasaka ltd. 中,我简单介绍了RVC变声器,在此感谢开发团队的辛勤工作和社区的帮助,让该项目越来越好

    该项目的一些特点

    • 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
    • 即便在相对较差的显卡上也能快速训练
    • 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
    • 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge)
    • 简单易用的网页界面
    • 可调用UVR5模型来快速分离人声和伴奏
    • 使用最先进的人声音高提取算法InterSpeech2023-RMVPE根绝哑音问题。效果最好(显著地)但比crepe_full更快、资源占用更小
    • A卡I卡加速支持

    准备:开始

    首先,你需要明白你需要训练什么音色,这个音色是要真实存在的,可以是某款游戏或者动漫、电影里的某一个人物,并且可以保证能够收集到至少5-10分钟甚至更多的数据,而不是空想出来,反之,你应该关闭这个页面并在Google上寻找一个合适的音频处理软件对你或者你想变声的声音进行调整

    训练一个RVC模型非常的简单,大概步骤是:

    • 收集数据
    • 处理数据
    • 数据切分
    • 提取音高
    • 开始训练
    • 构建索引
    • 完成

    那么,接下来让我们真正开始训练

    开始

    让我们开始收集数据,你可以通过一些工具来解包游戏获得声音,也可以通过下载工具下载视频,音乐,电影….

    在这里,我不会详细介绍如何解包某款游戏或者下载某平台的视频音乐等等,请你自己解决

    然后,通过The Ultimate Vocal Remover Application提取干声

    我不会在这里详细介绍如何使用UVR5的使用方法,但我会为你推荐几款模型

    首先,使用UVR-MDX-NET inst HQ3 将人声分离出来,你只需要vocals,所以勾选Vocals Only

    然后,使用VR模型中的UVR-DeNoise使人声更加纯净(如果你需要训练的声音有一定特点比如:机器人,请不要使用它)

    随后,使用UVR-DeEcho-DeReverb去除一些和声和混响与延迟(如果你需要训练有特点的声音比如:庞然大物,请不要使用它)

    最后(可选)如果你的声音数据中有多个人,请使用 5或6_HP-Karaoke-UVR提取主人声

    然后,重命名你的声音数据使其井然有序,比如

    • lala (1).wav
    • lala (2).wav
    • lala (3).wav
    • ……

    将他们放到一个文件夹内,不要有空格,启动RVC Webui(go-web.bat)

    如果你没有nvidia gpu或者不想在本地训练,可以跟随RVC官方推荐的 AutoDL·RVC训练教程 · RVC-Project/Retrieval-based-Voice-Conversion-WebUI Wiki · GitHub

    启动后,程序会自动打开浏览器并打开一个页面

    点击 训练

    输入实验名 那里输入一个名字,不要有空格,建议使用拼音或者英文,可以是你训练的人物名字

    目标采样率选择40k就够了,如果你的声音数据有48k当然训练48k更好

    音高指导我建议勾选 无论你是否使用该模型唱歌,因为人平时说话是多变的

    CPU进程数建议保持默认,如果你对你的硬件有信心可以调高或拉满

    然后对着你的训练数据文件夹 Shift + 右键 复制为路径

    然后粘贴到 输入训练文件夹路径 别的 千万别动

    然后选择处理音高的模型,我建议使用 rmvpe_gpu 如果你有多张显卡可以按照说明进行更改

    然后下滑到最后一栏

    第一项 保存频率 可以保持默认,这样即使电脑断电重启后也可以接着继续训练,当然你有信心也可以直接拉满 50轮保存一次

    total_epoch可以保持默认,一般默认就足以克隆音色了,但如果你的音色比较特殊(比如夹子音) 可以拉到200,但训练时间也会随之增加,Batch_size理论上来说越高训练越快,同时也越占现存,如果GPU性能差但显存大拉高后模型质量会随之下降

    后面的选项建议保持不动,如果你的硬盘空间不足可以勾选仅保存最新ckpt

    然后点击 一键训练 训练开始,建议关闭其他所有网页和后台程序,仅保留当前页面和后端,不要关闭网页,等待训练完成你将会在 安装目录/\assets/\weights 下找到 训练名.pth 这是你的模型文件 然后在 安装目录/\logs/\训练名 找到added_训练名xxx.index 这是你的索引文件,如果你需要分享你的模型请分享这两个文件,而不是只分享模型文件

    结束

    接下来,请享受您训练的模型,如果您愿意的话,还请将模型分享出来给更多人使用,建议上传到 Hugging Face