How globluez/bluez-dubbing works
Bluez-Dubbing accepts media through its web UI or API, then coordinates separation, speech recognition, translation, speech synthesis, audio synchronization, and subtitle rendering into downloadable results. The README documents multiple modes, translation strategies, subtitle styles, model selection, progress reporting, and optional intermediate artifacts. Sampled source confirms orchestration calls to ASR and TTS and audio-separation behavior; translation and some final-render wiring are documented but their implementation is not present in the supplied tree.
Main entry points: app/main.py REST API · app.js Web UI · app/main.py Speech synthesis · app/main.py Speech recognition
Components 16
User interface
- Web UI
apps/frontend/scripts/app.js - Live progress
apps/frontend/scripts/modules/results.js
Pipeline orchestration
- REST API
apps/backend/services/orchestrator/app/main.py - Shared schemas
apps/backend/libs/common-schemas/common_schemas/models.py
Model services
- Speech recognition
apps/backend/services/asr/app/main.py - WhisperX runner
apps/backend/services/asr/models/whisperxModel/runner_0.py - Translation
- Speech synthesis
apps/backend/services/tts/app/main.py - Chatterbox model
apps/backend/services/tts/models/chatterboxModel/runner.py - Edge TTS model
apps/backend/services/tts/models/edgeTTsModel/runner.py
Media processing
- Audio separation
apps/backend/services/orchestrator/preprocessing/media_separation.py - Audio alignment
apps/backend/services/orchestrator/media_processing/audio_processing.py - Final rendering
apps/backend/services/orchestrator/media_processing/final_pass.py - Subtitle output
apps/backend/services/orchestrator/media_processing/subtitles_handling.py
Other components
- User
- Job outputs
Connections 16
- User → Web UI: submits media
- Web UI → REST API: sends requests
- REST API → Job outputs: stores job files
- REST API → Shared schemas: validates payloads
- REST API → Audio separation: separates audio
- REST API → Speech recognition: requests transcription
- Speech recognition → WhisperX runner: dispatches work
- REST API → Translation: requests translation
- REST API → Speech synthesis: requests synthesis
- Speech synthesis → Chatterbox model: dispatches work
- Speech synthesis → Edge TTS model: dispatches work
- REST API → Audio alignment: aligns audio
- REST API → Subtitle output: generates subtitles
- REST API → Final rendering: renders output
- REST API → Web UI: reports progress
- Web UI → Live progress: displays updates