SubtitleTong 2 is a local-first Windows application for real-time multilingual subtitles across system audio, microphone input, conversations, video, and OBS.
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.
- 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
- Install Python for Windows.
- Place a local Faster Whisper
large-v3-turbomodel atmodels\faster-whisper-large-v3-turbo, or setSUBTITLETONG_WHISPER_MODELto an existing local model directory. - 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.pyRun tests:
python -m unittest discover -s tests -v- When started with
Launch SubtitleTong 2.bat, runtime data is stored in the repository'sdatadirectory. This includes the SQLite database and OBS text output. - When started directly with
python main.py, runtime data defaults to%LOCALAPPDATA%\SubtitleTong2on Windows. - Set
SUBTITLETONG_DATA_DIRto 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.
SubtitleTong writes UTF-8 text files to data\obs_output when launched through
Launch SubtitleTong 2.bat:
original.txtzh-TW.txt,ja.txt,en.txt,ko.txt,es.txtspeaker.txtcombined.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.
- 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
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.