LoRA checkpoints and full training/evaluation code from an auxiliary-loss ablation study on DramaBox (LTX-2.3 22B audio-only flow-matching TTS model).
This repository accompanies the LaionBox voice-cloning fine-tuning project. It contains:
Trained LoRA adapters (.safetensors) for each ablation condition
Training metrics (metrics.jsonl) logged every 10 optimizer steps
Full training and evaluation scripts under code/
YAML configs for every ablation condition
Motivation
LaionBox v0.1-wip was trained with a differentiable reward LoRA (5 epochs on DramaBox + Emolia data). This ablation study investigates which non-differentiable auxiliary losses improve voice quality when combined with the base flow-matching objective. All conditions start from the same v0.1-wip checkpoint and use identical hyperparameters; only the active auxiliary losses differ.
CLAP text-audio cosine similarity between generated audio and positive/negative text prompts. Positive: "Realistic, genuine, spontaneous, authentic...". Negative: "distorted, unnatural, robotic..."
Quality MLP
P(real) from a binary classifier (MLP head on CLAP embeddings) trained to distinguish real vs. synthetic speech
Centroid
cos(emb, real_centroid) - cos(emb, synth_centroid) using pre-computed CLAP embedding centroids
Speaker Similarity
WavLM-SV cosine similarity between reference speaker embedding and generated speaker embedding
All auxiliary losses are individually normalized via EMA-based adaptive coefficients to maintain approximately the same magnitude as the flow-matching loss, with a coefficient cap of 10.0.
Ablation Conditions
Condition
Active Losses
Config
Status
nat_only
naturalness
finetune_nat_only.yaml
Complete
ablation_nat_quality
naturalness + quality MLP
ablation_nat_quality.yaml
Complete
ablation_nat_centroid
naturalness + centroid
ablation_nat_centroid.yaml
Pending
ablation_nat_quality_speaker
naturalness + quality MLP + speaker sim
ablation_nat_quality_speaker.yaml
Pending
ablation_nat_speaker
naturalness + speaker sim
ablation_nat_speaker.yaml
Pending
Completed Results
Condition
Best Flow Loss
Best Flow Step
Best Nat Score
Best Nat Step
Quality Prob
nat_only
0.528
160
0.111
190
0.50 (disabled)
ablation_nat_quality
0.528
160
0.459
190
~0.88-0.92
Key observation: Adding the quality MLP dramatically improves the naturalness reward (0.111 -> 0.459) while maintaining identical flow loss, suggesting the quality classifier provides a complementary training signal.
Multi-GPU training via accelerate (tested on 8x GPU)
Bucket-weighted sampling across DramaBox, Emolia, and podcast data sources
Three independent auxiliary losses (naturalness, quality MLP, centroid/speaker sim), each with EMA-adaptive coefficients
Shifted logit-normal timestep sampling from the DramaBox training recipe
LoRA fine-tuning with configurable rank, alpha, and dropout
Checkpoint management: saves every N steps, keeps last K, promotes checkpoints that improve best metrics
Built-in HTTP monitoring server for real-time loss curves
bash
1# Launch training for a single ablation condition2accelerate launch --num_processes=8 scripts/dramabox_finetune_train_multi_aux.py \3 --config configs/ablation_nat_quality.yaml
Evaluation (run_comprehensive_eval.py)
The evaluation pipeline:
Generates audio for multiple models x reference voices x prompts (parallelized across GPUs)
Orchestrates the full ablation study: runs 4 training experiments sequentially, finds best checkpoints from each, then runs a combined evaluation across all conditions + baselines.
python scripts/run_ablation_overnight.py
Status Server (ablation_status_server.py)
Lightweight HTTP server for monitoring training progress in real-time during long runs.
Usage
These are LoRA adapters for the LTX-2.3 22B audio-only model. To use them for inference: