2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00
2026-06-09 14:20:20 +02:00

Rehearsal Studio

Desktop-first script rehearsal application for synchronizing screenplay text with one or more audio files, then practicing a selected role against that synchronized timeline.

Current implementation

  • src/: React + TypeScript UI with import, reader, sync editor, provider routing, and practice views
  • src-tauri/: Rust host for project management, media preparation, JSON artifacts, and SQLite-backed practice history
  • providers/python/: provider runtime for script parsing, draft transcription, fuzzy alignment, and transcript-based answer evaluation

The provider layer is modular by design:

  • local-whisper-draft is the default local provider
  • remote-placeholder is reserved for future API adapters

Local development

  1. Install JavaScript dependencies: npm install
  2. Install Python provider dependencies if you want local document parsing and optional ASR: python -m venv .venv && .venv/bin/pip install -r providers/python/requirements.txt
  3. Run the browser preview: npm run dev
  4. Run the desktop shell: npm run tauri dev

Notes

  • If faster-whisper is not installed or no local model is available, the provider runtime falls back to generating a draft transcript from script lines and total audio duration.
  • The app automatically prefers ./.venv/bin/python or ./.venv/Scripts/python.exe for the provider runtime. REHEARSAL_PYTHON still overrides that if you want a different interpreter.
  • Media preparation requires ffmpeg and ffprobe on the system path.
  • The UI accepts absolute file paths for the first implementation; native file-picker integration can be added on top of the existing commands.
Description
No description provided
Readme 143 KiB
Languages
Rust 41.3%
TypeScript 39.7%
Python 12.5%
CSS 6.2%
HTML 0.3%