๐๏ธ DramaBox Training Config
The knobs for your first voice LoRA
- training_config
- config_info
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.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| training_mode | COMBO | Audio LoRA (IC-LoRA) | Official DramaBox audio-branch IC-LoRA training mode. |
| base_model | COMBO | dev | Official timestep schedule. dev is the normal DramaBox fine-tuning choice; distilled is experimental. |
| steps | INT | 100001โ1000000 | Optimizer steps. The upstream example uses 10,000; listen to saved checkpoints instead of assuming the final step is best. |
| learning_rate | FLOAT | 0.00011e-8โ1 | LoRA learning rate. The official example uses 1e-4 for a fresh adapter. |
| batch_size | INT | 11โ32 | Per-device batch size. Keep this at 1 unless the dataset and GPU have room. |
| grad_accum | INT | 41โ256 | Gradient accumulation steps. This increases effective batch size without loading more samples at once. |
| lora_rank | INT | 1281โ512 | LoRA rank. The official DramaBox example uses 128. |
| lora_alpha | INT | 1281โ1024 | LoRA alpha. Keeping alpha equal to rank gives a 1.0 adapter scale. |
| lora_dropout | FLOAT | 0.100โ1 | LoRA dropout. The official small-dataset example uses 0.1. |
| lr_scheduleropt | COMBO | cosine | Learning-rate schedule passed to the official trainer. |
| warmup_stepsopt | INT | 5000โ100000 | Warmup steps before the selected schedule. The official example uses 500. |
| max_grad_normopt | FLOAT | 1.00โ10 | Gradient clipping threshold. |
| ref_ratioopt | FLOAT | 0.300โ1 | Fraction of a training target used as the appended voice-reference tail. |
| max_ref_tokensopt | INT | 2000โ4096 | Maximum reference tokens after audio patchification. |
| text_dropoutopt | FLOAT | 0.400โ1 | Probability of dropping text conditioning so the adapter learns to use the reference voice path. |
| save_everyopt | INT | 5001โ100000 | Checkpoint cadence. The official trainer requires a value of at least 1. |
| log_everyopt | INT | 101โ10000 | Human-readable console update cadence. The training panel receives quieter per-step updates. |
| seedopt | INT | 420โ2147483647 | Training random seed. |
| preprocess_batch_sizeopt | INT | 81โ64 | Audio/text preprocessing batch size. Lower this if preprocessing runs out of memory. |
| validation_configopt | STRING | Optional path to the official val_config YAML. Validation launches another full inference process at each save step and requires a separate GPU. | |
| validation_gpuopt | STRING | Physical CUDA device index reserved for validation, for example 1. Required when validation_config is set and must differ from the training GPU. | |
| dry_runopt | BOOLEAN | false | CPU-safe preflight only: writes the normalized official config and command without loading DramaBox weights or starting CUDA training. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| training_config | TRAINING_CONFIG | โ |
| config_info | STRING | โ |