whatisgithub

What is podcast_dub?

cezarc1/podcast_dub — explained in plain English

Analysis updated 2026-07-26

2PythonAudience · developerComplexity · 4/5Setup · hard

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Translates video podcasts
      Clones speaker voices
      Matches original timing
    Tech stack
      Python
      FFmpeg
      Open AI models
    Use cases
      Translate existing episodes
      Reach global audiences
      Multilingual content creation
    Setup
      Needs Python and FFmpeg
      Downloads model weights
      API key for translation
    Supported languages
      Chinese English Japanese
      Korean German French
      Russian Spanish Italian

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Translate an English video podcast into Spanish while keeping the original voices.

USE CASE 2

Reach a global audience by dubbing existing episodes into multiple languages.

USE CASE 3

Create multilingual video content with automated voice matching and timing.

What is it built with?

PythonFFmpeguv

How does it compare?

cezarc1/podcast_dub0-bingwu-0/live-interpreter010zx00x1/faresnipe
Stars222
LanguagePythonPythonPython
Setup difficultyhardmoderateeasy
Complexity4/52/52/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Python 3.12, FFmpeg, an external LLM API key, and runs only on macOS Apple Silicon or Linux NVIDIA GPUs.

So what is it?

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.

Copy-paste prompts

Prompt 1
Write a TOML configuration file for podcast_dub to translate a video named 'episode1.mp4' from English to Japanese, including fields for output path and speaker names.
Prompt 2
Explain how to configure podcast_dub to use a custom OpenAI-compatible translation endpoint instead of the default Moonshot API.
Prompt 3
List the exact terminal commands to install and run podcast_dub on macOS to dub a French video into English.
Prompt 4
Help me troubleshoot a podcast_dub run that fails during the speaker separation stage.

Frequently asked questions

What is podcast_dub?

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.

What language is podcast_dub written in?

Mainly Python. The stack also includes Python, FFmpeg, uv.

How hard is podcast_dub to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is podcast_dub for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.