Blue-B/WhisperSubTranslate

A free, local desktop app to extract subtitles (SRT) from video and translate them into any language — unlimited use, no signup, no cloud.

WhisperSubTranslate – Quick Overview

What it does – Takes a video file, runs speech‑to‑text locally with whisper.cpp, then translates the generated subtitles. All heavy work can stay on your computer; you only need an internet connection the first time a model is downloaded.

Key points

  • Local transcription – No upload, no account. Uses Whisper models (tiny‑base‑large‑v3‑turbo, plus special Sync models for better timing on non‑English content).
  • Offline translation – Optional Tencent Hy‑MT2 models (1.8 B ≈ 1 GB, 7 B ≈ 6 GB). After download, translation runs completely offline, no API key needed.
  • Online translation – Supports MyMemory (free), DeepL, OpenAI, Gemini, Claude and custom OpenAI‑compatible endpoints if you prefer a cloud service.
  • Desktop app – Built with Electron + Node.js, packaged as a portable Windows ZIP (≈ 2 GB). Linux can be built from source.
  • Convenient UI – Queue, progress bar, job history, and a “portable‑data” mode that keeps all models and settings on a USB stick.

Why it matters – It bundles the Whisper speech‑recognition engine and a state‑of‑the‑art translation model into a single, easy‑to‑run program, letting anyone create multilingual subtitles without sending their video or text to a third‑party service.


How to get started (User view)

  1. Download the Windows ZIP from the Releases page (≈ 2.15 GB). No Python or CUDA toolkit is required for the pre‑built package.
  2. Extract the ZIP to a folder and run WhisperSubTranslate.exe.
  3. Add a short video, pick the spoken language (or Automatic), leave Translation → No translation, and click Start Extraction.
  4. The app will download the default Whisper model (large‑v3‑turbo, ~1.6 GB) the first time you run it. After transcription finishes, an .srt file appears next to the video.
  5. To translate, choose Hy‑MT2 (local) or any online engine, select a target language, and run the job again (or load an existing SRT). The Hy‑MT2 model (1.8 B, ~1 GB) downloads on first use.

Disk & bandwidth – Expect about 3.8 GB of downloads for the app + default speech model, plus ~1 GB more if you add the 1.8 B translation model.


Technical highlights (Developer view)

  • Core stack – Electron front‑end, Node.js (≥ 22.12), whisper.cpp compiled with CUDA/Vulkan support, FFmpeg bundled via npm.
  • Model handling – Models are stored under %APPDATA%\whispersubtranslate (or portable-data/ for a self‑contained install). Integrity is verified with SHA‑256 hashes.
  • GPU support – Whisper can run on CUDA or Vulkan‑compatible GPUs; translation back‑ends also auto‑select CUDA/Vulkan when available, otherwise fall back to CPU.
  • Build – npm ci installs dependencies and builds whisper.cpp. Windows build: npm run build-win. Linux build requires cmake, build-essential, git, ffmpeg and optional CUDA toolkit.
  • Extensibility – UI strings live in locales/*.json and are translatable via Weblate. Adding new translation targets or UI languages follows the guide in docs/TRANSLATION.md.

Who might use this?

  • Content creators who need subtitles in multiple languages but cannot or do not want to upload raw video to cloud services.
  • Educators preparing multilingual lecture videos.
  • Privacy‑conscious users who want all audio/text processing to stay on‑device.

License & credits

  • License: GPL‑3.0 for the application code.
  • Core components: whisper.cpp (Georgi Gerganov), Tencent Hy‑MT2, FFmpeg, Faster‑Whisper, Silero VAD, and various npm packages.
  • Funding: GitHub Sponsors, Buy Me A Coffee, PayPal.

Related

  • Project
  • Project
  • Project
  • Project
  • Project