SayStuff is a macOS menu bar app for local voice-to-text. Hold a hotkey to record, release to transcribe, and the text is pasted into the active app.
- macOS 13+
whisper-clifrom whisper.cpp (or another compatible build)- At least one Whisper model file (.bin)
- Download the latest
SayStuff-<version>.dmgfrom GitHub Releases. - Open the DMG and drag SayStuff into
/Applications. - On first launch, if macOS warns about an unidentified developer:
- Right‑click SayStuff in
/Applications→Open→Open.
- Right‑click SayStuff in
- On your Mac, run
./scripts/release.sh <version>(example:./scripts/release.sh 0.5.1). - Send your friend
releases/SayStuff-<version>.dmg. - They open the DMG, drag SayStuff into
/Applications, and launch it.
Notes:
- The release script will try to bundle
whisper-cliinto the app automatically (so your friend doesn't need to install whisper.cpp). If it can't findwhisper-cli, it will print a warning and your friend will need to install it or you can re-run withWHISPER_CLI_PATH=/path/to/whisper-cli. - On first run, SayStuff can download the Whisper model in-app and will prompt for permissions.
- Open
SayStuff.xcodeprojin Xcode. - Build and run the app.
- Launch SayStuff. On first run, the onboarding will guide you through downloading a model and granting permissions.
- If needed, open Settings → Model and confirm the
whisper-clipath and model directory. - Grant permissions when prompted:
- Microphone access (for recording)
- Accessibility access (for global hotkey and paste)
- Hold the hotkey (default: Option+Command+V) to record.
- A red screen border shows while recording.
- Release to transcribe and paste.
- No audio captured: check System Settings > Sound > Input and microphone permissions.
- Hotkey not working: grant Accessibility access for SayStuff.
whisper-clinot found: set the correct path in Settings.
MIT