Hysen Labs
Open-source project
stronghamjji/PersoDub avatar
stronghamjji

PersoDub

100% local video dubbing on your desktop — dub videos in your own voice. Private AI dubbing with no cloud, no uploads, no time-stretching.

26 stars1 forksPythonApache-2.0
DEEP OPEN-SOURCE ANALYSIS

PersoDub dubs videos locally in your own cloned voice

A desktop application that re-voices video into another language in the speaker's cloned voice, running entirely on your machine with no cloud by default.

What PersoDub does

PersoDub is a desktop app that re-voices a video into another language in the speaker's own cloned voice, entirely on your desktop. The README states the process runs with no cloud, no account, and no uploads, so your footage never leaves your computer. The app takes one video file and returns a dubbed version. It separates speech from background audio, transcribes it, works out who spoke when, translates each line, clones each speaker's voice, and mixes the result back over the original soundtrack. With default settings every one of those steps runs locally. The app is signed and notarized on macOS and opens with a double-click, while the Windows build is in beta and not yet code-signed, so SmartScreen asks the user to confirm the first run. The README marks the status as an early release at version 0.3.6, usable today and under active development, with macOS on Apple Silicon and Windows beta supported and Linux planned. Supported languages include English, Korean, Chinese, Japanese, French, German, Italian, Portuguese, Russian, and Spanish. The README warns that the only official source is the project's own GitHub releases page, and copies under other accounts are not maintained by the authors. The README's responsible use section asks users to clone only voices they own or have permission to use, and to disclose synthetic audio wherever they publish it, since real voices are being replicated.

Why it avoids time stretching

The README explains that PersoDub's defining choice is to refuse time-stretching. Most dubbing tools speed audio up when a translation runs longer than the original line, which the author argues is why dubs sound rushed and artificial. PersoDub never resamples the dubbed audio. Instead it moves the constraint upstream: each line is translated to land within 15 percent of its subtitle slot, and an assembly stage carries a watchdog that measures every placed line and flags any deviation from 1.000x playback speed in the job log. The rule is enforced in code rather than by convention. Voice cloning, not narration, is the other pillar: each speaker's timbre is cloned from the source audio so the dub sounds like that person speaking another language. Music and effects stay untouched, and only speech is replaced. Translated subtitles in .srt are exported alongside the dubbed video. The README contrasts this with other open-source tools such as VideoLingo, KrillinAI, Voice-Pro, and VoiceStudio, each of which absorbs a length mismatch in the audio rather than the translation, and notes that PersoDub's Apache-2.0 license permits commercial or closed-source use without the copyleft obligations those GPL or AGPL projects carry. The Windows build is not code-signed yet, so SmartScreen prompts the user to confirm the first run, while the macOS build is signed and notarized for a normal double-click launch.

Pipeline, requirements and privacy

Under the hood PersoDub is a thin orchestrator. Each heavy stage runs as an isolated subprocess with its own Python environment, so a failure in one stage cannot take down the others. The pipeline uses Demucs for source separation, faster-whisper for transcription, CAM++ for speaker diarization, Qwen3-TTS for speech synthesis, and Gemma via Ollama for translation, with FFmpeg for mixing and Electron for the desktop shell. Hardware requirements call for Apple Silicon Mac or a 64-bit PC, macOS 11 or later or Windows 10 and 11, 24 GB of memory recommended with 16 GB minimum, and 30 GB free disk on macOS or 45 GB on Windows. The first launch downloads models and runtimes once, about 19 GB on macOS and 34 GB on Windows, which also carries the CUDA build of PyTorch. With the default engines nothing leaves the machine; enabling an optional Perso credential uploads the video for transcription, while a Gemini credential sends only transcript text. The project is Apache-2.0 licensed, so it can be used in commercial products without copyleft, and the README notes Intel Macs are unsupported because the Mac build targets Apple Silicon acceleration, with Linux listed only as a planned future platform on the roadmap. The first launch downloads models and runtimes once, about 19 GB on macOS and 34 GB on Windows, after which the app runs offline unless a cloud engine is enabled.

Editorial conclusion

The project is written in Python, carries the Apache-2.0 license, and the README records the current early release as version 0.3.6.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes