Hey HN! I wanted to share this OSS project I've been working on.
It's called Yap and its a small menu-bar app for macOS that does voice to text for any input. You'll set a hotkey, press it, talk, press it again, and the text gets pasted into whatever field you were in. Everything runs locally and never leaves your computer. Fully OSS and MIT licensed.
With macOS 26, Apple recently added two new APIs, SpeechAnalyzer and SpeechTranscriber, that do streaming on-device speech to text using models the OS ships and manages. So the app ships no model of its own and loads nothing before the first word. A recent benchmark put Apple's model slightly ahead of Whisper Small on accuracy and about 3x faster (see: https://news.ycombinator.com/item?id=48894752). On Mac, there's really no need anymore to download models or pay for expensive APIs.
A lot of existing dictation tools do one of a few things I wanted to avoid with this OSS project. They either:
- cost money (for something that's literally built into the OS)
- bundle memory-intensive models (e.g. Whisper or Parakeet)
- webapps wrapped in Electron
- Intel macs straight up don't work
- closed source
- use third-party APIs that will have access to all your transcripts
It's around 3,000 lines of native Swift in a 4 MB app and idles near 60 MB of memory. Audio comes off AVAudioEngine into SpeechAnalyzer with volatile results turned on for the live preview, history is stored in SwiftData. There's no network code in it at all.
Repo and a demo available here: https://github.com/FrigadeHQ/yap
Happy to answer questions and would love to hear any feature requests!
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!
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 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.
On-device speech recognition on macOS is such a game changer for privacy and speed. Excited to test this out!
This is super cool! The brew install path in the readme doesn't seem to work
remote: Repository not found. fatal: repository 'https://github.com/frigadehq/homebrew-tap/' not found
link to the benchmark against parakeet TDT v2 (the one im using now with spokenly) : https://get-inscribe.com/blog/parakeet-moss-apple-speech-ben...
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
[dead]
[flagged]
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.