Nodes/TTS Audio Suite/๐Ÿ“ฆ DramaBox Dataset Prep
ComfyUI Node

๐Ÿ“ฆ DramaBox Dataset Prep

The gatekeeper between your audio and the trainer

By diodiogodยทCreated about a year agoยทUpdated about 9 hours agoยท 1,166
๐Ÿ“ฆ DramaBox Dataset Prep
  • TTS_engine
  • training_dataset
  • dataset_info
โ—„model_nameMyDramaBoxLoRAโ–บ
โ—„dataset_sourceโ–บ
โ—„dataset_typemanifestโ–บ
โ—„audio_dirโ–บ
โ—„min_duration2.0โ–บ
โ—„max_duration20.0โ–บ
โ—„reuse_existingtrueโ–บ
โ—„preprocess_nowtrueโ–บ
โ—„dry_runfalseโ–บ

Training a DramaBox LoRA to clone a voice has two hard parts: getting your data into the format the official trainer wants, and preprocessing it into latents. This node is the gatekeeper for both. It normalizes whatever dataset you hand it into DramaBox's official ~-delimited speaker index, then runs the Gemma/audio-VAE preprocessing pass that caches the conditioning and audio latents the training loop needs.

It's part of TTS Audio Suite's unified training flow - the pack lets you train RVC or DramaBox models from the same ๐ŸŽ“ Model Training entry point, and this node is the DramaBox side of the funnel.

The inputs that matter

  • TTS_engine - connect your โš™๏ธ DramaBox Engine node here. Its selected model supplies the paths to the transformer, audio components, and Gemma, so the engine needs to exist before you prep anything.
  • dataset_source - the path to your dataset: a JSONL/JSON manifest, TSV, or the official gemini_synthetic / libriheavy index. Manifest rows just need audio_filepath/audio_path and text/transcript.
  • dataset_type - matches the source format. Everything gets converted to the official speaker index, so you don't need to hand-craft it.
  • model_name - the name of your eventual LoRA adapter ("MyDramaBoxLoRA" by default). Same name gets used for the trained adapter later.

The useful optional ones: min_duration/max_duration (default 2โ€“20s) filter clips before preprocessing; audio_dir is the base folder for relative audio paths when your manifest references them; dry_run is a CPU-safe index-only mode that doesn't download models, load Gemma, or touch CUDA - great for checking your data is well-formed before committing to a GPU pass; preprocess_now runs the heavy Gemma/VAE work immediately, or you can leave it off and let Model Training handle preprocessing.

What it hands you

Two outputs:

  • training_dataset (type TRAINING_DATASET) - wire this into ๐ŸŽ›๏ธ DramaBox Training Config, then on to ๐ŸŽ“ Model Training.
  • dataset_info (STRING) - a human-readable summary (clip count, speakers, whether it's preprocessed).

How it fits the flow

Two ways in. Fully inside ComfyUI: ๐ŸŽž๏ธ Training Clip Staging โ†’ ๐Ÿงพ DramaBox Dataset Rows builds the manifest for you, and you feed it here as dataset_type=manifest. Or bring an external dataset - the gemini_synthetic and libriheavy formats are the official DramaBox trainer's own, so this node is the bridge if you already downloaded those.

Install the pack once (Manager โ†’ "TTS Audio Suite", or clone + python install.py - the engine article has the full command). Preprocessing is a GPU workload and needs the model files downloaded, so don't be surprised when the first run pulls several GB. And a real gotcha from the docs: give every speaker at least two clips, or the trainer will be unhappy with you.

If you're just validating data, flip dry_run on first. It's the difference between a five-second check and a 16GB download you didn't need yet.

CategoryTTS Audio Suite/๐ŸŽ“ Training

Inputs (10)

NameTypeDefaultDescription
TTS_engineTTS_ENGINEConnect a DramaBox engine. Its selected model supplies the official transformer, audio components, and Gemma paths.
model_nameSTRINGMyDramaBoxLoRAName used for the prepared dataset and eventual managed LoRA adapter.
dataset_sourceSTRINGJSONL/JSON manifest, TSV, gemini_synthetic index, or libriheavy index. Manifest rows should contain audio_filepath/audio_path and text/transcript.
dataset_typeCOMBOmanifestInput format. The suite converts every format into the official ~-delimited speaker index used by the trainer.
audio_diroptSTRINGBase folder for relative audio paths. Blank resolves paths relative to the dataset file.
min_durationoptFLOAT2.00.1โ€“60Minimum clip duration passed to the official preprocessor.
max_durationoptFLOAT20.00.5โ€“120Maximum clip duration passed to the official preprocessor.
reuse_existingoptBOOLEANtrueReuse a matching normalized index and already-preprocessed cache when available.
preprocess_nowoptBOOLEANtrueRun the official Gemma/audio-VAE preprocessing now. Turn this off to prepare only the CPU-side index and let Model Training preprocess later.
dry_runoptBOOLEANfalseCPU-safe index-only mode. No model download, Gemma load, or CUDA preprocessing is started.

Outputs (2)

NameTypeDescription
training_datasetTRAINING_DATASETโ€”
dataset_infoSTRINGโ€”