首页
/ 5分钟搭建专业级变声系统:Retrieval-based-Voice-Conversion-WebUI小白指南

5分钟搭建专业级变声系统:Retrieval-based-Voice-Conversion-WebUI小白指南

2026-02-04 04:53:28作者:凤尚柏Louis

你还在为找不到简单易用的语音转换工具而烦恼吗?是否想在自己的电脑上快速搭建一个专业级的变声系统?本文将带你5分钟入门Retrieval-based-Voice-Conversion-WebUI(简称RVC),无需专业知识,轻松实现高质量语音转换。读完本文,你将能够:快速配置环境、完成模型训练、进行实时语音转换,并解决常见问题。

项目简介

Retrieval-based-Voice-Conversion-WebUI是一个基于VITS的简单易用的变声框架,具有以下特点:

  • 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
  • 即便在相对较差的显卡上也能快速训练
  • 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
  • 可以通过模型融合来改变音色
  • 简单易用的网页界面
  • 可调用UVR5模型来快速分离人声和伴奏
  • 支持A卡I卡加速

项目提供了两种主要界面:

  • 训练推理界面:通过go-web.bat启动,可自由选择想要执行的操作。
  • 实时变声界面:通过go-realtime-gui.bat启动,已实现端到端170ms延迟,使用ASIO输入输出设备可低至90ms。

环境配置

快速安装步骤

以下是在不同操作系统上配置环境的通用方法:

Windows系统

  1. 安装Python(建议版本3.8及以上)
  2. 安装Pytorch及其核心依赖:
pip install torch torchvision torchaudio

如果是Nvidia Ampere架构(RTX30xx)显卡,需要指定cuda版本:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
  1. 根据显卡类型安装对应依赖:
  • N卡用户:
pip install -r requirements.txt
  • A卡/I卡用户:
pip install -r requirements-dml.txt
  1. 下载并安装ffmpeg,将ffmpeg.exe和ffprobe.exe放置在项目根目录

Linux/MacOS系统

  1. 安装Python(建议版本3.8及以上)
  2. 安装Pytorch及其核心依赖(同上)
  3. 根据显卡类型安装对应依赖(同上)
  4. 安装ffmpeg:
  • Ubuntu/Debian用户:
sudo apt install ffmpeg
  • MacOS用户:
brew install ffmpeg
  1. MacOS用户可直接通过run.sh脚本安装依赖:
sh ./run.sh

预模型准备

RVC需要一些预模型来进行推理和训练,你可以通过tools/download_models.py脚本自动下载,也可以手动下载以下文件:

  1. 基础模型文件:

  2. 如果想使用v2版本模型,还需要下载assets/pretrained_v2文件夹下的文件

  3. 下载RMVPE人声音高提取算法所需文件:

    • rmvpe.pt放置于项目根目录
    • A卡/I卡用户还需下载rmvpe.onnx

快速启动

基本启动方法

完成环境配置后,你可以通过以下方式启动WebUI:

  1. 直接启动:
python infer-web.py
  1. 如果使用Poetry安装依赖:
poetry run python infer-web.py
  1. Windows用户可以直接双击go-web.bat文件启动

高级启动选项

source /opt/intel/oneapi/setvars.sh
python infer-web.py

模型训练

数据准备

训练模型需要准备以下数据:

  • 10-50分钟的语音数据(推荐高质量、低底噪)
  • 音频文件格式建议为wav、mp3等常见格式
  • 确保音频路径不包含中文、空格或特殊符号

训练步骤

  1. 启动WebUI后,进入训练选项卡
  2. 设置实验名称(英文,不要包含特殊字符)
  3. 上传或指定训练集文件夹路径
  4. 调整训练参数(对于新手,建议使用默认参数)
  5. 点击"提取特征"按钮,等待特征提取完成
  6. 点击"训练模型"按钮开始训练

训练过程中,你可以在界面上看到实时的训练进度和损失值变化。训练完成后,模型文件会保存在weights文件夹下。

提示:如果训练集音质差底噪大,20~30轮迭代足够;如果训练集音质高底噪低时长多,可以适当增加迭代次数,200轮左右效果更佳。

常见训练问题

  • Q: 训练结束没有索引文件怎么办?
    A: 显示"Training is done. The program is closed."则模型训练成功,可尝试再次点击"训练索引"按钮。

  • Q: 训练集需要多少时长?
    A: 推荐10min至50min。高质量、特色明显的5min至10min数据也可能训练出不错的模型,但1min以下数据不建议尝试。

  • Q: 如何中断和继续训练?
    A: 现阶段只能关闭WebUI,重启程序后使用相同实验名继续训练。

详细的常见问题解答可以参考docs/cn/faq.md

语音转换

基本转换步骤

  1. 在WebUI中切换到"推理"选项卡
  2. 上传或输入要转换的音频文件
  3. 选择要使用的模型(点击"刷新音色"按钮加载最新模型)
  4. 调整转换参数:
    • 音高偏移(key):根据需要调整,通常范围在-12到+12之间
    • 索引强度(index rate):控制音色相似度,0.5-0.8较为常用
    • F0提取算法:根据音频特点选择,通常推荐使用rmvpe
  5. 点击"转换"按钮开始处理
  6. 转换完成后可以试听并下载结果

高级功能

  • 模型融合:通过ckpt处理选项卡中的ckpt-merge功能,可以融合多个模型改变音色
  • 批量转换:使用tools/infer_batch_rvc.py脚本进行批量处理
  • 命令行转换:使用tools/infer_cli.py脚本通过命令行进行转换

实时变声

  1. 双击go-realtime-gui.bat启动实时变声界面
  2. 选择输入输出设备
  3. 选择要使用的模型
  4. 调整参数后点击"开始"按钮
  5. 现在你可以通过麦克风实时变声了

提示:使用ASIO输入输出设备可以获得更低延迟,但需要声卡支持。

模型管理

模型分享

用于分享的模型是weights文件夹下大小为60+MB的pth文件。建议将weights文件夹下的pth文件和logs文件夹下的index文件合并打包成zip文件分享。

模型转换

如果需要将训练中间保存的pth文件用于推理,需要通过ckpt选项卡最下面的功能进行小模型提取。

模型优化

  • 可以通过tools/export_onnx.py将模型导出为ONNX格式,提高推理速度
  • 对于低配置设备,可以适当调整config.py中的参数,如x_pad、x_query等,减少显存占用

常见问题解决

环境问题

  • ffmpeg error/utf8 error:通常是音频路径问题,避免使用中文、空格或特殊符号
  • Cuda out of memory:显存不足,可尝试缩小batch size或调整config.py中的参数
  • llvmlite.dll错误:Windows用户需要安装vc_redist.x64.exe

训练问题

  • 训练结束没有索引:可能是训练集太大导致,可尝试再次点击"训练索引"按钮
  • 训练集音质差:建议20-30轮迭代即可,避免过度训练
  • 训练中断后继续:使用相同实验名重新训练即可继续

推理问题

  • 看不到训练的音色:点击"刷新音色"按钮,检查训练是否有报错
  • 推理结果音质差:尝试调整index rate参数,或使用更高质量的训练数据
  • 变声效果不明显:调整音高偏移参数,或尝试使用不同的F0提取算法

更多常见问题可以参考docs/cn/faq.md

总结与展望

Retrieval-based-Voice-Conversion-WebUI提供了一个简单易用但功能强大的语音转换解决方案,即使是没有专业知识的用户也能快速上手。通过本指南,你已经了解了如何配置环境、训练模型和进行语音转换。

项目仍在持续发展中,未来将提供更强大的底模、更简单的操作流程和更好的转换效果。你可以通过docs/cn/Changelog_CN.md关注最新更新。

如果你在使用过程中遇到问题,可以查阅项目文档或加入社区寻求帮助。祝你使用愉快!

登录后查看全文
热门项目推荐
相关项目推荐