Skip to content

yumiaura/SubForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 SubForge

Media → Subtitles → Translation, all-in-one. One engine, three frontends: PyQt6 GUI, Textual TUI, plain CLI.

SubForge is a single tool for the whole subtitle pipeline. Feed it audio, video, or a .srt file and it can transcribe, translate, and mux the result back into a video — without leaving your machine.


✨ Features

  • 🎙️ Audio / video → .srt — transcribe with faster-whisper
  • 🌍 .srt.srt — translate subtitles to any supported language
  • 🎞️ Video + .srt → video — mux as a soft track or burn in hard subs
  • All-in-one — raw video in, translated subbed video out
  • 🖥️ PyQt6 GUI — drag-and-drop on the desktop
  • 🧑‍💻 Textual TUI — same workflow over SSH / headless servers
  • ⌨️ CLI — for scripting and pipelines

🚀 Quick start

# install (with uv or pip)
uv pip install -e .

# 1. GUI
subforge

# 2. TUI
subforge --tui

# 3. CLI: video in → translated burned-in video out
subforge movie.mkv --to ru --burn -o movie.ru.mp4

📦 Stack

Layer Library
ASR faster-whisper
Translation deep-translator (LibreTranslate / Google / DeepL / Yandex)
Video / mux ffmpeg-python (shells out to ffmpeg)
Subtitles srt
GUI PyQt6
TUI textual
CLI argparse + rich

System requirement: ffmpeg available on $PATH.


🧩 CLI reference

subforge <input> [options]

modes (auto-detected from extension; override with --mode):
  transcribe   audio/video → .srt
  translate    .srt → .srt
  mux          video + .srt → video (soft or burn)
  all          video → translated subbed video

options:
  --from LANG       source language (default: auto)
  --to   LANG       target language (default: ru)
  --model MODEL     whisper model size: tiny|base|small|medium|large
  --burn            burn-in hardsub instead of soft mux
  --keep-audio      keep extracted .wav next to the source
  -o, --output PATH explicit output path
  --tui             launch Textual TUI

🗺️ Roadmap

See ROADMAP.md.


📄 License

MIT (planned).

Author: @yumiaura

About

Media → Subtitles → Translation, all-in-one. One engine, three frontends: PyQt6 GUI, Textual TUI, plain CLI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages