Skip to content

Add timestamp-preserving transcript JSON export - #1

Draft
kwd421 wants to merge 8 commits into
mainfrom
agent/transcript-exchange
Draft

Add timestamp-preserving transcript JSON export#1
kwd421 wants to merge 8 commits into
mainfrom
agent/transcript-exchange

Conversation

@kwd421

@kwd421 kwd421 commented Aug 16, 2026

Copy link
Copy Markdown
Owner

What changed

  • adds a standard-library-only transcript_exchange.py module with versioned schema vibe-video-analyzer/transcript v1
  • preserves existing TranscriptSegment(s,e,t,words) and TranscriptWord(word,s,e) timing in JSON
  • adds a headless transcribe_cli.py entry point that lazily loads the existing ASR engine and never launches Tkinter or VLC
  • protects existing JSON output unless --overwrite is explicit
  • adds dependency-free unit tests and a lightweight macOS GitHub Actions job for Python 3.9 and 3.12
  • documents the schema and the downstream Apple Pro Video MCP handoff

Behavior preservation

This change does not modify engine_core.py, gui_app.py, ui_block_editor.py, playback, subtitle preview, or the existing word-timing algorithms. It serializes the current engine outputs through a new isolated path.

Intended integration

The consumer implementation is proposed in:

Vibe transcript JSON
  → Apple Pro Video MCP vibe_transcript_import
  → model/human adds candidate metrics
  → highlight_rank
  → edit_plan_build
  → FCPXML + SRT

Validation

  • standard-library tests cover dataclass/dict normalization, segment and word timing preservation, schema round trips, ordering rejection, protected writes, and CLI help without heavy runtime imports
  • GitHub Actions passed on macOS with Python 3.9 and 3.12
  • the Apple MCP consumer tests passed on Node.js 20 and 22

Known verification gap

Actual transcription runtime remains unverified until the user's macOS Python environment, media dependencies, models, and optional WhisperX runtime are restored. A passing exchange test proves the JSON contract, not Korean ASR accuracy.

Non-goals

  • no changes to word-highlight synchronization
  • no GUI export button in this PR
  • no external transcription API
  • no dependency-manifest or packaging overhaul

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant