Retrieval-based-Voice-Conversion-WebUI 完整实战指南基于 VITS 的检索式变声框架安装、配置与模型部署【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI导读Retrieval-based-Voice-Conversion-WebUI以下简称 RVC是一个基于 VITS、简单易用的语音转换框架其葡萄牙语版说明文档位于 docs/pt/README.pt.md。本文以该文档为核心骨架围绕其环境准备、预模型下载、WebUI 启动、ROCm 支持等实战主线展开并结合仓库源码补充底层实现依据帮助你完整走通从零安装到推理 / 训练一套 RVC 模型的流程。一、RVC 是什么用 10 分钟人声数据快速得到可用的音色转换模型RVC 的核心能力总结为一句话使用不超过 10 分钟的低底噪人声数据即可相对轻松地训练出一个可用的音色转换Voice Conversion, VC模型。项目底模采用接近 50 小时的开源高质量 VCTK 训练集训练无版权顾虑后续官方也计划持续加入正版授权的高质量歌曲数据集进一步丰富底模训练语料。项目层面可预期的路线图还包括 RVCv3 底模——文档明确说明其特点为参数更大、数据更大、效果更好、推理速度基本持平、所需训练数据量更少。这些表述来自项目自身的路线声明属于项目事实而非已发布能力使用时需注意区分。二、核心特性从 top1 检索到多硬件加速葡萄牙语文档在 Resumo摘要一节集中列出了本仓库的主要特性归纳如下top1 检索杜绝音色泄漏通过 top1 检索将输入源特征替换为训练集特征。这一机制意味着转换结果会向目标训练集的音色、口音特征对齐避免源音频音色混入输出。低门槛训练即使在相对较差的显卡上也能快速训练。小数据量友好官方推荐至少收集10 分钟低底噪语音数据。模型融合改变音色通过 ckpt 处理ckpt-merge能力对多个模型进行融合详见下方第四节与源码佐证。简单易用的 WebUI训练、推理、预处理均在网页界面内完成。UVR5 人声 / 伴奏分离可调用 UVR5 模型快速分离人声和乐器伴奏。RMVPE 高音提取使用最先进的人声音高提取算法 RMVPE源自 InterSpeech2023有效根治哑音问题效果最好显著优于 Crepe_full同时更快、资源占用更小。AMD / Intel 显卡加速Windows 下通过 DirectML 支持 A 卡 / I 卡Intel ARC 显卡另有 IPEX 支持方案详见环境配置章节。三、环境准备从 Python 3.8 到多硬件依赖清单文档要求所有命令在Python 3.8 及以上环境中执行仓库同时提供了requirements-py311.txt等针对不同 Python 版本/硬件的依赖清单。3.1 先安装 PyTorch 核心依赖# 安装 PyTorch 及其核心依赖若已安装可跳过 # 参考: https://pytorch.org/get-started/locally/ pip install torch torchvision torchaudio # Windows Nvidia Ampere (RTX30xx) 架构需要指定对应 cuda 版本的 pytorch # pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 # Linux AMD 显卡则需要使用以下 rocm 版本 # pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.23.2 安装其余依赖二选一方式一Poetry# 安装 Poetry 依赖管理工具若已安装可跳过 curl -sSL https://install.python-poetry.org | python3 - # 安装项目依赖 poetry install方式二直接使用 pip 对应 requirements 文件# Nvidia 显卡各平台通用 pip install -r requirements.txt # Windows 下 AMD/Intel 显卡DirectML pip install -r requirements-dml.txt # Linux / WSL 下 Intel ARC 显卡使用 Python 3.10 pip install -r requirements-ipex.txt # Linux 下 AMD 显卡ROCm pip install -r requirements-amd.txt仓库中同时还存在environment_dml.yaml、requirements-win-for-realtime_vc_gui*.txt等文件分别面向 Conda DML 环境与 Windows 实时变声 GUI可按需查阅 requirements 文件清单 判断自己的场景。3.3 macOS 用户Mac 用户可直接通过run.sh安装依赖并启动sh ./run.sh从 run.sh 的实现来看该脚本会针对 macOS 自动设置PYTORCH_ENABLE_MPS_FALLBACK1与PYTORCH_MPS_HIGH_WATERMARK_RATIO0.0等 MPS 相关环境变量并在无.venv时自动创建 Python 3.8 虚拟环境、按requirements.txt补齐依赖随后调用模型下载脚本与 WebUI 启动命令属于一键安装 启动的整合入口。四、预模型准备RVC 推理与训练必需的资产清单RVC 需要若干预训练模型与配套文件才能进行推理和训练葡萄牙语文档给出了两种获取方式与完整清单。4.1 一键下载脚本# 在 https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/ 下载全部所需模型 python tools/download_models.py查看 tools/download_models.py 源码可以确认该脚本实际下载的内容分为四类类别具体内容落盘目录内容编码器hubert_base.ptassets/hubert音高提取器rmvpe.ptassets/rmvpeUVR5 人声分离vocals.onnx去混响 FoxJoy 版assets/uvr5_weights/onnx_dereverb_By_FoxJoyv1/v2 底模生成器与判别器D/G系列的32k/40k/48k及f0变体共 12 个文件assets/pretrained、assets/pretrained_v2其中底模文件涵盖D32k/D40k/D48k、G32k/G40k/G48k以及对应的f0D/f0G变体分别对应是否带 F0 输入的模型分支适配不同采样率32k/40k/48k的训练配置。Linux/macOS 上另有基于 aria2c 的 tools/dlmodels.sh 脚本下载前会自动创建assets/pretrained、assets/pretrained_v2、assets/uvr5_weights、assets/uvr5_weights/onnx_dereverb_By_FoxJoy等目录并做文件存在性检查。注意当前仓库快照中的 assets 目录仅保留了.gitignore与少量测试输入文件如hubert_inputs.pth、rmvpe_inputs.pth、Synthesizer_inputs.pth真实权重需按上述脚本下载后按清单放置。4.2 手动下载清单需要手动放置的核心文件列表如下./assets/hubert/hubert_base.pt # Hubert 内容编码器权重 ./assets/pretrained # v1 底模生成器 判别器 ./assets/uvr5_weights # UVR5 人声分离权重如果希望测试v2 版本模型需要额外下载./assets/pretrained_v2v2 与 v1 的核心差异在于文档原文v2 将9 层 Hubert final_proj 的 256 维特征输入改为12 层 Hubert 的 768 维特征输入并新增了3 个周期判别器period discriminators。这与仓库中assets/pretrained/assets/pretrained_v2双目录的划分、以及 infer-web.py 启动时对模型目录的自动创建逻辑一一对应。4.3 Windows 的 FFmpeg / FFprobeWindows 用户若尚未安装 FFmpeg 与 FFprobe还需下载ffmpeg.exe与ffprobe.exe放置在 RVC 根目录Linux/macOS 用户可直接通过系统包管理器安装如apt install ffmpeg、brew install ffmpeg。4.4 RMVPE 音高提取权重按需若想使用 SOTA 级别的 RMVPE 人声音高提取算法通用N 卡用户将rmvpe.pt放置于 RVC 根目录或assets/rmvpe下AMD/Intel 显卡DML用户额外需要下载rmvpe.onnx。仓库中 infer/lib/rmvpe.py 即 RMVPE 的推理实现assets/rmvpe/rmvpe_inputs.pth为其测试输入从源码结构看.onnx形态面向无法直接运行原生 PyTorch 算子的 DirectML 环境为 A/I 卡用户提供等效的 CPU/ONNX Runtime 推理路径。五、启动 WebUIgo-web.bat、run.sh 与直接命令三种方式5.1 命令行直接启动python infer-web.py若依赖是通过 Poetry 安装的则使用poetry run python infer-web.py5.2 Windows 整合包go-web.batWindows/macOS 用户可下载并解压整合包RVC-beta.7z随后Windows双击go-web.batmacOS执行sh ./run.sh。看 go-web.bat 内容可知其等价命令为runtime\python.exe infer-web.py --pycmd runtime\python.exe --port 7897即使用整合包内置的 Python 运行时启动并默认监听7897端口启动后浏览器访问http://127.0.0.1:7897即可打开界面。5.3 需要 IPEX 技术的 Intel ARC 用户仅 Linux启动前先初始化 oneAPI 环境source /opt/intel/oneapi/setvars.sh5.4 WebUI 界面到底有哪些功能从 infer-web.py 的界面定义gr.Blocksgr.Tabs可以确认葡萄牙语文档所述各能力在 UI 上的落点主要 Tab 包括模型推理内含单次推理与批量推理两个子页支持选择权重weights目录下的.pth模型与.index检索文件伴奏人声分离 去混响 去回声加载assets/uvr5_weights下的 UVR5 权重完成预处理训练数据预处理、训练参数设置与训练启动ckpt 处理show_info查看权重信息、extract_small_model提取小模型、merge融合模型即文档所述ckpt-mergeOnnx 导出将模型导出为 ONNX 格式以便部署FAQ内置常见问题解答。界面上的语言文本统一走 i18n/i18n.py 国际化模块i18n/locale 下提供了zh_CN/en_US/ja_JP/ko_KR/fr_FR/pt_BR等多语言词典因此 UI 会随启动环境的语言配置显示对应语言。5.5 模型融合ckpt-merge的源码依据通过模型融合改变音色这一特性由 infer/lib/train/process_ckpt.py 实现其中show_info()读取 ckpt 信息、extract_small_model()抽取小模型、merge()按比例融合两个模型的权重alpha1控制第一模型的权重占比。该函数还会检查两个模型的结构是否一致若不一致返回 The model architectures are not the same这正是文档建议用 ckpt 处理选项卡中的 ckpt-merge 融合模型改变音色的底层逻辑。六、AMD 显卡 ROCm 支持仅 Linux若希望在 Linux 上借助 AMD ROCm 运行 RVC请先在 AMD 官方文档指引下安装全部所需驱动如 Arch 系可使用 pacman 安装pacman -S rocm-hip-sdk rocm-opencl-sdk部分显卡型号例如 RX6700XT可能需要额外配置如下环境变量export ROCM_PATH/opt/rocm export HSA_OVERRIDE_GFX_VERSION10.3.0同时确保当前用户已加入render与video用户组sudo usermod -aG render $USERNAME sudo usermod -aG video $USERNAME配置完成后即可正常启动 WebUIpython infer-web.py七、深入理解从配置目录到音高提取器的代码地图为便于后续按需排查这里补充几张与上文文档主题直接相关的代码地图源自仓库结构非文档新增功能全局配置configs/config.py 负责读取环境变量与运行参数configs/v1、configs/v2目录下按采样率提供32k.json/40k.json/48k.json的 v1/v2 配置模板与上文下载底模的pretrained/pretrained_v2一一对应。推理主链路infer/modules/vc/modules.py 是infer-web.py导入的VC类所在处infer/modules/uvr5/modules.py 提供 UVR5 人声分离调用。音高提取器家族仓库在 infer/lib/infer_pack/modules/F0Predictor 下实现了多个 F0 预测器PMF0Predictorpm速度快但质量较低、HarvestF0Predictorharvest低音表现好但很慢、DioF0Predictordio转换快但音高较差等。配合上文 RMVPE构成了 WebUI 音高提取算法的完整候选集。索引检索支撑top1 检索依赖 FAISS 索引tools/infer 目录下的train-index.py/train-index-v2.py即用于训练.index检索文件。训练数据量与超参如 epoch、batch size、各音高算法适用场景的实践经验可在仓库配套 FAQ 中阅读葡萄牙语 FAQ、简体中文 FAQ。八、多语言文档与更新日志本项目为社区维护者提供了多语言说明文档本篇文章所依据的葡萄牙语版位于 docs/pt/README.pt.md同一主题的其他语言版本还包括English简体中文日本語한국어 与 韓國語漢字FrançaisTürkçe各语言的变更记录可分别查看 Changelog_CN、Changelog_EN、Changelog_JA、Changelog_FR、Changelog_TR、Changelog_KO 与本文档配套的 Changelog_pt。九、参考与致谢项目RVC 的构建建立在以下开源项目之上葡萄牙语文档 Credits 一节列出此处仅记录名称供查证使用ContentVec、VITS、HiFi-GAN、Gradio、FFmpeg、Ultimate Vocal Remover、audio-slicer以及人声音高提取算法 RMVPE其预训练模型由 yxlllc 与 RVC-Boss 训练与测试。结语从环境依赖到预模型清单、从一键脚本到 WebUI 启动、从 v1/v2 模型差异到 ROCm 支持葡萄牙语版 README 已勾勒出 RVC 从安装到跑通的完整路径。配合本文补充的仓库源码证据infer-web.py 的界面组织、tools/download_models.py 的下载清单、process_ckpt.py 的模型融合实现、F0 预测器家族等相信你已具备独立部署并开始训练首个 RVC 模型的能力——只需准备 ≥10 分钟干净人声数据。【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考