Speech-to-text from the command line, using macOS Speech Recognition. Transcribe audio files or live microphone input in 63 languages. On-device recognition available (no network required). No API keys, no downloads.
$ stenographer transcribe recording.wav
Hello world this is a test of the sound classification system
$ stenographer listen
Listening for 10.0s...
The quick brown fox jumps over the lazy dog
$ stenographer transcribe french_audio.aiff --locale=fr-FR
Bonjour le monde comment allez-vous aujourd'huiWorks with audio files (transcribe) or live mic
(listen). Use --on-device to force local
recognition with no network. A locales command lists all 63
supported languages.
Pipes with lingua and cacophony:
# Transcribe then detect language
stenographer transcribe audio.wav | lingua detect
# Transcribe and extract entities
stenographer transcribe meeting.wav | lingua entities
# Transcribe and analyze sentiment
stenographer transcribe review.wav | lingua sentiment --per-sentence--json on all commands. --duration=MS
controls mic capture length.
Uses Apple’s Speech and AVFoundation frameworks via Objective-C runtime bindings — no Swift, no Objective-C source files.
brew install georgemandis/tap/stenographer