Open source on-device toolkit for speech-to-text, intent recognition and text-to-speech, aimed at real-time voice agents and apps.
jianchang512/pyvideotrans
Open-source tool that translates video into another language, with speech recognition, subtitle translation, AI dubbing and audio-video synthesis.
Open-source alternative to:HeyGen
ElevenLabs Dubbing
- Stars
- 19,453
- Forks
- 2,409
- Open issues
- 8
- Last commit
- 5 days ago
What is it?
pyVideoTrans converts a video from one language to another by running a full pipeline: speech recognition produces subtitles, an LLM or machine translation service translates them, text-to-speech generates dubbing, and the result is merged back into the video. It can also be used on its own for batch audio-to-SRT transcription, subtitle translation, or text-to-speech.
The tool supports both local offline models, such as Faster-Whisper and Ollama, and online APIs including OpenAI, Azure, DeepSeek, Edge-TTS and others. Multi-speaker dubbing assigns different voices to different speakers, and voice cloning is available through models such as F5-TTS, CosyVoice and GPT-SoVITS. Users can pause at each stage to proofread recognition, translation or dubbing results.
Beyond the desktop GUI, it provides a command-line interface for headless and batch use, and a browser-based WebUI for remote or internal network deployment. A pre-packaged Windows build is available, and source installation uses uv with FFmpeg.
Key features
- 01Automatic pipeline from speech recognition to subtitle translation, TTS and video synthesis
- 02Speaker diarization with multi-role AI dubbing
- 03Voice cloning via F5-TTS, CosyVoice and GPT-SoVITS
- 04Supports local models such as Faster-Whisper and Ollama alongside online APIs
- 05Manual proofreading between stages
- 06Command-line interface and browser-based WebUI
Use cases
- Translating foreign-language videos into subtitled or dubbed versions in another language
- Batch-generating SRT subtitles from audio or video files
- Adding AI voiceovers to existing videos with per-speaker voices
- Running offline transcription and translation on a local machine or internal server
Quick start
- 1
Download the pre-packaged Windows version from the releases page
- 2
Clone the repository
git clone https://github.com/jianchang512/pyvideotrans.git - 3
Install dependencies with uv
uv sync - 4
Launch the GUI
uv run sp.py
Things to know
- Requires FFmpeg installed separately for source deployment.
- GPU acceleration needs an NVIDIA card with CUDA 12.8 and cuDNN 9.11 installed.
- Many translation and TTS channels rely on paid or third-party API keys.
- Licensed under GPL-3.0, so derivative distributions must also be open source.
Topics
FAQ
- What is pyvideotrans?
- Open-source tool that translates video into another language, with speech recognition, subtitle translation, AI dubbing and audio-video synthesis. pyVideoTrans converts a video from one language to another by running a full pipeline: speech recognition produces subtitles, an LLM or machine translation service translates them, text-to-speech generates dubbing, and the result is merged back into the video. It can also be used on its own for batch audio-to-SRT transcription, subtitle translation, or text-to-speech.
- Is pyvideotrans free to use? What license does it have?
- pyvideotrans is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is pyvideotrans still maintained?
- Actively maintained. The last commit to pyvideotrans was on Oct 15, 2026.
- What can I use pyvideotrans for?
- Translating foreign-language videos into subtitled or dubbed versions in another language Batch-generating SRT subtitles from audio or video files Adding AI voiceovers to existing videos with per-speaker voices Running offline transcription and translation on a local machine or internal server
- How do I install pyvideotrans?
- Download the pre-packaged Windows version from the releases page Clone the repository: git clone https://github.com/jianchang512/pyvideotrans.git Install dependencies with uv: uv sync Launch the GUI: uv run sp.py
- Where can I get pyvideotrans?
- The source code and installation instructions are on GitHub: https://github.com/jianchang512/pyvideotrans
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Local, offline Python toolkit that combines speech-to-text, text-to-speech, voice cloning and conversion, music generation, and audio cleanup in one CLI and GUI.
Local-first open-source AI voice studio for cloning voices, generating speech, dictating into any app, and giving AI agents a voice.
Open-source text-to-speech system with voice cloning, natural-language emotion control and multi-speaker generation, built on LLM-style models.
Open-source text-to-speech model family by Resemble AI, with voice cloning from a short reference clip across English and many other languages.
Open-source Python framework for building real-time voice and multimodal AI agents, with pluggable speech, LLM, and transport services.