Skip to content

Repository files navigation

Subber

Italiano · Website · Releases

Free, local-first, open-source desktop app for Windows and macOS. Drop any spoken video, get a faithful transcript and an SRT ready for DaVinci Resolve. Translation is optional; AI-assisted text review is opt-in.

Why Subber

  • Free. Not a trial, not a free tier.
  • Local. Video stays on your computer. Works offline after the first model download.
  • Open source. Inspect the code. No vendor lock-in.
  • Any spoken language. Auto-detect, then output subtitles in the language you choose.
  • Built for an edit. Contextual translation (previous + current + next line). SRT shaped for Resolve, not a social shortcut.
  • AI stays optional. The OpenAI BYOK review sends text and editorial context only after consent. Audio and video never leave the computer.

Download

Installers are on GitHub Releases.

Platform File
Windows 10 / 11 .exe / .msi
macOS (Apple Silicon and Intel) .dmg

You also need FFmpeg on your system (the app does not bundle it):

# Windows (reopen Subber after installing)
winget install Gyan.FFmpeg
# macOS
brew install ffmpeg

On first launch Subber prepares Python, packages, and models by itself. A dedicated GPU is optional: CPU works, GPU is faster.

How it works

  1. Drop a video.
  2. The app transcribes (and translates if the output language differs).
  3. Under exports/, you get one source SRT or two SRT files when a translation exists, plus the expected TXT and JSON. Save changes always overwrites them with the current final text and never creates revisions.

The folder selected at creation remains the project root: video-sub.json describes the project, exports/ contains only usable deliverables, and .subber/ contains internal WAV, sidecar and AI report files.

When an AI or manual correction changes source text and the output is translated, Subber locally refreshes only affected translated segments that were not manually edited, then publishes the single updated final SRT.

You can edit the transcript, exclude off-topic segments without destroying the source, keep a glossary of protected terms, review structured AI suggestions inline, and optionally burn styled captions into an exported video (up to 4K). New transcriptions use word-level timing to keep SRT cues close to actual speech and prevent overlaps.

DaVinci Resolve

Every SRT can be imported manually into Resolve. Subber can also import the SRT (and source video when available) directly into the current Media Pool folder when DaVinci Resolve Studio exposes its external scripting API.

The first action imports the canonical SRT. Later saves overwrite that same file, and importing again refreshes the existing Media Pool item in place instead of creating another subtitle version. The source video is not duplicated.

In Resolve Studio, set Preferences → System → General → External scripting using to Local, restart Resolve, and open a project before pressing Import in DaVinci. Resolve Free does not expose the external API required by the standalone bridge; Subber selects the SRT in Explorer/Finder so it can be dragged into the Media Pool or timeline.

Troubleshooting: docs/davinci.md.

Privacy

Transcription, translation, formatting and video export are local. The optional OpenAI source audit runs only after explicit consent and sends the transcript text, timestamps, ASR confidence, project context, glossary and preset. It does not send audio, video or local paths, uses your own API key and requests provider storage to be disabled.

Current implementation status and remaining roadmap: PROGRESS.md.

Build from source

Prerequisites: Node.js 20+, Rust stable. On Windows: WebView2 and Visual Studio Build Tools with the Desktop C++ workload plus the Windows 11 SDK.

git clone https://github.com/AndreaZero/subber.git
cd subber
npm install
npm run tauri dev

Production installer:

npm run tauri build

Artifacts land in src-tauri/target/release/bundle/. Build Windows installers on Windows. Build the macOS .dmg on a Mac.

More detail: docs/build.md. Release notes: docs/release.md.

Contributing

Issues and pull requests are welcome. Keep the pipeline as:

video → FFmpeg audio → transcribe locally → contextual translation if languages differ → SRT → export

Do not use Whisper task=translate as the only output. Do not send video to a cloud API.

License

MIT

About

Free local subtitles for any spoken video. Transcribe and translate offline, export SRT for DaVinci Resolve. Windows + macOS. No upload, no account.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages