RVC 的全名是 Retrieval-based Voice Conversion,仓库在 GitHub 的 RVC-Project 组织下,MIT 协议,38k star。它不是 TTS——你不能打字让它说话,你得先有一段源音频,它把源音频的音色换成目标音色,音高、语气、节奏都跟着源走。它的核心卖点是名字里的那个 retrieval:用 top1 检索把输入源的 HuBERT 特征替换成训练集里最接近的特征,以此杜绝音色泄漏,这也是同样的数据量下 RVC 比裸 VITS 像的原因。底模用接近 50 小时的开源 VCTK 训练集训过,所以你只需要在上面微调十几分钟的数据。
2026 年这个项目还在动,而且动得不小。最新的 2.3.260718 把人声伴奏分离的后端从 UVR5 换成了 PyMSS(pymss==2.0.14),加了 FCPE 音高提取,实时链路上了 CUDA Graph,官方在 4090D 上实测算法推理延时最高加速 4.7 倍;特征提取、训练、建索引三个阶段现在都能中途打断再续跑,推理时会自动检测 GPU 模式和精度,选完模型自动配对 index 路径。环境也整个换代了:Python 3.12 x64、torch 2.7.1+cu128 或 +cu118,依赖文件叫 requirments_cu128_py312.txt(是的,官方就是少了一个 e)。仓库结构也变了,入口是 webui.py,训练脚本挪到了顶层的 train/ 目录——照着 2023 年的教程敲 infer-web.py 会直接找不到文件。
至于 RVCv3,README 里提过要用更大参数和更大数据集重训底模,但到今天还没有公开权重,别等。社区里最流行的分支 Applio(IAHispano)已经官宣转入维护模式,只做安全补丁和依赖更新。所以现在把 RVC 私有化部署,主线仓库就是唯一靠谱的选择——而它的瓶颈从来不是代码,是那张卡:RMVPE 提 F0 要 GPU,训练要显存,而 faiss 依赖装的是 faiss-cpu,建索引那一步吃的是 CPU 不是显存。这些账在 NexGPU 上按秒结,训完停机就不再计费。
01 —
RVC 到底有哪些版本可选
不是参数量的差别,是采样率、特征维度和要不要建模音高的差别
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| RVC v2 40k(带音高 f0) | f0G40k.pth 73.1MB + f0D40k.pth 143MB | 推理 <4GB / 训练 6GB 起,24GB 卡默认 batch 12 | 输出 40kHz,特征取自 16kHz HuBERT | 绝大多数人该用的默认组合。唱歌、说话、翻唱都跑它,社区流通的音色权重也基本是这一档。 |
| RVC v2 48k(带音高 f0) | f0G48k.pth 75.5MB + f0D48k.pth 143MB | 训练开销比 40k 高一档,建议 24GB 起 | 输出 48kHz | 要把成品直接扔进影视混音或者交 48kHz 母带时用。日常配音、短视频没必要,多出来的采样率你听不出来但显存和时间要付。 |
| RVC v2 32k(带音高 f0) | f0G32k.pth 74MB + f0D32k.pth 143MB | 三档里最省,16GB 卡也能训 | 输出 32kHz | 素材本身就是电话音质、老录音,或者显存实在紧张时的降级选项。输入素质撑不起 40k 的时候,硬上 40k 只是把噪声也一起放大。 |
| RVC v2 无音高版(no-f0) | G40k.pth 73MB + D40k.pth 143MB | 与带 f0 版接近,省掉 F0 提取那一步的时间 | 输出 40kHz,不建模基频 | 只换音色、不跟随源音高的纯语音场景。跑歌声千万别选它——不建模 F0 的结果就是唱什么都跑调。 |
| RVC v1(pretrained/ 目录) | 40k / 48k 两档 | 比 v2 略省 | HuBERT 256 维特征 | 只为兼容 2023 年那批在网上流传的 v1 音色权重。新项目别用,v1 和 v2 的特征维度不同,权重不能互换。 |
| 配套权重:HuBERT + RMVPE | hubert_base 190MB、rmvpe.pt 181MB(rmvpe.onnx 362MB) | 常驻显存合计不到 1GB | 统一在 16kHz 上工作 | 这两个不是可选项,缺了整个流程跑不起来。注意新版 README 要的是 transformers 格式的 hubert_base/ 目录(config.json + pytorch_model.bin),不是老的 fairseq 单文件。 |
02 —
按你的场景选卡
RVC 的默认 batch size 就是显存 GB 除以 2,选卡这件事因此非常好算
单个音色试训,10–30 分钟数据集,v2 40k
RTX 3090 24GB$0.193/卡·时
24GB 让 WebUI 的默认 batch 直接落在 12,fp16 走 6G 档配置(x_pad=3、x_query=10、x_center=60、x_max=65),是整个价目表里跑 RVC 性价比最高的起步卡。
长数据集、48k 输出、要拉到 200 epoch
RTX 4090 24GB$0.540/卡·时
Ada 的 fp16 吞吐把 200 epoch 从过夜压到几小时,RMVPE 提 F0 那一步也快一大截,赶稿时多花的钱买的是当天能交。
实时变声链路联调、CUDA Graph 加速验证
RTX 5090 32GB$0.723/卡·时
2.3.260718 的 CUDA Graph 预热与 run_cuda_graph 在新架构上收益最大,32GB 还够你一边跑 PyMSS 分离一边推理,不用在两个进程间抢显存。
一口气训几十个音色、团队共用一台机器
RTX A6000 48GB$0.817/卡·时
48GB 对应默认 batch 24,或者同时开多个实验名并行训练互不抢显存;单卡节点最多可挂 14 张卡,整机显存上限 2,152GB。
03 —
在 NexGPU 上把 RVC 跑起来
Python 3.12 + torch 2.7.1,四步,主要时间花在下那 1.3GB 预训练权重上
- 01
开实例,拉仓库,建 Python 3.12 虚拟环境
选一个 PyTorch 预置镜像开机(2,000+ 预置镜像里有现成的),确认 Python 是 3.12 x64——这是官方唯一支持的版本,3.10/3.11 会在依赖解析上卡住。
git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI && cd Retrieval-based-Voice-Conversion-WebUI && python3.12 -m venv .venv && source .venv/bin/activate - 02
分两段装依赖:先 torch,再 requirments
torch 和 torchaudio 故意没写进依赖文件,必须先单独装。50 系用 cu128,40 系及更早用 cu118。文件名就是 requirments 少一个 e,不要自己改。
python -m pip install torch==2.7.1+cu128 torchaudio==2.7.1+cu128 --index-url https://download.pytorch.org/whl/cu128 && python -m pip install -r requirments_cu128_py312.txt - 03
下预训练资产到 assets/
pretrained_v2 十二个文件合计约 1.3GB,加上 hubert_base 190MB 和 rmvpe.pt 181MB。如果只跑 40k,用 --include 过滤掉 32k/48k 能省一半下载时间。
hf download lj1995/VoiceConversionWebUI --local-dir assets --include "hubert_base/*" "rmvpe/rmvpe.pt" "pretrained_v2/*" - 04
起 WebUI,用 SSH 隧道从本地浏览器打开
webui.py 默认监听 7865,新版会自动找可用端口。别把 Gradio 直接公网暴露——依赖里锁的是 gradio 3.14.x,老版本的分享链接不适合放在开放网络上。用隧道把它留在本地。
python webui.py # 本地另开一个终端:ssh -L 7865:localhost:7865 root@<实例IP>
训一个音色到底多少钱
拿一个 30 分钟的干净人声数据集、v2 40k、200 epoch 来算。RTX 3090 24GB 是 $0.193/卡·时:装环境加下 1.3GB 权重按 0.4 小时估,preprocess 加 RMVPE 提 F0 加提特征按 0.3 小时估,训练按 2.5 小时估,最后训 faiss 索引加试推理挑 checkpoint 按 0.3 小时估——合计 3.5 卡时,3.5 × $0.193 = $0.68。换 RTX 4090 24GB $0.540/卡·时,训练段大概能压到 1.1 小时,总计约 1.9 卡时,1.9 × $0.540 = $1.03:快一倍多,只贵 $0.35。真正要小心的是存储:数据集加中间 wav 加各轮 checkpoint 很容易堆到 40GB,按 $0.414/GB·月 就是 40 × $0.414 = $16.56 一个月,而且计算停了存储照收,直到你销毁它。正确做法是训完把最终的 .pth 和 .index 拉走再销毁实例——两个文件加起来 250MB 量级,按 $0.0081/GB 出站算,0.25 × $0.0081 ≈ $0.002,两厘钱。
04 —
