AI/TLDR

pyVideoTrans

Open-source video translation with speech recognition, subtitle translation, and AI dubbing

Audio, Music & VoiceOpen source
Language
Python
License
GPL-3.0
$brew install ffmpeg libsndfile git

Overview

pyVideoTrans is a free, open-source desktop application that converts a video from one language into another. It runs a complete pipeline: it transcribes the speech, translates the resulting subtitles, generates new dubbed audio, and synchronizes everything back into the video.

It works on Windows, macOS, and Linux, and offers both a graphical interface and a command line for headless or batch use. You can run models locally for offline work or plug in many popular online APIs for recognition, translation, and voice synthesis. Each stage can be paused for manual proofreading so you can correct mistakes before moving on.

What it does

  • One-click automatic pipeline: speech recognition to subtitle translation to text-to-speech to video synthesis
  • Audio transcription that turns audio or video into SRT subtitles, with speaker diarization to tell different speakers apart
  • Multi-role AI dubbing that assigns a different synthetic voice to each speaker, plus zero-shot voice cloning via models like F5-TTS, CosyVoice, and GPT-SoVITS
  • Broad model support: Faster-Whisper and OpenAI Whisper for ASR, LLMs such as DeepSeek, ChatGPT, Claude, Gemini, and Ollama for translation, and Edge-TTS, OpenAI, and Azure for speech
  • Interactive editing that lets you pause and proofread at the recognition, translation, and dubbing stages
  • A command line interface for server deployment and batch processing

Getting started

Windows users can download a pre-packaged build and run it without installing Python. Developers on macOS, Linux, or Windows can build from source using the uv package manager. FFmpeg must be installed first.

Install FFmpeg

FFmpeg is required and must be on your PATH. On macOS, install it together with the other prerequisites; on Linux use the package manager; on Windows download FFmpeg and configure Path.

bashbash
brew install ffmpeg libsndfile git

Install uv and get the code

Install the uv package manager, then clone the repository and sync the environment. uv installs all dependencies automatically.

bashbash
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/jianchang512/pyvideotrans.git
cd pyvideotrans
uv sync

Launch the graphical interface

Start the desktop GUI to translate and dub videos through the visual workflow.

bashbash
uv run sp.py

Or run from the command line

Use the CLI for headless servers or batch jobs. The first example translates a video from Chinese to English; the second turns an audio file into subtitles.

bashbash
uv run cli.py --task vtv --name "./video.mp4" --source_language_code zh --target_language_code en
uv run cli.py --task stt --name "./audio.wav" --model_name large-v3

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Translate and dub a tutorial or lecture video so viewers who speak another language can watch it with native-sounding audio
  • Generate accurate SRT subtitle files in batch from a folder of recordings, with separate labels for each speaker
  • Localize marketing or course content for new regions by reusing a speaker's cloned voice across translated versions

How pyVideoTrans compares

pyVideoTrans alongside other open-source audio, music & voice tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Whisper★ 109kOpenAI's speech recognition model that transcribes and translates audio across many languages.
GPT-SoVITS★ 61.9kAn open-source WebUI that clones a voice from a short audio sample and turns text into speech, with zero-shot and few-shot fine-tuning.
Voicebox★ 55.1kLocal-first voice studio that clones a voice from a short sample, generates speech across seven TTS engines and 23 languages, handles system-wide dictation, and speaks for agents over MCP.
VibeVoice★ 54.4kMicrosoft's text-to-speech model for generating long, expressive multi-speaker audio like podcasts.
whisper.cpp★ 53.8kA dependency-free C/C++ port of Whisper built on ggml, running speech recognition on CPU, Metal, CUDA, Vulkan and NPUs from phones to servers.
Coqui TTS★ 46kA library of text-to-speech models including the multilingual XTTS voice-cloning model.
ChatTTS★ 39.9kChatTTS is an open-source text-to-speech model tuned for dialogue, with multi-speaker support and fine-grained control over laughter, pauses, and prosody.
pyVideoTrans★ 19.1kOpen-source video translation with speech recognition, subtitle translation, and AI dubbing