Nodes/TTS Audio Suite/๐ŸŽ“ Model Training
ComfyUI Node

๐ŸŽ“ Model Training

Train an RVC voice model without leaving ComfyUI

By diodiogodยทCreated about a year agoยทUpdated 22 days agoยท 1,098
๐ŸŽ“ Model Training
  • TTS_engine
  • training_dataset
  • training_config
  • continue_from
  • training_artifacts
  • training_info
โ—„output_nameโ–บ
โ—„resumefalseโ–บ
โ—„overwritefalseโ–บ

This is the node that actually trains a voice model. Most people run RVC training in a separate app with its own janky UI; the suite folds it into ComfyUI so the whole pipeline - prep, train, use - lives in one graph. You feed it a prepared dataset and it grinds through the epochs, showing you progress right in the node, and spits out a trained model you can immediately load and use.

Right now the training it does is RVC (Real-time Voice Conversion). The node is called "Unified" and built with a generic entry point on purpose - the architecture is meant to let other engines plug into the same training flow later - but as of this suite version, RVC is the engine with training support. Don't wire a non-RVC engine in expecting it to train.

How it works

It sits at the end of the training chain: ๐Ÿ“ฆ RVC Dataset Prep โ†’ ๐ŸŽ“ Model Training โ†’ ๐ŸŽญ Load RVC Character Model. You give it the dataset (from the prep node) and, optionally, a training config, and it runs the training loop. The node shows a compact live dashboard - epoch progress, ETA, speed, recent loss trend, and health checks - so you're not staring at a console. Crucially, it supports resume from a saved checkpoint and continue (warm-start) from a finished model, and a ComfyUI interrupt tries to save a resumable checkpoint at a safe boundary rather than throwing away your progress.

The inputs and outputs that matter

  • TTS_engine - required; the RVC engine node.
  • training_dataset - required; the TRAINING_DATASET output from RVC Dataset Prep. This is the whole point of the prep step.
  • training_config (optional) - a TRAINING_CONFIG from the RVC Training Config node, exposing epoch count, batch size, and the practical knobs. Skip it and you get defaults.
  • resume - pick training back up from where a checkpoint left off.
  • continue_from - warm-start from an existing finished model to train it further.
  • output_name and overwrite - name the result and decide whether to clobber an existing one.

Two outputs: training_artifacts (TRAINING_ARTIFACTS - the trained model bundle) and training_info (a text summary of the run).

Where the files land is worth knowing: training logs, checkpoints, and progress go under ComfyUI/output/tts_audio_suite_training/rvc/, and the final .pth and .index files land in ComfyUI/models/TTS/RVC/, ready for the Load RVC Character Model node.

Installing it

Ships with the pack. ComfyUI Manager โ†’ search "TTS Audio Suite" โ†’ install โ†’ restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/diodiogod/TTS-Audio-Suite.git
cd TTS-Audio-Suite
python install.py

The RVC training init checkpoints (HuBERT, RMVPE, pretrained_v2) are auto-managed and download on first training run.

Common issues & troubleshooting

"save_best_model gave me the best model, right?" No - and this one's straight from the author. The best-model save is just a low-loss inference candidate, not a quality oracle. Low loss doesn't guarantee it sounds good. You still have to listen to a few checkpoints and pick with your ears.

A ComfyUI interrupt lost my progress. The node tries to save a resumable checkpoint at a safe boundary on interrupt, but it can only do so at a boundary. If you kill it mid-step, use resume to pick up from the last saved checkpoint rather than starting over.

It won't train my engine. Only RVC has training support in this suite version. The unified entry point is future-proofing, not a promise that any engine trains today.

Out of memory / crawling. Training is heavy. Lower the batch size in the RVC Training Config, make sure your dataset was prepped at a sensible sample rate, and expect long runs - this is model training, not inference.

CategoryTTS Audio Suite/๐ŸŽ“ Training

Inputs (7)

NameTypeDefaultDescription
TTS_engineTTS_ENGINEEngine configuration used to route to the correct training backend. For RVC, only the shared training-relevant settings matter here, not inference-only knobs.
training_datasetTRAINING_DATASETPrepared dataset payload from an engine-specific dataset prep node. Bad data quality will hurt you more than fancy training settings.
training_configoptTRAINING_CONFIGEngine-specific training config. If omitted, backend defaults are used, but explicit config is better if you care about checkpoint cadence, resume behavior, or reproducibility.
continue_fromopt*Warm-start a new run from an existing finished model or artifacts. For RVC this is not exact resume; generator weights continue, but optimizer/discriminator state starts fresh.
output_nameoptSTRINGOptional exported model name override. Blank uses the dataset model name.
resumeoptBOOLEANfalseExact resume from saved RVC training checkpoints for the latest compatible RVC job with the same output name, dataset, and sample rate. This only works if real G_*.pth and D_*.pth checkpoints exist.
overwriteoptBOOLEANfalseReuse the resolved output name instead of making a unique suffix. Good for deliberate replacement, bad for archival. Do not use this with resume.

Outputs (2)

NameTypeDescription
training_artifactsTRAINING_ARTIFACTSโ€”
training_infoSTRINGโ€”