Skip to content

Python Autodub v1.0.5

Choose a tag to compare

@Daniel-McLarty Daniel-McLarty released this 07 Mar 06:03
· 11 commits to main since this release
edc6d04

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.exe without 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, and TTS_HOME to force all multi-gigabyte models to download into a local models/ 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 runtime PATH.

Setup & Stability Improvements

  • Deterministic Environment Locking: Replaced the loose requirements.txt with 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.json to 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_agreed file 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.