Repository navigation
Python Autodub v1.0.5
Python Autodub v1.0.5 — Initial Release Notes
Welcome to the first official release of Python Autodub. This release encompasses all development from the initial commit up to v1.0.4, delivering a comprehensive, fully portable, and automated AI-powered video dubbing pipeline.
Below is an overview of the core features, architectural improvements, and portability enhancements included in this milestone.
Core Features
-
Automated Dubbing Pipeline: The application extracts audio, separates vocals, diarizes speakers, generates translated voice clones, and muxes the re-assembled audio back into a final MKV video file.
-
Advanced Vocal Separation: Isolates background noise and music from dialogue using 4-stem Demucs.
-
Speaker Diarization: Identifies and separates up to 22 different speakers in the audio using Pyannote.
-
Voice Cloning & Translation: Automatically extracts clean audio samples for each identified speaker and uses Coqui XTTSv2 to generate translated English lines.
-
Hybrid Emotional Cloning: An optional setting allows users to blend the original emotional cadence of the source vocals with the base voice clone.
-
Graphical User Interface (GUI): Features an intuitive Tkinter-based GUI for easy configuration of thresholds, worker limits, and file paths.
Distribution & Portability
-
Standalone Executables: Users can now launch the application directly using
Python-Autodub.exewithout manually installing Python, Git, or managing system paths. -
Auto-Bootstrapping Engine: Integrated a high-performance PowerShell launcher that automatically handles uv installation, Python 3.10 fetching, and virtual environment management on the first run.
-
Hermetic Environment: The application builds its own isolated Python environment (
dub_env) locally within the project root, ensuring zero interference with existing system-wide Python installations. -
Fully Portable AI Architecture: Overrode variables like
HF_HOME,TORCH_HOME,XDG_CACHE_HOME, andTTS_HOMEto force all multi-gigabyte models to download into a localmodels/directory, keeping hidden system folders clean. -
Zero-Config FFmpeg (Windows): A custom-built, optimized, LGPL-compliant FFmpeg binary is included in the
bin/folder and is dynamically injected into the runtimePATH.
Setup & Stability Improvements
-
Deterministic Environment Locking: Replaced the loose
requirements.txtwith a strict lock-file system using uv, making setups 100% reproducible and eliminating dependency conflicts. -
Fixed Download Race Conditions: Resolved a critical bug where parallel multiprocessing workers would simultaneously attempt to download the XTTSv2 model and corrupt the files.
-
Smart Pre-Fetching: The main thread now single-handedly pre-fetches the TTS model (or verifies it on disk) before spinning up background workers.
-
Strict Import Ordering: Refactored top-level scripts so that environment variables and path overrides are strictly defined before heavy AI libraries (
torch,pyannote) are imported, preventing initialization lock-in.
User Experience (UX) Enhancements
-
Persistent UI Memory: Implemented
ui_config.jsonto save user state, allowing the application to remember settings like your Hugging Face token between sessions. -
Integrated TOS Agreement: Fixed a headless worker crash by adding a formal Coqui CPML Terms of Service checkbox to the UI and a CLI prompt.
-
TOS State Saving: License agreements are written to a hidden
.tos_agreedfile to permanently suppress the prompt for future runs.
How To Use
-
Linux Users: RTFM.
-
Windows Users: Download the zip, extract it, run the exe, tell SmartScreen to buzz off (press "More info" -> "Run anyway"), and wait—the first load will take a second while it builds your environment.