GGUF + pure-C++ runtime in CrispASR — Moonshine
We've added Moonshine to CrispASR as the moonshine backend. C++ binary, GGUF — no Python.
The runtime lives in src/moonshine.cpp + moonshine-impl.h + moonshine-tokenizer.cpp (we vendored the implementation pattern from your repo and adapted it to ggml). Auto-detected from GGUF metadata — same backend handles tiny (288d, 6L enc / 6L dec, partial RoPE, SiLU) and base (416d, 8L enc / 8L dec).
Multilingual variants are wired too: tiny + base for ja, ko, zh, ar, vi, uk all ship as GGUF (we did the conversions when we pulled the family in).
Companion-file mechanism gets the tokenizer.bin alongside the model GGUF on auto-download.
Pre-quantised GGUFs (MIT): cstr/moonshine-tiny-GGUF plus base and the language variants cstr/moonshine-{tiny,base}-{ja,ko,zh,ar,vi,uk}-GGUF.
git clone https://github.com/CrispStrobe/CrispASR && cd CrispASR
cmake -S . -B build && cmake --build build -j8
./build/bin/crispasr --backend moonshine -m moonshine-tiny-q4_k.gguf -f audio.wav -osrt
Streaming variants live at cstr/moonshine-streaming-{tiny,small,medium}-GGUF (separate moonshine-streaming backend with the sliding-window encoder).