Translate an English video podcast into Spanish while keeping the original voices.
Reach a global audience by dubbing existing episodes into multiple languages.
Create multilingual video content with automated voice matching and timing.
| cezarc1/podcast_dub | 0-bingwu-0/live-interpreter | 010zx00x1/faresnipe | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Python | Python | Python |
| Setup difficulty | hard | moderate | easy |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.12, FFmpeg, an external LLM API key, and runs only on macOS Apple Silicon or Linux NVIDIA GPUs.
This project takes a video podcast in one language and produces a version dubbed into another language, using only open-weight models that you can run yourself. The pipeline figures out who is speaking and when, translates the conversation, clones each speaker's voice, and generates new spoken audio that lines up with the original timing. The original audio stays underneath the new voices but is lowered in volume so the dub is clear. The pipeline works in several stages. It extracts audio from the video, uses a speech recognition model to get precise word and phrase timing, then separates up to four speakers. It mines clean reference audio for each speaker, translates the text with an LLM, synthesizes new speech with cloned voices, and places everything back into a final video. The placement stage includes checks for coverage and dead air, and it only publishes the finished video after verification passes. To run it, you need Python 3.12, a package manager called uv, and FFmpeg. You clone the repository, run a sync command, and then point the tool at a video file with a source and target language. The first run downloads model weights, which can take a while. You can also use a TOML job file for repeatable runs, where you specify the video, languages, output path, speaker names, proper nouns, and translation context. Rerunning a job reuses intermediate results from previous stages. Translation defaults to a model called Kimi K3 through Moonshot's API, which requires an API key. You can swap in other OpenAI-compatible services by setting environment variables for the endpoint, model, and key. Anthropic's native API is not supported directly, you need a compatible gateway. The tool runs on macOS with Apple Silicon or Linux with NVIDIA GPUs, and it picks the right accelerator for each stage automatically. Supported target languages include Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, and Italian. The full README is longer than what was shown.
An open-source tool that automatically dubs video podcasts into other languages. It translates the conversation, clones each speaker's voice, and generates new audio that matches the original timing.
Mainly Python. The stack also includes Python, FFmpeg, uv.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.