Commit History
-
Add explicit Target Duration slider (0β60s) + gen_duration kwargβ
Manmay Nakhashi- TTSServer.generate gains gen_duration: float = 0.0 (override estimator) - Gradio app exposes a 'Target duration (s)' slider (0 = auto) - inference.py --gen-duration help text expanded - Auto-rescale and end-of-clip patch already active for long outputs For music / multi-section scenes set the slider to 20β60 s and the auto-rescale schedule keeps the output safe at any cfg.5cc51a5 -
Revert: keep DramaBox naming (rebrand reverted per CEO)
Manmay Nakhashifdc2b0b -
Rebrand: DramaBox β LTX-2.3-Voiceβ
Manmay Nakhashi- README title + frontmatter (title, emoji, license_link, short_description) - All in-text references in docs and code - model_downloader: DRAMABOX_REPO β LTX23_VOICE_REPO, default cache β ~/.cache/ltx-2.3-voice - app.py title, prefix, log lines - HF model+space repos are renamed to ResembleAI/LTX-2.3-Voice (HF auto-redirects old paths) The on-disk safetensors filenames (`dramabox-dit-v1.safetensors`, `dramabox-audio-components.safetensors`) stay as-is to avoid an 8 GB re-upload; comment in model_downloader.py explains the leftover names.1636761 -
Patch end-of-clip silence prior at latent frame 513 for >20s outputsβ
Manmay NakhashiBase LTX-2.3 22B was trained on audio β€~20s and learned a strong 'clip-end silence' prior that lands at the next patchifier-aligned latent boundary (frame 513 = 8*64+1). For longer generations this leaks through as a ~30ms silence dip near 20.4s. Linear interpolation of frames 512-513 between neighbours 511 and 514 removes the dip cleanly. Only triggers when latent has >513 frames so shorter outputs remain byte-identical.c29ae29
-
Use richer duration estimator in warm server (sentence + non-verbal aware)β
Manmay NakhashiThe simple len*0.065+1.5 formula in inference_server.py undercounted long expressive prompts (e.g. 09_villain_sinister_laugh estimated 19.2s but actual content needs ~28s, so output was clipped). Delegate to inference.estimate_speech_duration which budgets per-sentence pauses, laugh repetitions, sighs/gasps and a 2s base padding.96ef84a -
Fetch unsloth bnb-4bit Gemma + Dramabox checkpoints from HF on startupβ
Manmay NakhashiReplaces hardcoded local paths (which only existed on the dev machine) with model_downloader.get_all_paths(). Gemma now resolves to unsloth/gemma-3-12b-it-bnb-4bit, matching the bnb_4bit=True path.8cd4942 -
DramaBox Space β initial app + vendored ltx2
Verified signature08c5e28