Nodes/TTS Audio Suite/๐ŸŽ›๏ธ DramaBox Training Config
ComfyUI Node

๐ŸŽ›๏ธ DramaBox Training Config

The knobs for your first voice LoRA

By diodiogodยทCreated about a year agoยทUpdated about 9 hours agoยท 1,166
๐ŸŽ›๏ธ DramaBox Training Config
    • training_config
    • config_info
    โ—„training_modeAudio LoRA (IC-LoRA)โ–บ
    โ—„base_modeldevโ–บ
    โ—„steps10000โ–บ
    โ—„learning_rate0.0001โ–บ
    โ—„batch_size1โ–บ
    โ—„grad_accum4โ–บ
    โ—„lora_rank128โ–บ
    โ—„lora_alpha128โ–บ
    โ—„lora_dropout0.10โ–บ
    โ—„lr_schedulercosineโ–บ
    โ—„warmup_steps500โ–บ
    โ—„max_grad_norm1.0โ–บ
    โ—„ref_ratio0.30โ–บ
    โ—„max_ref_tokens200โ–บ
    โ—„text_dropout0.40โ–บ
    โ—„save_every500โ–บ
    โ—„log_every10โ–บ
    โ—„seed42โ–บ
    โ—„preprocess_batch_size8โ–บ
    โ—„validation_configโ–บ
    โ—„validation_gpuโ–บ
    โ—„dry_runfalseโ–บ

    So you prepped a DramaBox dataset and you want to teach the model a voice. This node is where you set the training parameters before everything runs through the suite's ๐ŸŽ“ Model Training node. It's an IC-LoRA (audio-branch) training config - the official DramaBox training mode - and its defaults are genuinely sensible, which is more than most trainer configs can claim.

    The whole point: you clone a voice into a small LoRA adapter instead of a full model fine-tune. The adapter lands in ComfyUI/models/TTS/dramabox/loras/<adapter_name>/ when a run finishes, and the โš™๏ธ DramaBox Engine node can load it directly from a dropdown.

    The knobs that matter

    • steps (10000) - the upstream example uses 10,000, but the tooltip says it plainly: listen to saved checkpoints instead of assuming the final step is best. Every 500 steps (save_every) a checkpoint is saved, and the sweet spot is usually earlier than the end.
    • learning_rate (1e-4) - the official fresh-adapter value. This is a small, fast audio LoRA, not a Flux run; don't go cranking it up.
    • batch_size (1) + grad_accum (4) - keep batch at 1 unless you've got a monster GPU, and use gradient accumulation to fake a bigger effective batch. Effective batch = batch ร— accum.
    • lora_rank/lora_alpha (128/128) - official defaults, and alpha equal to rank means a 1.0 adapter scale. That's the clean starting point; change one and you're on your own.
    • lora_dropout (0.1) - the official small-dataset value. More dropout fights overfitting on tiny sets; less is fine with more data.

    base_model chooses the timestep schedule - dev is the normal fine-tuning choice, distilled is experimental. ref_ratio (0.3) and max_ref_tokens (200) control the voice-reference tail appended to each training target; text_dropout (0.4) is the interesting one - it randomly drops text conditioning so the adapter learns to lean on the reference voice path, which is how you get a stable clone instead of a parrot.

    Outputs and flow

    You get training_config (type TRAINING_CONFIG) to wire into ๐ŸŽ“ Model Training, plus config_info (STRING) describing what was built. The full chain is: Dataset Prep โ†’ Training Config โ†’ Model Training. The suite bundles the official trainer pinned to the same DramaBox revision as its inference code, and job files, logs, checkpoints, and the preprocessing cache live under ComfyUI/output/tts_audio_suite_training/dramabox/.

    Where people get tripped up

    Validation needs a second GPU. Set validation_config to a path and the trainer launches a full separate DramaBox inference process at every save step - on validation_gpu, which must be a different physical CUDA device from the training GPU. The suite rejects validation on the training GPU instead of letting both compete for the same VRAM. Skip validation entirely on a single-GPU box; it's optional and it's expensive.

    Dry run is your friend. dry_run writes the normalized official config and command without loading DramaBox weights or starting CUDA training. Use it before the real run - it'll catch config errors in seconds instead of after a 16GB download.

    This is a GPU workload. Preprocessing with Gemma and the audio VAE, plus the training itself, both need CUDA. If you're mid-run and it looks stuck, check the console for the training panel updates (log_every, default 10 steps) - quiet per-step updates are intentional.

    Install the pack once (Manager โ†’ "TTS Audio Suite", or clone + python install.py); the engine article has the full commands. And remember the LTX-2 Community License under the hood: training for personal use is free, but there's a USD $10M revenue line above which you need a paid license.

    CategoryTTS Audio Suite/๐ŸŽ“ Training

    Inputs (22)

    NameTypeDefaultDescription
    training_modeCOMBOAudio LoRA (IC-LoRA)Official DramaBox audio-branch IC-LoRA training mode.
    base_modelCOMBOdevOfficial timestep schedule. dev is the normal DramaBox fine-tuning choice; distilled is experimental.
    stepsINT100001โ€“1000000Optimizer steps. The upstream example uses 10,000; listen to saved checkpoints instead of assuming the final step is best.
    learning_rateFLOAT0.00011e-8โ€“1LoRA learning rate. The official example uses 1e-4 for a fresh adapter.
    batch_sizeINT11โ€“32Per-device batch size. Keep this at 1 unless the dataset and GPU have room.
    grad_accumINT41โ€“256Gradient accumulation steps. This increases effective batch size without loading more samples at once.
    lora_rankINT1281โ€“512LoRA rank. The official DramaBox example uses 128.
    lora_alphaINT1281โ€“1024LoRA alpha. Keeping alpha equal to rank gives a 1.0 adapter scale.
    lora_dropoutFLOAT0.100โ€“1LoRA dropout. The official small-dataset example uses 0.1.
    lr_scheduleroptCOMBOcosineLearning-rate schedule passed to the official trainer.
    warmup_stepsoptINT5000โ€“100000Warmup steps before the selected schedule. The official example uses 500.
    max_grad_normoptFLOAT1.00โ€“10Gradient clipping threshold.
    ref_ratiooptFLOAT0.300โ€“1Fraction of a training target used as the appended voice-reference tail.
    max_ref_tokensoptINT2000โ€“4096Maximum reference tokens after audio patchification.
    text_dropoutoptFLOAT0.400โ€“1Probability of dropping text conditioning so the adapter learns to use the reference voice path.
    save_everyoptINT5001โ€“100000Checkpoint cadence. The official trainer requires a value of at least 1.
    log_everyoptINT101โ€“10000Human-readable console update cadence. The training panel receives quieter per-step updates.
    seedoptINT420โ€“2147483647Training random seed.
    preprocess_batch_sizeoptINT81โ€“64Audio/text preprocessing batch size. Lower this if preprocessing runs out of memory.
    validation_configoptSTRINGOptional path to the official val_config YAML. Validation launches another full inference process at each save step and requires a separate GPU.
    validation_gpuoptSTRINGPhysical CUDA device index reserved for validation, for example 1. Required when validation_config is set and must differ from the training GPU.
    dry_runoptBOOLEANfalseCPU-safe preflight only: writes the normalized official config and command without loading DramaBox weights or starting CUDA training.

    Outputs (2)

    NameTypeDescription
    training_configTRAINING_CONFIGโ€”
    config_infoSTRINGโ€”