Earlybird-29M
sahilmahendrakar/Earlybird-29M
- 作者
- sahilmahendrakar
- 任务
- 语音识别
- 下载量
- 33
- 点赞数
- 10
- 趋势分
- 10
- 许可证
- mit
- 收录时间
- 2026/11/12
license: mit language:
- en library_name: transformers pipeline_tag: automatic-speech-recognition base_model: moonshine-ai/moonshine-streaming-tiny tags:
- speech-recognition
- streaming
- on-device
- low-latency
- 4-bit
Earlybird
Earlybird is a 16.8 MB on-device speech-to-text model that predicts each word before the speaker finishes saying it, along with a confidence score. On audiobook speech, a typical word is predicted correctly 90 ms before it ends. Released streaming models predict it correctly 90–400 ms after.
- Write-up: https://sahilmahendrakar.com/writings/earlybird
- Code: https://github.com/sahilmahendrakar/earlybird
- Demo: https://huggingface.co/spaces/sahilmahendrakar/earlybird
- Paper: arXiv:2611.14421
Why earlier words matter
Streaming speech recognizers output a word only after the speaker has finished it, typically 90–400 ms later. For a voice agent, that delay is time it could have spent starting a search, fetching a record, or planning a reply while the speaker is still talking.
How it works
Earlybird is fine-tuned from Moonshine Tiny. It learns from audio cut off at random points, including partway through a word, and is asked to write every word heard so far, with the half-heard word in full, plus a guess of the next two words. Its raw token probabilities give a confidence for every word, including the one still being spoken.
I cut Moonshine Tiny's vocabulary to the 19,007 tokens that English speech uses, which brings it to 29M parameters with almost no loss in accuracy, and quantized it to 4 bits.
Results
I compare Earlybird with three released models on the same audio: Moonshine Tiny, Whistle and Whisper base. Each recording was streamed into each model 80 ms at a time, as if it were live. A word's latency is the first moment it is on screen, spelled correctly and in the right location, measured from when the speaker finishes it. A negative number means the model outputted the word before the speaker finished saying it.
| Test set | Earlybird | Moonshine Tiny | Whistle | Whisper base |
|---|---|---|---|---|
| Audiobooks | −90 ms · 2.3% | +270 ms · 3.9% | +400 ms · 3.1% | +90 ms · 2.3% |
| Harder audiobooks | −60 ms · 9.7% | +300 ms · 13.2% | +460 ms · 10.1% | +140 ms · 8.7% |
| TED talks | −68 ms · 5.4% | +298 ms · 6.8% | +505 ms · 7.3% | +125 ms · 4.8% |
| Public speech | −66 ms · 14.5% | +290 ms · 16.7% | +477 ms · 14.2% | +127 ms · 10.5% |
| Earnings calls | −46 ms · 18.4% | +309 ms · 21.6% | +535 ms · 17.8% | +142 ms · 13.3% |
| Synthetic speech | −73 ms · 5.6% | +292 ms · 7.0% | +424 ms · 7.5% | +90 ms · 4.8% |
Each cell: median word latency · word error rate.
Share of words predicted correctly before they end.
On the 8 English test sets of the Hugging Face Open ASR Leaderboard, Earlybird makes fewer errors than Moonshine Tiny on all 8 and roughly ties Whistle. Whisper base is more accurate, at about 9 times the size.
| Model | Size | Mean word error rate, 8 Open ASR sets |
|---|---|---|
| Whisper base | ~145 MB | 9.7% |
| Whistle | 16.9 MB | 12.2% |
| Earlybird | 16.8 MB | 12.6% |
| Moonshine Tiny | 45 MB | 14.4% |
Earlybird is the only model under 1 GB that predicts the median word correctly before it ends. Its accuracy is in line with the other models under 100 MB: close to Whistle and Whisper tiny, and ahead of Moonshine Tiny.
Confidence
Earlybird gives every word it shows a confidence, which measures the probability that the word is right. This is the model's raw output, with no extra calibration step, and it matches how often the model is right: when Earlybird is at least 90% confident in a word it hasn't heard the end of, it is right 91–96% of the time.
Usage
The weights use a custom 4-bit format, so they load through earlybird.py, which ships in this repo and in the GitHub repo:
pip install torch "transformers>=5" soundfile huggingface_hub
hf download sahilmahendrakar/Earlybird-29M earlybird.py --local-dir .
from earlybird import Earlybird
eb = Earlybird.from_pretrained("sahilmahendrakar/Earlybird-29M")
print(eb.transcribe("speech.wav"))
# Live: feed 16 kHz mono float32 audio in chunks of any size
stream = eb.stream()
for chunk in mic_chunks:
for u in stream.feed(chunk): # one update per 80 ms of audio
print(u.text, u.words, u.guess) # words/guess: [(word, confidence), ...]
print(stream.finish().text)
Or from the command line: python earlybird.py speech.wav (add --live to play it at real-time speed).
Audio is 16 kHz mono, fed in 80 ms steps. It runs about twice as fast as real time on one CPU thread.
Limits
- Accuracy. Whisper base, 2.5 times larger, makes fewer errors on every test set except audiobooks, where they tie. The gap is widest with background chatter: at 10 dB, Earlybird gets 32% of words wrong and Whisper base 8.9%.
- Rewrites. Showing words early means changing them more often: 1.3 changes per word on audiobooks, and 2–6 on spontaneous or noisy speech.
- Next-word guesses help less. At 50% confidence or more, about 1 word in 7 is guessed correctly before it ends. Most early words come from the transcript itself.
- English only.
Training data
About 1,000 hours of public English speech (LibriSpeech, People's Speech), plus about 25 hours of synthetic speech.
License and credit
MIT. Earlybird is fine-tuned from Moonshine Tiny (Moonshine, by Moonshine AI), released under the MIT license:
MIT License
Copyright (c) 2025 Useful Sensors, Inc. (dba Moonshine AI)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Citation
@misc{mahendrakar2026earlybird,
title = {Earlybird: Predictive Streaming Speech Recognition in 29M Parameters},
author = {Mahendrakar, Sahil},
year = {2026},
eprint = {2611.14421},
archivePrefix = {arXiv},
primaryClass = {cs.SD},
url = {https://arxiv.org/abs/2611.14421}
}
内容来源:Hugging Face 模型卡
在 Hugging Face 查看