I’m building BetterWispr, a free and open-source voice dictation app for macOS.
I wanted to make voice typing more accessible without requiring a monthly subscription or sending every recording to a cloud server.
You can hold Option + Space, speak naturally, and have the transcription inserted directly into whatever app you’re using.
A few things I’ve been working on:
- Local speech recognition using Whisper, Parakeet, or Apple Speech
- Automatic cleanup of filler words and repeated phrases
- Custom vocabulary for names and technical terms
- Different writing styles depending on the app
- Optional meeting transcription and summaries
The project is open source under Apache 2.0.
I’m still improving the experience, especially around transcription accuracy, speed, and reliability across different Macs.
I’d love feedback from people who regularly use voice dictation.
What would make you switch from your current dictation tool to an open-source alternative?
I recently switched from Handy to Fluidvoice, and like it much better. The UI is much better and offers a better and more comprehensive feature set in comparison.
For me (M1 Studio) it works at least as well and as quickly as Handy or GhostPepper, which are considered two of the best. (Turn on with Keyboard > Dictation, works anywhere you can type text.)
I understand you made BetterWhispr and Handy would be a competitor, but if you're going to dunk on them it would be good to add some real detail and reasoning. It's okay if you just didn't get on with it, but this is HN where we want to hear about design decisions, trade-offs, and the motivation for building this over using one of the many alternatives.
I've not used either and I'm sure they're both great, but just saying an alternative is bad isn't particularly useful to anyone here.
If folks like local-AI dictation, but want it optimized for meetings recordings (like Granola/Otter/Notion) check out Biscotti. Free, local, separates voices, voice identification, AI summaries, etc.
To be honest, I used Wspr so much I only recently started realizing just HOW bad it gets trying to 'improve' your diction, especially coding. I have seen totally opperate directives. I had no idea it was potentially occuring, but it gets past a point where it is WAY to confident in guessing what you meant, sometimes to the extent of changing DON'T to DO, for example.
This is awesome. I really want to get something like this integrated directly into my agent IDE (https://getness.dev).
The main thing I need is some way of auto-sending a "end of message" button (like a newline would do) at the end of the message so that it auto-sends the chat.
Not sure the exact right way to implement that, but it seems like something that could be general purpose. Maybe a setting per-active app?
But trying to implement it directly into ness hasn't worked that well. It seems like betterwispr/wisprflow/etc all seem to belong better as their own app, and we just need good integration points between the push-to-talk app and the text consuming apps (like the IDE)
I use handy.computer in push-to-talk mode. It inserts text in the active text box when you let go. It also supports auto-submitting at the end, so maybe that would help? I think it can send new line.
Many people are using Nemotron (NVIDIA provides Linux binaries for ARM and Intel that you can shove into a server and do audio over websockets for them).
Nevertheless I dictate almost exclusively with Claude Code now, because it's such better ergonomics. And it's still significantly faster.
But a big benefit is that I'm never hunching, I'm never straining my wrists, none of that stuff. Dictation is just so much better for your neck and back.
Yeah, this is a very good point. I just lean back and speak. I find it much better. You can actually think now better because you can actually focus on the problem, admittedly, I never bothered to learn how to type fast because I was too lazy And my fingers are beefy. And I also like it when I'm literally just looking at something and giving a feedback to model while I'm speaking and it is being transcribed and being acted upon. I mean, this is all is kind of like science fiction. I'm surprised that there's so much negativity about all this AI or as we officially now refer to as Si.
Yeah Claude Code is one example where I use dictation most of the time (unless I'm in the office). Even if I take back some things that I say there it can be useful context for the LLM to parse and understand what I'm doing.
The thing is that for long emails, long text messages, or in general when I have to think about what I want to communicate and I have to write decently, ASR isn't helping me as much as I thought it would. Maybe I'm using it in the wrong way, and I could build a better pipeline if I added LLM postprocessing to my text, but I don't have enough memory on my computer for this kind of task yet.
I think we're about to see a dictation revolution.
I've been coding with Claude, and I pretty much do it exclusively by voice now, simply because it's so much faster. And I kind of feel like Scotty from Star Trek IV, when he holds up a Mac mouse to try to talk into it.
I've been using VoiceInk [1] which looks like it's basically the same as this, but has been around for longer.
What has really made it work for me is using a Bluetooth media control like [2], where I use Karabiner Elements to remap its play/pause button to the dictation keyboard shortcut. I map rewind to option-backspace to delete the last word, fast-forward to shift-enter to insert a newline, a lower button to enter to submit my prompt, and the volume up/down buttons to scroll up/down. I've also just ordered to Xiaomi Bluetooth remote [3] that includes a microphone itself to see if I can get it to work by speaking directly into it and using it as the microphone -- there are a couple of open source projects to turn it into a Mac microphone directly. Since I'd like to be able to talk more quietly instead of into my Mac.
But what I'm REALLY waiting for is the ability to use one button for dictation, and a second button for issuing commands for a local LLM to interpret. So I hold down the voice button which transcribes "I think we need to catch that" and then the second button and go "change catch to cache, like c-a-c-h-e". Or hold down the second button and go "switch to VS code". I don't want something as finicky as macOS Voice Control, I want a local LLM I can speak naturally to.
I can very much see a future where I spend the majority of my "work" time using a Apple TV-type remote.
i forked handy and built 2 modes. One for dictation and one for quick agent actions that uses the pi harness with local models and jev style classifiers so it can read screens and interact with elements (via accessiblity tree, screenshots, os scripts, bash, mcp, etc). Its nice because in agent mode you can just give it instructions on how to respond (like dictation that can read the context of the current page or input). I've been pretty happy with it so far and debating if i should release it. Just not sure if the world needs yet another vibe coded agent system.
I'm glad we're getting to a point where voice can be the main UI, and that some people are actively using it to their benefit, but I hope it doesn't become THE primary interface, even with AIs.
I find speaking tiresome, somehow, and if I had to talk all the time to my computer with text input being a fidgety "accessibility" option, I'd retire to a monastery and just become a monk.
Agree with the need for different buttons for different voice contexts though.
Though I think it will become a dedicated AI key on some keyboards.. How about the Right Alt/Option on MacBooks? Does anybody use that? It could be the "AI Anywhere" input key, optionally defaulting to voice, and while F5 could continue to serve as a literal dictation key..
I am having great results by mapping the press to dictate onto my pedal.I have been vibecoding without using my hands for the past four months with great results.It's amazing using the computer without touching it.I can go on for hours with a couple of pedals.I use them to switch windows, dictate and press enter.That's really all you need.
The one thing about the Bluetooth microphones is that there is this annoying lag that it's very hard to get used to, even when using AirPods which you think would be optimized for this. It's just untenable in my opinion because I could never get used to the 3-400 millisecond delay that I had to deal with. I ended up using simple Apple wired headphones as my go-to solution eventually. They actually produce a least a modest strain on ears when being in for hours on end, at least in my situation. I do like your idea about the Bluetooth multimedia remote controller.
As much as I like seeing this, the space is really crowded, and I think the real value is not in single dictation for input, but in two other things: diarization (essential for call recordings, and a staple in video calling services, but hardly touched for in-room meetings and brainstorming) and the next step, which is cleaning it all up for actually useful notes. Not just the transcript, but better variations on meeting notes that you can customize, link to previous existing information, etc.
There are a number of free apps that do this now: ghostwhisper and anarlog are the first two that come to mind. It is not hard to vibe your own too. There are open source models that do diarization.
In my own vibe coded implementation during the recordings the live transcript gets sent for validation and allows me to take better decision while in the call itself.I'm using a a small local model for processing.Also like when it detects bullshit told by others in real times so I can immediately reply.Fun
What’s really shocking is this and many of the competitors are all using OpenAI whisper - which came out in 2022. (Once upon a time, OpenAI really did open research)
It’s surprising in 2026 this is still the default “best” all rounder. Kudos to the early OpenAI team and the open community efforts / improved models since then.
Parakeet is blindingly fast on modern hardware. My MacBook is just so fast, it's not even funny. But despite that, I still often use OpenWhisper because it just does better for accented voices. I also fine-tuned Qwen ASR on my voice, and that one is faster than Open Whisper, but I think I might even go back to Open Whisper eventually Because it still makes a lot of weird mistakes And I think it is over-indexed towards the fine tune And substitutes quite often wrong dictionary words for ambiguous words.
This is cool. I also built a dictation app that has advantage of using three state-of-the-art models in parallel. Which increases accuracy and reduces p95 significantly. You can check it out at https://zwhispr.com/
Just tried it out as I was looking for something that does this exact thing well (macbook). So far I dictated about 5 different things in different contexts, it worked without a single error! Good choice to pick parakeet v3.
This is my entry into the world of vibe coded Wispr Flow clones. Runs locally on the Whisper AI speech recognition model file - the small variety - just under 200mb.
I thought the small model won't be any good, but it's actually great and barely causes the GPU any usage.
Like other people in this thread mentioned, I switched pretty much exclusively to working with voice. Whether it's responding to text or talking to Claude or writing an email.
Even though this looks really good I don’t see myself using this.
Mostly because I could use this only when I’m working from home, and even then after a few minutes I’ll get tired of speaking to myself and I actually type way faster than I speak.
What about adding a wake word detection so I can just say "Hey wakeWord" to activate the STT? Then maybe detect silence to finish. Completely hands free?
[OP] kartik017 | 10 hours ago
I’m building BetterWispr, a free and open-source voice dictation app for macOS.
I wanted to make voice typing more accessible without requiring a monthly subscription or sending every recording to a cloud server.
You can hold Option + Space, speak naturally, and have the transcription inserted directly into whatever app you’re using.
A few things I’ve been working on:
- Local speech recognition using Whisper, Parakeet, or Apple Speech - Automatic cleanup of filler words and repeated phrases - Custom vocabulary for names and technical terms - Different writing styles depending on the app - Optional meeting transcription and summaries
The project is open source under Apache 2.0.
I’m still improving the experience, especially around transcription accuracy, speed, and reliability across different Macs.
I’d love feedback from people who regularly use voice dictation.
What would make you switch from your current dictation tool to an open-source alternative?
Website: https://betterwispr.com/
bazmattaz | 2 hours ago
Zizizizz | 7 hours ago
nxpnsv | 7 hours ago
ramraj07 | 7 hours ago
pylotlight | 6 hours ago
oscarteg | 7 hours ago
abyssin | 6 hours ago
alexgoodhart | 4 hours ago
patrickk | 3 hours ago
evulhotdog | 3 hours ago
[OP] kartik017 | 3 hours ago
aucisson_masque | 7 hours ago
NJL3000 | 7 hours ago
And if MacOS 26 does it right - all of this is no longer necessary for us to vibe fork/ code on weekends :-)
P.S. Handy looks slick. May be able to ditch mine
esafak | 5 hours ago
CharlesW | 3 hours ago
Na6z | 6 hours ago
[OP] kartik017 | 4 hours ago
maxpert | 6 hours ago
[OP] kartik017 | 4 hours ago
this product is just 14mb binary.
bluehatbrit | an hour ago
I've not used either and I'm sure they're both great, but just saying an alternative is bad isn't particularly useful to anyone here.
jasonjmcghee | 6 hours ago
Are folks finding it lacking / needing alternatives?
throw03172019 | 6 hours ago
scosman | 6 hours ago
https://github.com/scosman/Biscotti
alexgoodhart | 4 hours ago
rahimnathwani | 14 minutes ago
xnx | 6 hours ago
epaga | 6 hours ago
[OP] kartik017 | 4 hours ago
handfuloflight | 3 hours ago
ProofHouse | 6 hours ago
[OP] kartik017 | 3 hours ago
frenchie4111 | 6 hours ago
The main thing I need is some way of auto-sending a "end of message" button (like a newline would do) at the end of the message so that it auto-sends the chat.
Not sure the exact right way to implement that, but it seems like something that could be general purpose. Maybe a setting per-active app?
regularfry | 6 hours ago
frenchie4111 | 5 hours ago
But trying to implement it directly into ness hasn't worked that well. It seems like betterwispr/wisprflow/etc all seem to belong better as their own app, and we just need good integration points between the push-to-talk app and the text consuming apps (like the IDE)
HnUser12 | 5 hours ago
rcarmo | 5 hours ago
gekoxyz | 6 hours ago
crazygringo | 5 hours ago
Nevertheless I dictate almost exclusively with Claude Code now, because it's such better ergonomics. And it's still significantly faster.
But a big benefit is that I'm never hunching, I'm never straining my wrists, none of that stuff. Dictation is just so much better for your neck and back.
vardalab | 4 hours ago
gekoxyz | 26 minutes ago
crazygringo | 5 hours ago
I've been coding with Claude, and I pretty much do it exclusively by voice now, simply because it's so much faster. And I kind of feel like Scotty from Star Trek IV, when he holds up a Mac mouse to try to talk into it.
I've been using VoiceInk [1] which looks like it's basically the same as this, but has been around for longer.
What has really made it work for me is using a Bluetooth media control like [2], where I use Karabiner Elements to remap its play/pause button to the dictation keyboard shortcut. I map rewind to option-backspace to delete the last word, fast-forward to shift-enter to insert a newline, a lower button to enter to submit my prompt, and the volume up/down buttons to scroll up/down. I've also just ordered to Xiaomi Bluetooth remote [3] that includes a microphone itself to see if I can get it to work by speaking directly into it and using it as the microphone -- there are a couple of open source projects to turn it into a Mac microphone directly. Since I'd like to be able to talk more quietly instead of into my Mac.
But what I'm REALLY waiting for is the ability to use one button for dictation, and a second button for issuing commands for a local LLM to interpret. So I hold down the voice button which transcribes "I think we need to catch that" and then the second button and go "change catch to cache, like c-a-c-h-e". Or hold down the second button and go "switch to VS code". I don't want something as finicky as macOS Voice Control, I want a local LLM I can speak naturally to.
I can very much see a future where I spend the majority of my "work" time using a Apple TV-type remote.
[1] https://github.com/Beingpax/VoiceInk
[2] https://www.amazon.com/Satechi-Bluetooth-Multimedia-Remote-C...
[3] https://www.notebookcheck.net/Xiaomi-Bluetooth-Remote-2-Pro-...
cjonas | 5 hours ago
Grombobulous | 5 hours ago
Bonus points if you work in an office. This kind of workflow would be a nightmare.
…unless it means we get our private offices back.
dnautics | 3 hours ago
Razengan | 5 hours ago
I find speaking tiresome, somehow, and if I had to talk all the time to my computer with text input being a fidgety "accessibility" option, I'd retire to a monastery and just become a monk.
Agree with the need for different buttons for different voice contexts though.
Though I think it will become a dedicated AI key on some keyboards.. How about the Right Alt/Option on MacBooks? Does anybody use that? It could be the "AI Anywhere" input key, optionally defaulting to voice, and while F5 could continue to serve as a literal dictation key..
dnautics | 3 hours ago
pmoriarty | 3 hours ago
Imagine everyone on public transport speaking in to their phones to navigate and control them.
A microphone sensitive to subvocalization could maybe get around some of these problems, but it'd still be kind of weird.
polyterative | 4 hours ago
vardalab | 3 hours ago
[OP] kartik017 | 3 hours ago
pegasus | 3 hours ago
patrickk | 2 hours ago
rcarmo | 5 hours ago
prash20026 | 5 hours ago
https://developers.google.com/edge/foresight
eajr | 4 hours ago
polyterative | 4 hours ago
[OP] kartik017 | 4 hours ago
you can try the notetaking feature which i have build
fold_left | 52 minutes ago
Benard-dev | 5 hours ago
Congrats on shipping!
Royce-CMR | 5 hours ago
It’s surprising in 2026 this is still the default “best” all rounder. Kudos to the early OpenAI team and the open community efforts / improved models since then.
sunnybeetroot | 4 hours ago
eajr | 4 hours ago
sunnybeetroot | 4 hours ago
vardalab | 4 hours ago
sunnybeetroot | 4 hours ago
[OP] kartik017 | 3 hours ago
betterwispr main goal is to have accuracy and best dx possible.
[OP] kartik017 | 4 hours ago
[OP] kartik017 | 3 hours ago
honkycat | 4 hours ago
Want a remote terminal into my Mac that I can voice control.
[OP] kartik017 | 4 hours ago
it's just a 14 mb file so no bloat as well.
jakobov | 4 hours ago
alexgoodhart | 4 hours ago
jakobov | 3 hours ago
GodelNumbering | 3 hours ago
Nice work, thanks for building it!
[OP] kartik017 | 3 hours ago
https://github.com/opennookorg/betterwispr
also do star it helps.
[OP] kartik017 | 3 hours ago
do star it on gh if you liked it!
starik36 | 2 hours ago
I thought the small model won't be any good, but it's actually great and barely causes the GPU any usage.
Like other people in this thread mentioned, I switched pretty much exclusively to working with voice. Whether it's responding to text or talking to Claude or writing an email.
https://imgur.com/YJyz05r
sajithdilshan | an hour ago
Mostly because I could use this only when I’m working from home, and even then after a few minutes I’ll get tired of speaking to myself and I actually type way faster than I speak.
handfuloflight | 39 minutes ago