Automated Dubbing for Developers Who Hate Video Editing
Violin wires Whisper, an LLM, and a TTS engine into a single pipeline so you can dub videos into 33 languages without touching a timeline editor.

What it does Violin ingests a video, extracts the audio, and runs it through a chain of cloud models: Whisper Large v3 for word-level transcription, an LLM for translation, and a TTS engine for the new voice-over. It then speed-aligns the original footage to the synthetic audio and spits out a remuxed MP4 with optional SRT subtitles. The whole thing is packaged as a CLI, a FastAPI web app, and a Claude Code skill.
The interesting bit The clever part is not just the pipeline, but the tuning: six experimental style profiles rewrite both the translation prompt and the synthetic voice’s speed and emotion, so a “storyteller” dub sounds enthusiastic and slower while a “kids” dub uses plain language and an excited tone. There is also an in-video Q&A mode that answers questions about specific moments by reading nearby subtitles and sampled frames.
Key highlights
- 33 target languages, with handpicked native-speaker voices for the 16 largest populations across Cartesia Sonic 3 and ElevenLabs.
- Provider-agnostic stack: swap Together, OpenAI, or ElevenLabs for transcription, translation, TTS, and chat in one YAML file.
- Natural-language voice picker: describe the voice you want and an LLM selects from the catalog.
- Six style profiles—standard, kids, academic, casual, storyteller, news—that adjust both translation register and vocal delivery.
- Dockerfile and Docker Compose setup included for self-hosting; the live demo runs on the same stack.
Caveats
- Voice cloning and lip-sync generation are explicitly on the to-do list, so expect mismatched lip movement for now.
- Every stage defaults to cloud APIs, so you will need external keys; this is not an offline tool.
- The in-video Q&A chat stage uses a reasoning model by default and can return empty answers if
max_tokensis set too low.
Verdict Educators, content creators, and prototype-happy developers who need fast, automated dubbing into dozens of languages will find Violin immediately useful. If you need broadcast-grade lip sync or an air-gapped pipeline, this is not there yet.
Frequently asked
- What is shang-zhu/violin?
- Violin wires Whisper, an LLM, and a TTS engine into a single pipeline so you can dub videos into 33 languages without touching a timeline editor.
- Is violin open source?
- Yes — shang-zhu/violin is open source, released under the MIT license.
- What language is violin written in?
- shang-zhu/violin is primarily written in Python.
- How popular is violin?
- shang-zhu/violin has 1.1k stars on GitHub.
- Where can I find violin?
- shang-zhu/violin is on GitHub at https://github.com/shang-zhu/violin.