Hold Fn, speak, and Megaphone types clean text into any Mac app. Apple’s SpeechAnalyzer transcribes as you talk, while on-device Foundation Models remove fillers, fix self-corrections, adapt to app context, and power inline voice commands. No account, API key, subscription, or server. Free, MIT-licensed, and native to Apple silicon Macs running macOS 26.
Hey Product Hunt 👋
A few days ago, I was scrolling Hacker News when I came across a benchmark of Apple’s new SpeechAnalyzer API.
The results caught me off guard: Apple’s on-device model was more accurate and roughly three times faster than Whisper Small in the benchmark.
That made me wonder why so many Mac dictation apps still need subscriptions and cloud-hosted transcription.
So I built Megaphone.
Hold Fn, speak naturally, and release. Megaphone types clean text directly into whatever app you are using. SpeechAnalyzer processes your audio while you talk, and Apple’s on-device Foundation Models clean up fillers, resolve self-corrections, and fix punctuation before the result lands.
A few other things it can do:
• Start with “Hey Megaphone” to generate or rewrite text directly at your cursor
• Adapt formatting and vocabulary to the active app
• Learn names, acronyms, and technical terms in a private Dictionary
• Run in multiple languages
• Use hold-to-talk, toggle recording, custom shortcuts, and voice macros
There is no Megaphone account, API key, subscription, cloud transcription service, or server receiving your recordings.
Megaphone is free, MIT-licensed, and built natively in Swift for Apple silicon Macs running macOS 26 Tahoe.
It is built on top of Zach Latta’s excellent FreeFlow project. I replaced its cloud transcription stack with Apple’s SpeechAnalyzer and moved the cleanup and intelligence layer onto Apple’s on-device models.
I would especially love feedback on three things:
1. Accuracy with names, accents, and technical vocabulary
2. Whether Smart Cleanup changes too much—or not enough
3. Whether Inline AI feels genuinely useful in daily work
The source is public, the issue tracker is open, and I am actively maintaining it. Thanks for giving Megaphone a try.
Report
100% on-device is the part that sold me — no cloud round-trip for dictation means it should work fine offline and nothing leaves the machine, which is rare for this category. What's the on-device model you're running for transcription, and how's accuracy holding up against something like Whisper cloud on technical/code-heavy speech? Also curious if it's Swift/native or if you're wrapping something cross-platform under the hood.
since everything is local with no account or server, what happens to the private Dictionary if you use more than one Mac. does it stay per machine and you re-teach it your names and jargon on each one, or is there some sync path that doesn't involve a cloud account
Free, open source, and fully on device is such a rare combo for dictation. Hold Fn and just talk is exactly the right interaction too. Does it type into anything, even a terminal prompt? Congrats on the launch!
Finally someone building on SpeechAnalyzer instead of another Whisper wrapper with a subscription attached. My one worry with the Foundation Models cleanup: does it ever rewrite stuff I actually meant, like product names or code? And can I dial the filler removal down when I want the raw transcript?
This is a good start, but ultimately it is far away from the speed and functionality of Wispr Flow.
Every time I use Megaphone, I get a red X in the upper UI control, even though it successfully transcribes my text. It lacks much in the way of intelligence in terms of figuring out punctuation and grammar. It also lags in the speed department, which is a bit puzzling given that it is local.
I hope this continues to develop and gets better, and I will happily check it out a few months from now!
@jasonrdunn that's really weird, never seen said X before ; it would be slower than whispr because the transcription happens through local inference and not on a huge server sadly ; but happy to look into the X issue if you can open an issue on github with more details !
Report
Honest question: how is this different/better than Apple‘s own dictation feature in macOS?
the one apple uses for built in dictation is called DictationTranscriber and is much dated SpeechAnalyser is very new
Megaphone also uses the inline AI to fix tones and has application context so in an email window, it types like an email, on a slack thread, it types like a slack message !
Report
@kuberwastaken Ah, so maybe instead of hearing “Coach Dan” when I’m dictating, now Megaphone will make it “Coach Don”? I’ll give it a try!
Megaphone
100% on-device is the part that sold me — no cloud round-trip for dictation means it should work fine offline and nothing leaves the machine, which is rare for this category. What's the on-device model you're running for transcription, and how's accuracy holding up against something like Whisper cloud on technical/code-heavy speech? Also curious if it's Swift/native or if you're wrapping something cross-platform under the hood.
Megaphone
@hi_i_am_mimo SpeechAnalyser API and Apple's on-device foundation model and 100% swift :)
Dial
since everything is local with no account or server, what happens to the private Dictionary if you use more than one Mac. does it stay per machine and you re-teach it your names and jargon on each one, or is there some sync path that doesn't involve a cloud account
Megaphone
@galdayan that's actually a really good suggestion, maybe we can do that wish JSONs
will ship later today
Edit: there's a new import and export dictionary button in v1.1.8 !
Terminal Candy
Free, open source, and fully on device is such a rare combo for dictation. Hold Fn and just talk is exactly the right interaction too. Does it type into anything, even a terminal prompt? Congrats on the launch!
Megaphone
@terminal_candy absolutely, especially a terminal prompt, I love it on my codex and claude code sessions
LottieFiles
Finally someone building on SpeechAnalyzer instead of another Whisper wrapper with a subscription attached. My one worry with the Foundation Models cleanup: does it ever rewrite stuff I actually meant, like product names or code? And can I dial the filler removal down when I want the raw transcript?
Megaphone
@reallynattu yessir you can :) there's a personal dictionary and I can even say stuff like grokodile and it's all really fast!
- written with megaphone
LottieFiles
@kuberwastaken Thats pretty cool. will check it out
This is a good start, but ultimately it is far away from the speed and functionality of Wispr Flow.
Every time I use Megaphone, I get a red X in the upper UI control, even though it successfully transcribes my text. It lacks much in the way of intelligence in terms of figuring out punctuation and grammar. It also lags in the speed department, which is a bit puzzling given that it is local.
I hope this continues to develop and gets better, and I will happily check it out a few months from now!
Megaphone
@jasonrdunn that's really weird, never seen said X before ; it would be slower than whispr because the transcription happens through local inference and not on a huge server sadly ; but happy to look into the X issue if you can open an issue on github with more details !
Honest question: how is this different/better than Apple‘s own dictation feature in macOS?
Megaphone
@mrtoner great question!
the one apple uses for built in dictation is called DictationTranscriber and is much dated
SpeechAnalyser is very new
Megaphone also uses the inline AI to fix tones and has application context so in an email window, it types like an email, on a slack thread, it types like a slack message !
@kuberwastaken Ah, so maybe instead of hearing “Coach Dan” when I’m dictating, now Megaphone will make it “Coach Don”? I’ll give it a try!
Megaphone
@mrtoner hope so, let me know how you like it :)