GitHub Repos intermediate 3 min read Jul 18, 2026 · Updated Jul 26, 2026
Public Preview Sign in free for the full digest →

Moonshine: On-Device Speech-to-Text and TTS That Runs Offline

“A full speech-to-text and text-to-speech pipeline that fits in 470KB of RAM and runs on a microcontroller that costs 80 cents.”

Moonshine: On-Device Speech-to-Text and TTS That Runs Offline
2 Views
0 Likes
0 Bookmarks
Source · github.com

“'We've been working on this for the last 18 months, and have been dogfooding it in our own products, and I can't wait to see what you all build with it.' — Pete Warden, Moonshine AI (petewarden.com, 2026-02-13)”

You know that feeling when adding voice to an app means shipping audio to a cloud API, paying per minute, and waiting on a round trip before a single word comes back? Running speech recognition locally usually means Whisper, which processes every clip as a fixed 30-second chunk and can take ~11 seconds for a 10-second file on a laptop. On a phone, a Raspberry Pi, or a microcontroller, that's too slow and too heavy to feel live. And cloud STT ties you to network access, per-minute billing, and sending user audio off-device.

speech-to-texttext-to-speechon-deviceedge-aivoiceopen-sourcecpp

Think of Whisper as always reading exactly 30 seconds of audio at a time, even for a two-second command — it pays for the full page whether you wrote one line or thirty. Moonshine instead trains on audio clips of any length without padding them out, so the compute it spends scales with how much you actually said. It uses an encoder-decoder transformer with Rotary Position Embedding (a way of tracking word order) and caches results as it streams, so words can appear while you're still talking. The paper reports this cuts compute for a 10-second clip by about 5x versus Whisper tiny-en with no drop in accuracy. For microcontrollers, the 'micro' build runs voice-activity detection, speech-to-text, and text-to-speech one after another, sharing a single ~384KB memory arena.

01
Streaming transcription — words show up while you're still talking, so a voice interface feels responsive instead of making you wait for a pause.
02
Compute scales with clip length — a two-second command doesn't cost the same as 30 seconds, cutting a 10-second clip's compute ~5x versus Whisper tiny-en (per the paper).
03
Runs fully on-device with no API keys or cloud — your audio never leaves the device and there's no per-minute bill.
04
245M-param Medium model at 6.65% WER — slightly better accuracy than Whisper Large v3 (7.44%) at a sixth of the parameters, so you get quality without GPU-class weights.
05
Micro build in ~470KB RAM — small enough to run speech-to-text and TTS on an 80-cent RP2350 microcontroller, opening up wearables and IoT.
06
One toolkit for the whole pipeline — STT, TTS, intent recognition, speaker ID (diarization), and voice cloning, instead of stitching separate libraries.
07
Broad platform coverage — Python, iOS, Android, macOS, Linux, Windows, and Raspberry Pi, with a C++ core and Python/Swift/JS bindings.
Who it’s for

If you're building a voice interface for a phone, wearable, or embedded device and you need low latency without shipping audio to the cloud, Moonshine is aimed squarely at you — especially if privacy or offline operation is a hard requirement. It's also a fit if you're prototyping voice agents and want STT, TTS, and intent recognition from one library. It's not the right pick if you need the absolute top English accuracy and have a GPU to spare (Parakeet scores lower WER there), or if you need non-English STT to be as mature as English — the non-Latin models are smaller and need manual tuning...

Worth exploring

Worth a serious look if your constraint is on-device latency and footprint rather than top-of-leaderboard accuracy. The project ships releases actively (v0.0.69 on 2026-07-16), is backed by a funded team (Wing VC and IQT), and is already integrated by third parties like RealtimeSTT, but the pre-1.0 versioning and a 'still new' TTS grapheme-to-phoneme engine signal it's maturing rather than settled. Treat English STT as the strong path and validate non-English and TTS quality yourself before committing.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →