标签: Realtime Voice Changer

  • 如何训练一个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

  • 一个另类的RVC实现方式

    一个另类的RVC实现方式

    前言

    我相信每一个上网冲浪的人都有使用变声器的需求,无论是为了保持匿名,增加趣味,生活情趣等等各种需求,所以自然也出现了很多变声软件和项目,有开源的,不开源的,收费的,等等

    当然,我也有使用变声器的需求,各种意义上的,就在偶然间,我发现了这个好项目

    Retrieval-based-Voice-Conversion-WebUI

    它可以本地运行,并且可以自行训练模型,使用起来非常自然,甚至于说听不出破绽,当然,我也解包了我喜欢的游戏并使用里面的人物的声音训练了模型

    mozi1924/my_rvc_model · Hugging Face

    但是,这个项目有一个致命的缺点,就是比较吃配置,我的笔记本配置不是很高,这以至于我在打游戏的时候没法使用它,但巧合的是,我还有一台电脑,我可以使用另外一台电脑作为变声器,笔记本拿来打游戏,这岂不是一举两得?

    教程:开始

    首先,我拿来运行RVC的电脑配置如下

    cpu: E5-2696V3

    ram:DDR4 ECC 16G

    128G NVME SSD

    550W电源

    x99寨板

    Tesla P40 24G

    windows server 2022

    我的笔记本是intel nuc x15准系统lapkc71f

    cpu:i7-11800H

    gpu: rtx 3070 laptop

    ddr4 16g

    1t+2t nvme固态

    windows 11 pro

    那么我们要如何将这两个设备组合起来呢?

    你需要两条aux音频线

    一个usb声卡

    这两样小东西pdd购买不会超过40块

    接下来我们把主机和笔记本接起来

    如上图所示

    随后将该声卡的麦克风设置为默认,并把音量调整到50%,否则,对方会您的音量不满意

    然后在笔记本上安装一个Voicemeeter

    并如图

    其中 Input 1是您耳机的麦克风或者降噪软件创建的虚拟麦克风,HARDWAVE OUT是您连接主机的USB声卡的输出

    您的主机安装好RVC后请如下图

    输入设备选择line in,这样输入不会炸,识别率更高

    输出选择扬声器,声音会到您的usb声卡上,记得在笔记本上调小麦克风声音,不然会炸麦,剩下的配置可以照抄,前提是您的主机性能比我的更好或者一样

    随后,享受变声器为你带来的匿名和趣味

    小贴士:如果您的环境噪音大或者麦克风效果差,可以尝试NVIDIA Broadcast

    前提是您有一张20系以上的nvidia显卡,否则,将无法运行