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.

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 setEarlybirdMoonshine TinyWhistleWhisper 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.

Words predicted correctly before they end 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.

ModelSizeMean word error rate, 8 Open ASR sets
Whisper base~145 MB9.7%
Whistle16.9 MB12.2%
Earlybird16.8 MB12.6%
Moonshine Tiny45 MB14.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.

Word latency against accuracy

Size against accuracy

Size against word latency

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 查看