Earlybird - 29M-param speech-to-text that outputs words before they end
by•
Earlybird is a 29M-parameter, 17 MB on-device speech-to-text model that predicts each word correctly about 90 ms before the speaker finishes it, with a confidence on every word. Built for voice agents that need to act sooner. Open weights and code.


Replies
Hey Product Hunt! I'm Sahil.
I've been building voice agents and kept running into the same delay: speech-to-text waits for each word to end before it shows it, so the agent can't start working until then. Earlybird outputs words before the speaker finishes speaking them. On audiobook speech the median word is predicted correctly 90 ms before it's fully spoken, where other streaming models get it right 90 to 400 ms after. The model is 17 MB and runs on a CPU.
Getting the word before it's finished is a neat trick. Does it work for languages other than English yet?
@onat_atmaca Not yet, but I'm hoping to add support for other languages soon!
Predicting the word 90 ms early is a clever trade — in a voice agent, that 90 ms is often the difference between feeling instant and feeling laggy. What I like most is the confidence on every word: that gives the agent something real to decide on, act now on the high-confidence words and wait on the uncertain ones. At 17 MB on-device with open weights, this is small enough to actually ship inside an app. Curious how it holds up on noisy, real-world audio versus clean recordings.
@jcbuilds Thanks! Yeah that's exactly what I had in mind for the confidence scores, allowing agents to act on high-confidence words and hold off on low-confidence ones. On noisy audio, the quality does slightly dip compared to clean recordings, which is one of the areas I want to improve next.