You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yutsuo 94af5599f6 docs: plan OpenAI transcription implementation 4 days ago
docs/superpowers docs: plan OpenAI transcription implementation 4 days ago
src/voice_transcriptor feat: add audio preprocessing and chunking 4 days ago
tests feat: add audio preprocessing and chunking 4 days ago
.gitignore chore: ignore plan execution artifacts 4 days ago
README.md feat: add audio preprocessing and chunking 4 days ago
pyproject.toml build: scaffold typed application core 4 days ago
requirements.txt build: scaffold typed application core 4 days ago

README.md

Voice Transcriptor

Windows desktop preprocessing foundation for long audio and video transcription jobs.

Setup and run

Install Python 3.12 or newer plus FFmpeg/FFprobe, ensure both executables are on PATH, then install dependencies and launch:

python -m pip install -r requirements.txt
python -m voice_transcriptor

The app accepts .m4a, .mp3, .wav, .mp4, .mov, .webm, and .mkv. It probes the source with FFprobe and streams it through FFmpeg into mono 24 kHz AAC-LC .m4a chunks at 64 kbps. Video audio is selected directly, with no large intermediate extraction file.

Chunking is duration-based, not tied to a presumed universal upload-size limit. Defaults are 15-minute chunks with 15 seconds of overlap. Change duration, overlap, and temporary-file retention under Settings → Advanced.

Each job writes an exact-timestamp JSON manifest in its job-specific temporary directory. Files are removed after completion, cancellation, or failure unless retention is enabled for debugging. Active preprocessing can be cancelled from the main window.

This milestone prepares media only. It does not call a transcription API or upload chunks.

Tests

python -m pytest -v
python -m compileall -q src tests

The OpenAI API key is stored through keyring rather than in the JSON settings file.