FoxSay 2.2: dictation that types while you talk
I've been holding a key, talking, and waiting for FoxSay to catch up for months. 2.2 stops the waiting. There's a new speech model that transcribes while you're still speaking, and the words go into whatever you're typing in as they come out of your mouth, not after you let go.
Nemotron Streaming
Every model FoxSay shipped with until now works the same way: you talk, you release the key, and then the transcription runs. That's fast. Parakeet gets through 17 seconds of audio in under two tenths of a second. But nothing appears until you've finished talking.
Nemotron Streaming is different. It's NVIDIA's cache-aware streaming model, running on the Neural Engine through FluidAudio, and it decodes in half-second chunks as the audio arrives. Text shows up in the overlay about half a second behind your voice, and lands in your document at the same time. Letting go of the key finishes in about two hundredths of a second, because the work is already done.
Your prompts and dictionary still apply. When the AI pass rewrites what you said, FoxSay takes back only the words that actually changed and types the correction. Most of the time it changes nothing, because what's on screen is already right.
It's English, about 590 MB, and you'll find it in Speech Models next to Parakeet and Whisper. It is not the default and it never downloads on its own. Pick it if you like watching the words appear. Parakeet is still the better choice if you don't.
The overlay shows up when you press the key
This one bothered me more than it should have. The recording overlay used to wait for microphone permission, a model check and the whole audio engine to spin up before it drew anything. On a warm Mac that was about half a second. On a cold or Bluetooth microphone it was worse, and it made a fast app feel slow for no reason at all.
Now it's on screen in about a tenth of a second. The audio work still happens, it just happens behind a card that's already visible.
And recording starts three times faster
FoxSay used to build its entire audio capture chain from scratch on every single press: a new engine, format negotiation with the device, a new tap, a resize of the device's buffer. That's roughly 100ms of work you paid for on every dictation, plus the time to actually start the engine.
It now builds that once and keeps it. Pressing the key to actually capturing audio used to take 240ms to 340ms. It takes 76ms to 81ms now. The microphone is still released between dictations, so the orange recording dot in your menu bar behaves exactly as it did, and the whole thing is handed back after a minute of not dictating.
One more from the same family: pressing the hotkey during the model preload at launch used to wait for that preload to finish. FoxSay asked the speech model whether it was ready, and that question had to queue behind the model loading itself. On a cold start that was fifteen seconds of a keypress doing nothing. It asks a different way now.
2.2.0 is a free update, and FoxSay is still free and open source under Apache 2.0. It needs macOS 14 Sonoma or later on Apple silicon. Get it from the FoxSay page or with Homebrew: brew install --cask skulkworks/tap/foxsay. The source is on GitHub, and everything down to the small stuff is in the changelog.