whatisgithub

What is violin?

shang-zhu/violin — explained in plain English

Analysis updated 2026-05-18

540PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

USE CASE 4

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

What is it built with?

PythonffmpegWhisperFastAPIYAML

How does it compare?

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 get it running?

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.

So what is it?

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.

Copy-paste 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

What 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.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.