Skip to content

About

Local-first multilingual live subtitles for Discord, video, meetings, and OBS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SubtitleTong 2

SubtitleTong 2 is a local-first Windows application for real-time multilingual subtitles across system audio, microphone input, conversations, video, and OBS.

OpenAI Build Week: how we used Codex and GPT-5.6

SubtitleTong 2 was built with OpenAI Codex powered by GPT-5.6 as an active development partner. We used it to turn a non-programmer product vision into a working Windows application: shaping the architecture, implementing and debugging the PySide6 interface, stabilizing simultaneous system-audio and microphone capture, connecting GPU-accelerated Whisper, adding local translation and OBS text outputs, writing regression tests, and preparing the project for public release.

Codex also helped us test the experience from the user's point of view. That included finding unreadable color combinations, preventing forced scrolling while a subtitle is being edited, making the newest conversation easy to find, and keeping private conversation data and local models out of the public repository.

Runtime transparency: the released app is local-first and does not require the OpenAI API for transcription or translation. Codex and GPT-5.6 were used in the product-development workflow. Live transcription runs locally with Faster Whisper, and translation runs locally with Argos Translate.

Current functionality

  • Live Windows system-audio and microphone capture
  • Local Faster Whisper transcription, with NVIDIA GPU acceleration when available
  • Local Argos Translate translation
  • Speaker-aware transcript segments and editable speaker profiles
  • Persistent, searchable SQLite session history
  • Movable, pinnable, always-on-top subtitle overlay
  • UTF-8 text output for OBS, including language-specific files
  • Multilingual UI and subtitle output, including Traditional Chinese, Japanese, and English
  • ASR correction dictionary and language-learning vocabulary highlights

Windows quick start

  1. Install Python for Windows.
  2. Place a local Faster Whisper large-v3-turbo model at models\faster-whisper-large-v3-turbo, or set SUBTITLETONG_WHISPER_MODEL to an existing local model directory.
  3. Double-click Launch SubtitleTong 2.bat.

The launcher creates .venv, installs the dependencies in requirements.txt, and starts the application. Models and conversation data are intentionally excluded from the repository.

To start the application manually:

py -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python main.py

Run tests:

python -m unittest discover -s tests -v

Data storage

  • When started with Launch SubtitleTong 2.bat, runtime data is stored in the repository's data directory. This includes the SQLite database and OBS text output.
  • When started directly with python main.py, runtime data defaults to %LOCALAPPDATA%\SubtitleTong2 on Windows.
  • Set SUBTITLETONG_DATA_DIR to override the default runtime-data directory.

Runtime data, local models, UI preferences, and study-word data are excluded from Git so that private transcripts and machine-specific files are not published.

OBS text output

SubtitleTong writes UTF-8 text files to data\obs_output when launched through Launch SubtitleTong 2.bat:

  • original.txt
  • zh-TW.txt, ja.txt, en.txt, ko.txt, es.txt
  • speaker.txt
  • combined.txt

In OBS, add a Text (GDI+) source, enable Read from file, and select the language file you want to display. Language controls on the OBS page determine which translated files are updated.

Future improvements

  • Per-application audio capture for browsers, games, Discord, and other apps
  • Windows output-device selection
  • Improved microphone-device selection
  • Additional local or optional translation models
  • Standalone Windows executable packaging

Architecture

UI -> Application Service -> ASR / Translation Providers
                       \----> SQLite Repository
                       \----> OBS Text Output

Provider code may depend on vendor libraries. Domain models, storage, and UI remain separated from a specific AI provider.

About

Local-first multilingual live subtitles for Discord, video, meetings, and OBS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages