Local video transcription and subtitle editing app built with Tkinter, VLC, Faster-Whisper, VAD, and FFmpeg-based tooling.
- App entry:
main.py - Main UI:
gui_app.py - Playback wrapper:
video_player.py - Transcription engine:
engine_core.py - Timeline state:
timeline_manager.py
- Windows packaging flow exists via
build_release.batandVibeAnalyzer.spec. - macOS compatibility work has started and the VLC embed path is now platform-aware.
- macOS runtime is not yet fully verified because the current machine is missing the project Python environment and required packages.
Verified on 2026-03-20 in this workspace:
python3is available:Python 3.9.6.venvis missing- dependency manifest such as
requirements.txtorpyproject.tomlis missing models/directory is missing- import checks currently fail for:
vlc,numpy,torch,faster_whisper,imageio_ffmpeg,transformers,silero_vad,noisereduce,PIL tkinterimport succeeds, but GUI window launch was not verifiable in this sandbox
- Create a local virtual environment.
- Install the project dependencies into that environment.
- Install VLC on macOS and confirm the Python
vlcpackage can find the VLC runtime. - Restore or download the local speech models into
models/if local bundled models are expected. - Run
python main.pyfrom the project root. - Verify video preview, subtitle preview, analysis start, and export paths.
- Launch the app from the project root.
- Select a short local
.mp4file. - Confirm the splash screen appears and the main window opens.
- Confirm video playback renders inside the app window.
- Start a basic transcription run using CPU mode.
- Confirm subtitle rows populate and preview subtitles appear in VLC playback.
- Export
SRTand confirm the file is created correctly.
build_release.batis Windows-only.VibeAnalyzer.specnow exists again, but packaging should be re-validated later on an actual build machine.- See
DEPLOYMENT.mdfor packaging notes andHANDOFF.mdfor current project context.