Nodes/ComfyUI_RH_RVC/RunningHub RVC One-Click Train
ComfyUI Node

RunningHub RVC One-Click Train

Train a full RVC voice model from a folder of audio — one node, zero RVC WebUI

By RH-RunningHub·Created 4 months ago·Updated 4 months ago· 0
RunningHub RVC One-Click Train
  • audio
  • info
trainset_dir
experiment_namervc_exp
save_namervc_model
versionv2
sample_rate40k
use_f0true
f0_methodrmvpe
speaker_id0
total_epoch50
save_every_epoch10
batch_size4
cpu_processes4
is_halftrue
train_indextrue
pretrained_G
pretrained_D
save_latest_onlytrue
cache_dataset_in_gpufalse
save_every_weightsfalse
audio_auto_cleantrue
auto_extract_vocalstrue

In the RVC WebUI, training a voice model is a sequence of staged scripts: preprocess, extract F0, extract features, train, build an index, export. Each one run by hand, each with its own knobs. The RunningHub RVC One-Click Train node collapses all of that into a single node you drop into a ComfyUI graph. You point it at a folder of audio, pick a save_name, and when it's done you have a .pth, a .index, and a ready-to-share .zip waiting in ComfyUI/output/RVC/<save_name>/.

How it works

The node materializes your dataset - either from trainset_dir (a folder of wav/mp3/flac, as an absolute path or relative to ComfyUI's input directory) or from the optional audio input, which accepts AUDIO, lists of AUDIO, file paths, or path lists. Then the pipeline runs: audio cleanup, F0/feature extraction with the bundled RVC source, generator/discriminator training, an optional FAISS index, and packaging.

Two cleanup behaviors are worth knowing before they surprise you:

  • audio_auto_clean (on by default) - converts to mono, trims silence, skips clips that are too short or too quiet, and peak-normalizes. Keep it on.
  • auto_extract_vocals (also on by default) - runs torchaudio's HDEMUCS to pull the vocal out of backing music. For a dry, already-isolated vocal dataset the README says turn it off: you get separation artifacts and slower training for nothing. This is the one default I'd flip before a clean-vocal training run.

The inputs that actually matter

  • trainset_dir - your data. More clean, single-speaker audio beats more audio. Multi-speaker, reverb-heavy, or noisy sources should be cleaned upstream; this node can't fix a messy dataset.
  • version - v2 (768-dim features, default) vs v1 (256-dim). Unless a model you're matching was trained v1, stay on v2.
  • sample_rate - 40k is the compatibility sweet spot; 48k keeps more highs at a compute cost; 32k is v2-only.
  • use_f0 - on for singing and anything where you want to keep the melody; you can turn it off for pure speech.
  • f0_method - rmvpe is the default and the quality pick, but it needs models/RVC/_assets/rmvpe/rmvpe.pt; harvest is the reliable fallback.
  • total_epoch / batch_size - 50 and 4 by default. Small datasets like 20–100 epochs; drop batch size if you OOM, and if batch 1 still OOMs you need a bigger card.
  • train_index - on by default. This builds the FAISS index that the conversion node's index_rate retrieval relies on. Turn it off only if you're sure you don't want retrieval.

Also in the optional slot: pretrained_G/pretrained_D paths - leave them empty and the node auto-detects the pretrained weights under _assets/pretrained(_v2), falling back to training from scratch if they're missing. cache_dataset_in_gpu can speed up sub-10-minute datasets but eats VRAM on anything bigger.

Output

One info string: the log summary and the generated file paths. It's an output node, so it's the end of the line - the .zip it writes is also registered as a ComfyUI output file so RunningHub's post-processing can grab it, and it feeds straight back into the ZIP Model Loader. That loop - train here, load the zip, convert - is the whole workflow in two nodes.

Honest costs

Training is real work: runtime and VRAM scale with dataset length, batch_size, total_epoch, and your GPU. A full run on CPU-only will try your patience. HuBERT at models/RVC/_assets/hubert/hubert_base.pt is mandatory even to start, and if you picked rmvpe the RMVPE file has to be in place too.

Install

ComfyUI Manager: search ComfyUI_RH_RVC. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/RH-RunningHub/ComfyUI_RH_RVC
cd ComfyUI_RH_RVC
pip install -r requirements.txt

Then restart ComfyUI. Note the requirements include tensorboard and faiss-cpu specifically for training - the conversion-only path doesn't need them, so if your environment is tight, this node is why they're there.

CategoryRunningHub/RVC

Inputs (22)

NameTypeDefaultDescription
trainset_dirSTRING训练音频目录。可填写绝对路径,或填写 ComfyUI input 目录下的相对目录;目录内放 wav/mp3/flac 等音频。
experiment_nameSTRINGrvc_exp实验名。会用于 rvc_source/logs/<实验名> 存放训练日志和中间产物。
save_nameSTRINGrvc_model保存文件名。最终会在 ComfyUI output/RVC/<save_name>/ 下生成 <save_name>.pth、<save_name>.index 和 <save_name>.zip。
versionCOMBOv2RVC 模型版本。v2 使用 768 维特征;v1 使用 256 维特征。
sample_rateCOMBO40k训练采样率。40k 兼容性最好;48k 高频更完整但更吃资源;32k 仅 v2 常用。
use_f0BOOLEANtrue是否训练带音高引导的模型。唱歌和保留旋律通常开启;纯说话可按需求关闭。
f0_methodCOMBOrmvpe训练集音高提取算法。rmvpe 质量通常更好但需要 models/RVC/_assets/rmvpe/rmvpe.pt;harvest 稳定但较慢。
speaker_idINT00–999写入训练 filelist 的说话人 ID。单人模型通常使用 0。
total_epochINT501–1000总训练轮数。小数据集常用 20-100;数据越多可适当增加。
save_every_epochINT101–1000每多少 epoch 保存一次 G/D checkpoint。
batch_sizeINT41–64训练 batch size。显存不足时调小;调到 1 仍 OOM 时需要更大显存。
cpu_processesINT41–32训练集预处理和部分 F0 提取使用的 CPU 进程数。
is_halfBOOLEANtrue特征提取和训练是否启用半精度。CPU/MPS 环境或数值异常时关闭。
train_indexBOOLEANtrue训练结束后是否基于特征构建 FAISS 检索索引。推理时 index_rate 大于 0 通常需要它。
audioopt*可选音频输入。trainset_dir 为空时使用;支持 ComfyUI AUDIO、AUDIO 列表、音频文件路径或路径列表。
pretrained_GoptSTRING可选预训练 Generator 路径。留空会自动尝试 assets/pretrained(_v2) 下的默认文件;不存在则从头训练。
pretrained_DoptSTRING可选预训练 Discriminator 路径。留空会自动尝试 assets/pretrained(_v2) 下的默认文件;不存在则从头训练。
save_latest_onlyoptBOOLEANtrue是否只保留 latest G/D checkpoint。开启可减少磁盘占用。
cache_dataset_in_gpuoptBOOLEANfalse是否把训练集缓存进显存。10 分钟以下小数据可加速,大数据容易显存不足。
save_every_weightsoptBOOLEANfalse是否每次保存 checkpoint 时额外导出可推理的小模型。关闭时仍会在训练结束导出最终模型。
audio_auto_cleanoptBOOLEANtrue训练前自动清洗音频:转单声道、去静音、过滤过短/过低音量片段,并做峰值归一化。建议保持开启。
auto_extract_vocalsoptBOOLEANtrue训练前先用 Demucs/HDEMUCS 提取人声。仅在素材带伴奏时开启;干声训练集建议关闭以避免额外失真。

Outputs (1)

NameTypeDescription
infoSTRING训练流程日志摘要和生成文件位置。输出文件写入 ComfyUI output/RVC/<save_name>/。