gitwtfhub

wtf is violin?

shang-zhu/violin — explained in plain English

Analysis updated 2026-05-18

540PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

An open source tool that automatically dubs a video into another language, transcribing, translating, and re voicing the speech.

Mindmap

mindmap
  root((Violin))
    What it does
      Transcribe speech
      Translate text
      Synthesize dubbed voice
    Tech stack
      Python
      ffmpeg
      Whisper
    Use cases
      Dub lecture videos
      Localize content
    Audience
      Content creators
      Developers

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

Why would anyone build with this?

REASON 1

Dub a lecture or tutorial video into a different language automatically.

REASON 2

Run a web app where others can upload a video and get a dubbed version back.

REASON 3

Ask questions about a specific moment in a translated video using its Q&A feature.

REASON 4

Invoke Violin as a Claude Code skill to translate a video during a coding session.

What's in the stack?

PythonffmpegWhisperFastAPIYAML

How it stacks up

shang-zhu/violintruegunsmithfence/hentaihunterdsd2077/cyberverse
Stars540542545
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity3/52/54/5
Audiencedevelopergeneraldeveloper

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires an API key from a provider such as Together AI or OpenAI plus ffmpeg installed locally.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

Violin is an open source tool that translates spoken video content into another language while keeping the voice and video in sync. You give it a video file, and it transcribes the speech, translates the text, generates a new voice track that sounds natural in the target language, and merges everything back into a video, with an optional subtitle file. It supports 33 target languages, with especially chosen, natural sounding voices for the 16 most commonly used ones. Under the hood it chains together several pieces: ffmpeg extracts the audio, a speech to text model called Whisper produces word level timestamps, a large language model translates each segment while trying to match a chosen writing style, and a text to speech engine synthesizes the final dubbed audio, before ffmpeg stitches the finished video back together. The project can be used three ways: as a command line tool for translating a single file, as a small web app with its own browser interface and API, or as a skill inside Claude Code that can be invoked directly from a coding session. It also has an in video question and answer feature, where a user can ask about a specific moment in the dubbed video and get an answer based on nearby subtitles and sampled video frames. Configuration is handled through a YAML file, and the underlying AI providers, such as Together AI, OpenAI, Cartesia, and ElevenLabs, can be swapped out. Using it requires an API key from at least one of these providers. Violin is released under the MIT License, a permissive license that allows free use, including commercial use, as long as the copyright notice is kept.

Yoink these prompts

Prompt 1
Help me install Violin and translate lecture.mp4 into Chinese from the command line.
Prompt 2
Show me how to switch Violin's translation provider from Together AI to OpenAI.
Prompt 3
Explain how Violin keeps the dubbed audio in sync with the original video timing.
Prompt 4
Walk me through installing Violin as a Claude Code skill and using it in a session.

Frequently asked questions

wtf is violin?

An open source tool that automatically dubs a video into another language, transcribing, translating, and re voicing the speech.

What language is violin written in?

Mainly Python. The stack also includes Python, ffmpeg, Whisper.

What license does violin use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is violin to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is violin for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.