stenographer

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'hui

Works 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

Read More