Skip to content

feat: add local whisper-cli transcription backend#5

Open
Zaargh wants to merge 1 commit into
bradautomates:mainfrom
Zaargh:feat/local-whisper
Open

feat: add local whisper-cli transcription backend#5
Zaargh wants to merge 1 commit into
bradautomates:mainfrom
Zaargh:feat/local-whisper

Conversation

@Zaargh

@Zaargh Zaargh commented May 1, 2026

Copy link
Copy Markdown

Summary

  • Adds local whisper-cli (whisper.cpp) as a third transcription backend, preferred over Groq/OpenAI API when available
  • Auto-detects binary via PATH and GGML models in ~/.cache/whisper/ or brew cellar
  • Extracts audio as 16kHz mono WAV (native format for whisper.cpp) instead of mp3
  • New CLI flag --whisper local to force local backend
  • Config: WHISPER_MODEL env var for explicit model path, WHISPER_LOCAL=false to disable
  • Updates setup.py preflight, session hook, and installer to detect and report local whisper

Motivation

Users with whisper-cpp installed locally can transcribe without API keys, network access, or cost. Local transcription is also more private since audio never leaves the machine.

@Zaargh Zaargh force-pushed the feat/local-whisper branch from e0def18 to 192afb0 Compare May 18, 2026 07:20
@Zaargh

Zaargh commented May 18, 2026

Copy link
Copy Markdown
Author

Rebased onto main — conflicts in CHANGELOG.md (kept the new 0.1.3 release block alongside the Unreleased entry) and scripts/whisper.py (kept out_path.resolve() from the subprocess hardening in #2, dropped the redundant -b:a 64k since codec args are now branched on wav vs mp3).

PR is MERGEABLE / CLEAN again. Friendly bump in case it slipped past — happy to address any review feedback.

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