Tony Lee
Tony Lee
Index
2 min read 2026

I Didn’t Need a Paid Voice App on Mac. I Built Mac Whisper

Push-to-talk on the menu bar with on-device SFSpeechRecognizer, optional LLM typo fixes only, and Bluetooth headsets that stay on A2DP. Requires macOS 26+.

I used Wispr Flow for a year. The trial ended. Typing without voice felt slow, so instead of converting to paid, I built Mac Whisper.

Why

Wispr is pleasant, but voice input on Mac is largely UX on top of Apple’s SFSpeechRecognizer. The engine is already in the OS. I needed a thin wrapper, not another subscription.

What it is

A menu-bar push-to-talk app. Hold Fn, speak, text lands at the cursor with no extra window. Useful with Bluetooth headsets: many voice modes force HFP and drop audio to 16 kHz. Mac Whisper forces the built-in mic so the headset can stay on A2DP quality for playback.

How it works

SFSpeechRecognizer plus AVAudioEngine for live streaming recognition. On-device by default; audio does not leave for a remote ASR server.

Optional LLM post-processing can call OpenAI, Anthropic, or Gemini endpoints to fix homophones and technical mishears only. It does not rewrite or translate. If the call fails, the original transcript is inserted.

Accuracy has been higher than I expected, and latency is the part I notice most. I am curious what happens when on-device ASR is ported further with mlx-audio and tighter kernels.

Install

Download MacWhisper.dmg from GitHub Releases, or git clonemake app → open the app. Allow mic, speech recognition, input monitoring, and accessibility.

Limits: macOS 26 (Tahoe) and later only, because of the Liquid Glass HUD path. Onboarding is still rough; developers will survive it, and I will smooth it.

If your bottleneck is speaking faster than you type, try the open wrapper before another monthly voice bill.

Join the newsletter

Get insights on the latest AI.