A macOS menu bar app for local speech-to-text transcription using WhisperKit.
All audio is processed entirely on-device — nothing leaves your Mac.
⚠️ Personal Project NoticeThis code was written for my own use. It is not supported in any way. No issues, no PRs, no questions answered, no guarantees it works. You're welcome to use it, fork it, modify it, sell it, burn it, whatever. Just don't expect anything from me. Good luck.
- macOS 14.0+
- Apple Silicon recommended (Intel works but slower)
Download the latest DMG from Releases, open it, and drag Jabber to Applications.
swift buildFor a release build with signing:
./scripts/release.sh --skip-notarize # local testing
./scripts/release.sh # full signed + notarized DMG- Launch Jabber — it lives in your menu bar
- Click the icon or use the global hotkey to start dictation
- Speak, and text appears wherever your cursor is
Jabber requires two macOS permissions to provide the full experience:
- Microphone: required to capture speech.
- Accessibility: required for paste-into-current-app mode.
On first launch or first use, macOS may ask for microphone permission and may open a system permission prompt for accessibility when you use paste mode.
If permission prompts do not appear:
- Open System Settings > Privacy & Security
- Enable Jabber for Microphone
- Enable Jabber for Accessibility
Jabber uses Sparkle for auto-updates. On first launch (after the second run), it will check for updates automatically.
- Download Sparkle from releases
- Run
./bin/generate_keysto create a keypair (stored in Keychain) - Export the private key:
./bin/generate_keys -x sparkle_private_key - Add the private key as
SPARKLE_EDDSA_PRIVATE_KEYsecret in GitHub - Add your public key to
SUPublicEDKeyin Info.plist
The workflow generates appcast.xml as an artifact. Host it at:
https://rselbach.github.io/jabber/appcast.xml
Public Domain — see LICENSE. Do whatever you want with it.