How thomasericb/drama3-offload-studio works
Drama 3 Offload Studio is a local launcher and server for expressive text-to-speech, offering full-model NVIDIA expert offload, Small GGUF, and experimental Apple Silicon MLX modes. The principal workflow is a user submitting a directed script through the Studio or JSON API; the server selects a backend, applies script and take features, streams generated audio, and supports retakes and edits. The graph preserves documented capabilities even where implementation details were not sampled; arrows are limited to relationships visible in excerpts, the source index, or README.
Main entry points: serve.py Studio server · long_takes.py Long takes and edits · studio_extras.py Studio controls · pronunciation.py Pronunciation rules
Components 22
Serving and engines
- Studio server
offload/serve.py - NVIDIA offload
offload/drama3_offload.py - Small GGUF
offload/gguf_drama3.py - Apple MLX
offload/drama3_mlx.py - Portable engine
offload/drama3_portable.py - Studio branding
offload/branding.py
Script and direction
- Studio controls
offload/studio_extras.py - Tag guidance
offload/tag_guidance.py - Pronunciation rules
offload/pronunciation.py
Take workflow
- Long takes and edits
offload/long_takes.py - Script chunking
offload/chunking.py - Audio infilling
offload/infill.py - Repeatable seeds
offload/seeds.py - Subtitle tools
offload/subtitles.py
Quality and audio
- Word checks
offload/word_check.py - Pause fix
offload/pause_fix.py - Stall guard
offload/stall_guard.py - Sampling controls
offload/upstream_sampling.py - Reference cache
offload/prefix_cache.py - Reference trimming
offload/reference_trim.py
Persistent state
- Pronunciation cache
offload/pronunciation.py
Other components
- Studio user
Connections 32
- Studio user → Studio server: submits script
README.md - Studio server → NVIDIA offload: selects backend
offload/serve.py - Studio server → Small GGUF: selects backend
offload/serve.py - Studio server → Apple MLX: selects backend
offload/serve.py - Studio server → Portable engine: selects backend
offload/serve.py - Studio server → Studio branding: loads branding
offload/serve.py - Studio server → Long takes and edits: installs take hooks
offload/serve.py - Studio server → Studio controls: installs controls
offload/serve.py - Studio server → Tag guidance: loads guidance
offload/serve.py - Studio server → Pronunciation rules: loads rules
offload/serve.py - Studio server → Word checks: loads checks
offload/serve.py - Studio server → Repeatable seeds: loads seed hooks
offload/serve.py - Studio server → Pause fix: installs pause fix
offload/serve.py - Studio server → Reference cache: installs cache
offload/serve.py - Studio server → Reference trimming: loads reference trim
offload/serve.py - Long takes and edits → Script chunking: splits scripts
offload/long_takes.py - Long takes and edits → Audio infilling: uses for edits
offload/long_takes.py - Long takes and edits → Pronunciation rules: applies rules
offload/long_takes.py - Long takes and edits → Repeatable seeds: uses take seeds
offload/long_takes.py - Long takes and edits → Subtitle tools: supports subtitles
offload/long_takes.py - Long takes and edits → Word checks: checks generated words
offload/long_takes.py - Long takes and edits → Pause fix: uses pause fix
offload/long_takes.py - Pronunciation rules → Pronunciation cache: reads and writes
offload/pronunciation.py - Studio controls → Long takes and edits: controls take edits
offload/studio_extras.py - Studio controls → Pronunciation rules: edits rules
offload/studio_extras.py - Studio controls → Subtitle tools: offers subtitle tools
offload/studio_extras.py - Studio controls → Word checks: configures checks
offload/studio_extras.py - Studio controls → Sampling controls: configures sampling
offload/studio_extras.py - Apple MLX → Pause fix: applies pause rules
offload/drama3_mlx.py - Portable engine → Pause fix: applies pause rules
offload/drama3_portable.py - Studio server → Sampling controls: loads sampling
offload/serve.py - Studio server → Stall guard: loads stall guard
offload/serve.py