listnr
Local dual-lane meeting transcription for macOS
TLDR
SYNOPSIS
listnr [command] [options]
DESCRIPTION
listnr is a macOS command-line meeting listener. It captures two separate audio lanes: your microphone (always labeled You) and system / speaker audio (remote participants). Both lanes are transcribed on-device with WhisperKit (Core ML). Remote speakers are split into Speaker 1…N with SpeakerKit diarization after the session ends. Audio and transcripts never leave the machine except for the one-time model download from Hugging Face.Using a headset is strongly recommended so remote audio does not bleed into the microphone lane. Sessions write Markdown transcripts under ~/Documents/Listnr/. Optional /dump writes raw WAV debug audio with owner-only permissions.Supported languages include English, Bangla, Hindi, Spanish, French, German, Japanese, and Chinese. /translate uses Whisper's translate-to-English task (one-way). Default models balance live latency; larger models improve accuracy at the cost of real-time headroom.
PARAMETERS
(no command)
Start the interactive REPL (listnr> prompt). Common in-session commands: /live [seconds], /stop or q, /lang code, /translate, /speakers n, /model id, /diarize, /sensitivity high|low, /dump, /status, /help.start [--seconds n] [--speakers n] [--language code] [--translate] ...
One-shot capture without the interactive shell. Transcript goes to stdout; progress and meters to stderr. Omitting --seconds runs until Ctrl+C.setup
Guide you through granting Microphone and Screen & System Audio Recording permissions to the host terminal app.doctor
Report which permissions and dependencies are missing.models list
List available WhisperKit model ids and sizes.models download id
Prefetch model weights from Hugging Face into the local cache.
CAVEATS
macOS 14+ on Apple Silicon only (Intel Macs are not supported). Permissions attach to the terminal app, not the binary—switching Terminal ↔ iTerm requires re-granting. Beta software (0.x): CLI flags and behavior may change. Diarization of remote speakers runs after you stop (live labels are all Others). Memory grows with session length (~460 MB per hour of dual-lane audio in RAM). Recording other people may require all-party consent under local law—obtain agreement before use. Session options like language and model do not currently persist across restarts.
HISTORY
Listnr is an MIT-licensed open-source project by Rokibul Hasan. It builds on WhisperKit / SpeakerKit for on-device speech and diarization, and is distributed as a prebuilt Homebrew formula, notarized .pkg, and source build via Swift Package Manager.
