Skip to content

celismeiAI/SubtitleTong-2

Repository files navigation

SubtitleTong 2

Local-first AI multilingual communication platform.

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 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 to transcribe or translate audio. Codex and GPT-5.6 were used in the product-development workflow, while live transcription runs locally with Faster Whisper and translation uses local providers.

一番かんたんな起動方法

Windows では Launch SubtitleTong 2.bat をダブルクリックしてください。 初回だけ必要な環境とライブラリを自動で準備し、その後アプリを起動します。 2 回目以降も同じファイルをダブルクリックするだけです。

Before first launch, place a local faster-whisper large-v3-turbo model at models\faster-whisper-large-v3-turbo, or set SUBTITLETONG_WHISPER_MODEL to the model directory. Models and conversation data are intentionally excluded from the repository.

Current vertical slice

  • Workspace/session creation
  • SQLite persistence
  • Speaker-aware transcript segments
  • Provider adapter interfaces
  • Mock streaming ASR and translation pipeline
  • Main control window
  • Independent always-on-top subtitle overlay

Locked next milestone

The source selector is not complete until it changes the audio that is actually captured. Implement and verify all of the following after the first live Whisper quality pass:

  • All system audio (current fallback)
  • Specific application/process audio: Discord, browser, game, or custom app
  • Windows output-device selection
  • Microphone-device selection as an independent right-side speaker source
  • Include/exclude process-tree capture with a visible active-source indicator
  • Automatic fallback to all-system loopback when per-process capture is unavailable

The mock providers intentionally make the first executable build independent of model downloads. They will be replaced by Faster Whisper and a local translation provider without changing the UI or storage contracts.

Windows quick start

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 is stored at %LOCALAPPDATA%\SubtitleTong2\subtitletong.db on Windows. Set SUBTITLETONG_DATA_DIR to override it during development.

OBS text output

SubtitleTong continuously writes UTF-8 files to data\obs_output:

  • 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 show. Language buttons on the OBS page control which files are updated.

Architecture

UI -> Application Service -> Pipeline -> Provider Adapters
                       \----> SQLite Repository

Provider code may depend on vendor libraries. Domain models, storage, and UI must not depend on 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

No releases published

Packages

 
 
 

Contributors