文章总览
RVC是什么?
RVC(Retrieval based Voice Conversion)是一个开源工具,它基于VITS(Voice Inverse Text-to-Speech)语音合成系统,能够实现实时声音变换。它特别适用于直播、视频录制等场景。最新版本V2 0528可以在Huggingface上下载。
为了获得最佳性能,使用RVC需要一台高配置的电脑。我们建议配置以下硬件:13代酷睿处理器、64GB内存以及4070ti或更高版本的Nvidia显卡。请注意,RVC仅支持Nvidia显卡。
使用RVC的步骤如下:
- 首先,下载RVC的安装包和模型包,并将它们解压。
- 运行程序,并在界面中选择声音模型,并导入.pth文件。
- 连接麦克风和声卡,或者使用虚拟声卡。
- 配置好设置后,点击开始按钮即可进行实时变声。
如果需要,用户还可以自行训练模型。
rvc变声器官方项目地址模型下载
github下载地址:
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI
hugging face下载地址:
https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main
虚拟声卡软件voicemeeter推荐: https://voicemeeter.com/
RVC变声器懒人包
RVC实时AI变声教程
RVC(Retrieval based Voice Conversion,检索式声音转换)是一个基于VITS语音合成系统的开源工具,可实现实时声音变换。它适用于直播、视频录制等多种场景。最新版本V2 0528可在Huggingface上下载。然而,RVC对计算机配置要求较高,建议使用13代酷睿处理器、64GB内存以及4070ti以上的Nvidia显卡。
使用RVC的步骤如下:
- 下载并解压安装包和模型包。
- 运行程序,选择声音模型,并导入相应的Pth文件。
- 连接麦克风和声卡,或设置虚拟声卡以进行声音转换。
- 完成配置设置后,点击开始按钮即可进行实时变声。
除了使用现有的模型,你还可以根据自己的需求进行模型训练。RVC提供了相关工具的链接,你可以在视频下方找到这些链接。
RVC(Retrieval based Voice Conversion,检索式声音转换)是语音转换领域备受关注的一款工具,具备强大的功能。它能够实时将一种声音转换为另一种声音,为直播、视频录制等应用场景增加了更多的创意和可能性。不论是出于娱乐目的还是为了达到更加个性化的声音效果,RVC都为用户提供了灵活且高质量的声音转换解决方案。
需要注意的是,RVC对计算机配置要求较高。为了获得最佳的使用体验和声音转换效果,建议使用高性能的硬件设备并确保内存资源充足。
总之,RVC是基于VITS语音合成系统的功能强大的开源工具,可实现实时声音变换。通过下载安装包和模型包,并按照指南进行配置,用户可以轻松进行声音转换,并根据需要训练自己的模型。RVC为直播、视频录制等场景提供了更多创造性和个性化选项,为用户提供高质量的声音转换解决方案。
特点
- 音色泄漏防止:使用top1检索替换输入源特征为训练集特征,有效杜绝音色泄漏问题。
- 显卡兼容性:即便在相对较差的显卡上,也能快速进行训练,提高了工作效率。
- 数据需求低:使用少量数据进行训练即可获得较好的结果,推荐至少收集10分钟的低底噪语音数据。
- 模型融合:通过模型融合可以改变音色,借助ckpt处理选项卡中的ckpt-merge功能,灵活调整声音效果。
- 简单易用的网页界面:使用本仓库提供的简单易用的网页界面,您可以方便地进行操作和控制。
- UVR5模型支持:可以调用UVR5模型来快速分离人声和伴奏,为您提供更多的音频处理选项。
环境配置
推荐使用Poetry配置环境。请在Python版本大于3.8的环境中执行以下指令:
首先,安装PyTorch及其核心依赖。如果已经安装过,则可以跳过此步骤。
pip install torch torchvision torchaudio
如果你是在Windows系统上,且使用的是Nvidia Ampere架构(RTX30xx),根据经验,你可能需要指定PyTorch对应的CUDA版本。你可以使用以下指令:
pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu117
接下来,安装Poetry依赖管理工具。如果已经安装过Poetry,则可以跳过此步骤。
curl -sSL https://install.python-poetry.org | python3 –
最后,通过Poetry安装项目依赖:
poetry install
这样就安装完成了
系统要求说明
- 如果你使用的是Windows 10或Windows 11操作系统,请确保你的显卡驱动程序已更新到最新版本。更新显卡驱动可以提升性能和兼容性。
- 如果你的显卡是1060或更高级别的型号,你的计算机性能将更好。这些显卡通常具备更好的图形处理能力,可以提供更流畅的体验。
- 为了避免声音卡顿和延迟高的问题,建议使用至少四核心以上的CPU。如果你的CPU性能较差,可能会导致声音卡顿和延迟增加,影响质量。
- 确保使用一款清晰干净的麦克风。声卡自带的麦克风通常具备最佳的音频效果,如果没有声卡麦克风可用,你可以JD.CN获取一款高质量的麦克风。避免使用手机耳机和笔记本自带的麦克风,因为它们的音频效果通常较差。
RVC与传统变声器的优缺点
- AI变声不需要个人声线:与传统变声器不同,AI变声技术可以在不考虑个人声线的情况下进行声音转换。只需清晰地说话即可,模型会根据训练数据中的各种声线进行变化。
- 处理延迟:确实,某些AI变声系统可能存在较高的延迟,通常在1-5秒以上。这是因为AI模型的处理时间较长。相比之下,传统变声器可以实现无延迟的效果。
- 咬字清晰度和感情表达:AI变声技术对于咬字清晰度和感情表达的处理效果取决于模型的训练质量和音源的质量。如果模型的训练数据中包含了多样化的语气和声线,那么它可能能够更好地处理咬字清晰度和感情表达。但是,在某些情况下,AI模型可能无法完美地捕捉到感情波动,导致失真或奇怪的气息。
- 硬件要求和兼容性:AI变声技术通常需要较高的计算资源,包括CPU和GPU。如果你的配置较低,可能无法使用某些AI变声系统。此外,目前AI变声技术主要兼容NVIDIA显卡,对其他显卡的兼容性可能较差。
- 兼容性和稳定性:AI变声技术仍然处于发展阶段,并且可能存在一些兼容性和稳定性方面的问题。闪退和稳定性的问题可能需要进一步的优化和改进。
常见问题解答
ffmpeg错误/utf8错误。
大概率不是ffmpeg问题,而是音频路径问题;
ffmpeg读取路径带空格、()等特殊符号,可能出现ffmpeg错误;训练集音频带中文路径,在写入filelist.txt的时候可能出现utf8错误。
一键训练结束没有索引。
如果显示”Training is done. The program is closed.”,则说明模型训练成功,后续出现的报错可能是虚假的;
一键训练结束后没有出现以”added”开头的索引文件,可能是因为训练集太大而导致添加索引的步骤执行时间过长;你可以尝试再次点击”训练索引”按钮。
训练结束后推理没有看到训练集的音色。
请尝试刷新音色,如果仍然看不到,请检查训练是否有报错信息。你可以提供控制台和WebUI的截图,以及logs/实验名下的日志文件,供开发者进行排查。
如何分享模型。
在rvc_root/logs/实验名目录下存储的.pth文件不是用于分享模型的,而是用于存储实验状态以便复现和继续训练。用于分享的模型应该是weights文件夹下大小为60+MB的.pth文件;
后续将会将weights/exp_name.pth和logs/exp_name/added_xxx.index文件合并打包成weights/exp_name.zip,省去手动填写索引的步骤。你可以分享这个zip文件,不需要分享.pth文件,除非你想在另一台机器上继续训练;
如果你将logs文件夹下几百MB大小的.pth文件复制或分享到weights文件夹下,并尝试用它进行推理,可能会出现各种键(如f0、tgt_sr等)不存在的报错。你需要在ckpt选项卡的底部手动选择是否携带音高和目标音频采样率的选项,然后提取小模型(ckpt)。提取完成后,在weights文件夹下会生成一个大小为60+MB的.pth文件,刷新音色后你可以选择使用该文件进行推理。
连接错误(Connection Error)。
可能是因为你关闭了控制台(黑色窗口)。
WebUI弹出”Expecting value: line 1 column 1 (char 0)”错误。
请关闭系统的局域网代理/全局代理。这不仅指客户端的代理设置,也包括服务端的代理设置(例如,如果你使用autodl设置了http_proxy和https_proxy来进行学术加速,在使用时需要取消设置)。
不使用WebUI,如何通过命令进行训练和推理。
训练脚本:
你可以先通过WebUI运行,消息窗口中会显示用于处理数据集和训练的命令行。
推理脚本:
你可以在以下链接中找到推理脚本:
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/myinfer.py
以下是一个使用示例:
runtime\python.exe myinfer.py 0 “E:\codes\py39\RVC-beta\todo-songs\1111.wav” “E:\codes\py39\logs\mi-test\added_IVF677_Flat_nprobe_7.index” harvest “test.wav” “weights/mi-test.pth” 0.6 cuda:0 True
其中,f0up_key=sys.argv[1],input_path=sys.argv[2],index_path=sys.argv[3],f0method=sys.argv[4](可以是”harvest”或”pm”),opt_path=sys.argv[5],model_path=sys.argv[6],index_rate=float(sys.argv[7]),device=sys.argv[8],is_half=bool(sys.argv[9])。
CUDA错误/CUDA内存不足。
可能是由于CUDA配置问题或设备上的内存不足导致的。你可以尝试以下解决方案:
确保你已正确安装了CUDA并配置了正确的环境变量。检查CUDA版本是否与你的GPU兼容。
如果你的GPU内存不足,可以尝试减小批量大小(batch size)或使用更小的模型。
可以尝试在代码中添加以下语句,将模型和数据转移到CPU上进行计算:
python
复制model.to('cpu') input_data = input_data.to('cpu') ```
如果你使用的是PyTorch,可以使用torch.cuda.empty_cache()
清理缓存,释放一些内存空间。
确保你的GPU驱动程序是最新的版本。
如果你使用的是云服务提供商的GPU实例,可能需要升级到更高规格的实例,以获取更多的GPU内存。