Moonshine is an edge-optimized ASR family built for CPU-only machines. Unlike Whisper it processes variable-length audio (no padding everything to 30 s), which keeps latency low on short clips — sub-200 ms class on capture buffers. It's the lightest local option for quick transcription on hardware where even int8 whisper-large is too slow.
- Install one of the runtimes into the app venv:
uv pip install moonshine-onnx(lighter, tried first) ormoonshine-voice. - Then Model Catalogue → Engines, ASR tab → Use on the Moonshine row,
or
OMNIVOICE_ASR_BACKEND=moonshine.
Auto-detect never picks it; it's an explicit opt-in.
- Quick notes and short-clip transcription on low-power CPU machines.
- Environments where a sub-1 GB footprint matters more than word timing or language coverage.
- Dubbing. Output is plain text as a single segment spanning the whole file — no word or segment timestamps — so there's nothing for lip-sync or subtitle timing to work with. Use a Whisper-family engine or sherpa-onnx-asr for those jobs.
- Multilingual work: results report English; for broad language coverage use whisperx or funasr.
CPU only, by design — macOS, Windows, and Linux. It claims no GPU.
ASR_MODEL_MOONSHINE — default moonshine/base. Weights download on first
load — see downloading-models.
- The engine tries
moonshine_onnxfirst and falls back tomoonshine_voice— installing either one is enough. - Segment bounds are synthesized from the audio duration (start 0, end = file length), since the model reports none.