I don't think get it unless I'm missing something - how is this different from just using the built in Mac OS dictation feature?
At first I thought it was going to be a CLI/package to interface with that API which sounded interesting, but I already use a hotkey to dictate text on my Mac via the OS.
I don't think you're missing something - Apple's built in dictation is pretty good. The biggest issue is that it still executes parts of it online via Apple's servers and even has a disclosure that it "sends information like your voice input, contacts, and location to Apple."
This project uses the on-device SpeechAnalyzer API directly and makes zero network calls, and since it's open source you can verify that nothing leaves your Mac. It also keeps a local searchable history. Finally, I also added press-to-stop with a preview so you can cancel a bad take before it inserts, instead of typing live (very useful in terminal).
Ahh that makes sense, I was under the impression that OS dictation used exclusively on device models for dictation now but you're right - they do still send this data for transcription.
That definitely changes my take and I'm interested in trying this!
My initial assumption was that this was something I could invoke via CLI or within scripts to transcribe audio from files or user input using on-device models, which is something I would presently probably use Whisper for.
Does the new SpeechAnalyzer API not call Apple Servers? I remember when I was building on the last version, it you wanted real time transcription you needed at least to upload it to Apple Servers for processing.
Thanks for linking! I've used both Apple's and Parakeet locally for a while and haven't been able to spot the difference in quality and speed is better on Apple's model (+ doesn't take several gigs of memory). Have you noticed any quality differences anecdotally?
I thought I was familiar with this project but I think it’s unrelated to this one I remembered from last year? Same name and also more or less an app layer for the new speech to text APIs introduced in OS 26.
Amazing! This is something I wanted to look into too.
The Apple Foundation models SDKs are surprisingly cool. I recently started working on a personal productivity app that tries to keep track of all the projects I work on, and the ideas and initiatives within these. It does so by creating a graph of events, fed by Claude transcripts and the git and browser history, then letting FM summarize and describe all events; that in turn feeds a semantic search index in an SQLite database.
What I have now is an app that shows me where all my projects stand, what I last worked on, where I left forks behind (like deciding for one idea and doing something else "later"), and how to get back into something I wasn’t working on for a while. It also has a built-in MCP server, so I can ask Claude code about any past event or decision or roughly-similar keyword, and it’ll get sensible answers back!
Called the thing Pensieve :-)
However, one thing still missing is actually being able to ask it directly, or talk to it, so Yap looks like a great opportunity to learn!
Great, just experimenting to see which is better voice apps to use for my Claude Code cli, on my Mac. for now settled with /voice command. will try Yap. It will be good to have an option to add custom voice commands, let say I want to open an app, or go to folder, that can be plugged, apart from transcription. Not sure if that is deviation, for Yap, love to have that kind of feature.
Incidentally, I've been testing a lot of dictation apps and models. I am on macOS Sequoia and intend to skip Tahoe altogether, so newer Apple models were not an option. I also dictate in multiple languages.
I mostly use the MacWhisper app until now, but I got frustrated by its slow development and lack of focus and dictation. So I tried the free TypeWhisper app. It works very well, but then I tested multiple models and my conclusion was that one cannot beat the Whisper Large v3 model for accuracy. I tried Qwen ASR (very good, but only for English), Voxtral (spoke Polish to it and it wrote Russian, BIG oopsie), Parakeet TDT 3 (very fast, but sometimes inaccurate).
I got frustrated by the speed of the Whisper Large model. So I spent an hour with AI benchmarking, testing and developing a new plugin. Turns out that on a modern Mac with a good GPU you can run the Whisper Large model at roughly the same speed as the tiny Parakeet model. 2-3x faster than what other apps ship. It's just that nobody bothered.
So, I am now happily dictating into TypeWhisper and then feeding the dictated text into a local gemma-4-26b-a4b-qat LLM for corrections. Everything happens instantly.
Thank you for testing TypeWhisper and the different models so thoroughly, and for sharing the results. Comparing several engines across multiple languages is already valuable; going one step further and building a faster Whisper Large v3 plugin is a real contribution.
This is exactly why I made TypeWhisper’s engine and plugin layer extensible. The best setup depends heavily on language, hardware, and workload. Your result that Large v3 can run close to Parakeet speeds on a modern Mac is especially interesting, as is your fully local Whisper plus Gemma correction workflow.
If you’re comfortable sharing the plugin or benchmark setup, I’d be very interested in taking a closer look and seeing whether it could benefit more users. Either way, thank you for putting so much time into this and contributing your findings back to the project.
Honestly I'd ditch the Dock icon and keep the menubar item. For a utility with no other UI to use, that's the way to go, and similar apps do the same.
W.r.t. the history — I'm just saying I don't want my input to be logged at all. It has no utility. It can be discarded as soon as it's pasted. I don't want to maintain a log by pressing Clear every now and then.
Seems nice! I have been using Handy https://handy.computer/ for a while and I am happy with it (using Parakeet), this seems quite similar in terms of features, except that is uses Apple's APIs.
Big fan of Handy as well. I often mix languages (german/english) and Apple onboard dictation is not working well in these cases. Having the ability to switch models so far has proven to be helpful. I guess Handy should implement the new native Apple APIs though.
Strangely, on my macOS 27 Beta build 26A5388g, nothing happens after I finish speaking. No input is transcribed or pasted and nothing is shown in the history.
I do see the input being listed to — there's an audio graph animated as I speak (~US English), though it appears to be late in picking up my speech. Only my second "test?" is represented in the graph as it moves leftwards.
I went through all the permissions, they show as checked.
I also had a crash once, I've submitted the crash report.
Apple's built in dictation still executes parts of it online and even has a disclosure that it "sends information like your voice input, contacts, and location to Apple."
This project uses the on-device SpeechAnalyzer API directly and makes zero network calls, and since it's open source you can verify that nothing leaves your Mac.
built a small voice notes thing for myself last week and the surprise was that transcription accuracy wasn't the hard part. it's that i almost never want the raw transcript, i want the cleaned up version of it. keeping that out of scope is probably the right call for a dictation tool though.
__erik | 17 hours ago
remote: Repository not found. fatal: repository 'https://github.com/frigadehq/homebrew-tap/' not found
[OP] pancomplex | 17 hours ago
heresalexandria | 17 hours ago
At first I thought it was going to be a CLI/package to interface with that API which sounded interesting, but I already use a hotkey to dictate text on my Mac via the OS.
[OP] pancomplex | 17 hours ago
This project uses the on-device SpeechAnalyzer API directly and makes zero network calls, and since it's open source you can verify that nothing leaves your Mac. It also keeps a local searchable history. Finally, I also added press-to-stop with a preview so you can cancel a bad take before it inserts, instead of typing live (very useful in terminal).
What type of package were you hoping it was?
heresalexandria | 16 hours ago
That definitely changes my take and I'm interested in trying this!
My initial assumption was that this was something I could invoke via CLI or within scripts to transcribe audio from files or user input using on-device models, which is something I would presently probably use Whisper for.
[OP] pancomplex | 16 hours ago
HaloZero | 16 hours ago
[OP] pancomplex | 14 hours ago
1) install the dmg in the GH repo
2) turn off wifi
3) use it offline
echoangle | 9 hours ago
earthpyy | 13 hours ago
eric_khun | 17 hours ago
NVIDIA Parakeet TDT v2 still best, but look like apple is not far behind.
i'd be happy to switch to yours if you add parakeet support, but that ight defy the purpose of the repo
[OP] pancomplex | 17 hours ago
hbn | 15 hours ago
https://github.com/finnvoor/yap
[OP] pancomplex | 14 hours ago
9dev | 14 hours ago
The Apple Foundation models SDKs are surprisingly cool. I recently started working on a personal productivity app that tries to keep track of all the projects I work on, and the ideas and initiatives within these. It does so by creating a graph of events, fed by Claude transcripts and the git and browser history, then letting FM summarize and describe all events; that in turn feeds a semantic search index in an SQLite database.
What I have now is an app that shows me where all my projects stand, what I last worked on, where I left forks behind (like deciding for one idea and doing something else "later"), and how to get back into something I wasn’t working on for a while. It also has a built-in MCP server, so I can ask Claude code about any past event or decision or roughly-similar keyword, and it’ll get sensible answers back!
Called the thing Pensieve :-)
However, one thing still missing is actually being able to ask it directly, or talk to it, so Yap looks like a great opportunity to learn!
theturtletalks | 8 hours ago
echoscarrie | 14 hours ago
[OP] pancomplex | 13 hours ago
prabhanjana_c | 12 hours ago
prabhanjana_c | 12 hours ago
jwr | 12 hours ago
I mostly use the MacWhisper app until now, but I got frustrated by its slow development and lack of focus and dictation. So I tried the free TypeWhisper app. It works very well, but then I tested multiple models and my conclusion was that one cannot beat the Whisper Large v3 model for accuracy. I tried Qwen ASR (very good, but only for English), Voxtral (spoke Polish to it and it wrote Russian, BIG oopsie), Parakeet TDT 3 (very fast, but sometimes inaccurate).
I got frustrated by the speed of the Whisper Large model. So I spent an hour with AI benchmarking, testing and developing a new plugin. Turns out that on a modern Mac with a good GPU you can run the Whisper Large model at roughly the same speed as the tiny Parakeet model. 2-3x faster than what other apps ship. It's just that nobody bothered.
So, I am now happily dictating into TypeWhisper and then feeding the dictated text into a local gemma-4-26b-a4b-qat LLM for corrections. Everything happens instantly.
SeoFood | 4 hours ago
This is exactly why I made TypeWhisper’s engine and plugin layer extensible. The best setup depends heavily on language, hardware, and workload. Your result that Large v3 can run close to Parakeet speeds on a modern Mac is especially interesting, as is your fully local Whisper plus Gemma correction workflow.
If you’re comfortable sharing the plugin or benchmark setup, I’d be very interested in taking a closer look and seeing whether it could benefit more users. Either way, thank you for putting so much time into this and contributing your findings back to the project.
jorisw | 12 hours ago
- Remove the presence of the Dock icon. Yap is the kind of app you just want as a menu bar utility. Like Whisper.
- Add a "Settings..." menu item to the main Yap menu with `Command-,` as a shortcut. This will align it with other apps.
- I couldn't enter F13 as a shortcut.
- I saw there's a transcript history of input. I kind of don't want that to be there. I believe input should be ephemeral and not logged.
[OP] pancomplex | 12 hours ago
And interesting re: history - it does have the option to clear, but you’d want that as a setting?
Trying to keep the amount of settings to a minimum - personally finding it overwhelming when apps have too many bells and whistles lol
jorisw | 11 hours ago
W.r.t. the history — I'm just saying I don't want my input to be logged at all. It has no utility. It can be discarded as soon as it's pasted. I don't want to maintain a log by pressing Clear every now and then.
d3k | 11 hours ago
perelin | 7 hours ago
jorisw | 11 hours ago
I do see the input being listed to — there's an audio graph animated as I speak (~US English), though it appears to be late in picking up my speech. Only my second "test?" is represented in the graph as it moves leftwards.
I went through all the permissions, they show as checked.
I also had a crash once, I've submitted the crash report.
Using the DMG from GitHub.
[OP] pancomplex | 6 hours ago
jorisw | 3 hours ago
primaprashant | 10 hours ago
https://github.com/primaprashant/awesome-voice-typing
Ducki | 10 hours ago
[OP] pancomplex | 6 hours ago
This project uses the on-device SpeechAnalyzer API directly and makes zero network calls, and since it's open source you can verify that nothing leaves your Mac.
solos | 7 hours ago
xjlin0 | 5 hours ago
outoftheweed | 2 hours ago
[OP] pancomplex | 2 hours ago