Parakeet is our recommended speech-recognition path. It runs entirely on your device via sherpa-onnx-node, so audio never leaves your computer and there is no per-minute cost.
What you get
- Local, private inference. PCM frames stay in the main process. No packets cross the network during transcription.
- Zero cloud latency. Partial hypotheses stream from the local recognizer as fast as the engine can produce them.
- English-only. The published sherpa-onnx Parakeet variants support English. Non-English sessions fall through to Deepgram.
- Free forever. No per-minute charge; the only cost is disk space for the weights.
Disk requirements
Choose one model depending on your hardware:
parakeet-tdt-0.6b-v2: recommended, approximately 2.5 GB on disk. Good accuracy, fast on Apple Silicon and modern x86.parakeet-tdt-0.6b-v3: best accuracy, slightly larger. Use this if you are transcribing technical or accented English and accuracy matters more than first-token latency.
First load of the ONNX weights takes around two to four seconds on Apple Silicon while the encoder is memory-mapped. The session is paused during this time; subsequent sessions are fast.
Install
- Open Mockingbird and go to Models → Speech recognition models.
- Find the model row (the recommended one is marked with a "recommended" chip) and click Download.
- The downloader streams weights from HuggingFace (
csukuangfj/sherpa-onnx-nemo-parakeet-tdt-*) with HTTP Range resume. If your connection drops mid-download, clicking Download again resumes from the last verified byte. - Each file is SHA-256 verified after download. A mismatch deletes the partial file and shows an error; you can retry safely.
- When install completes, the row shows an Active badge and disk usage is accounted against your
<userData>/asr-models/folder.
The Practice page readiness banner updates automatically: the primary CTA flips from "Set up speech engine" to a Start button.
Switching between models
If you have both v2 and v3 installed, click Set active on whichever row you want. The setting persists to Settings.parakeetActiveModelId and survives restarts.
To remove a model, click Delete. Files are unlinked and the row returns to the "Download" state. The active pointer is cleared if it was pointing at the deleted model, so the router will not 404 on the next session.
Dual-stream (system audio) with Parakeet
If you enabled Settings → General → System audio capture to also hear the other speaker, Mockingbird runs two Parakeet recognizer instances in the main process, one per speaker tag. Both stay local. There is no diarization model; speaker separation comes from the two independent audio sources (your mic and macOS Screen Recording), not from a neural speaker-ID pass.
Runtime errors
The PARAKEET_RUNTIME_UNAVAILABLE banner appears when the native sherpa-onnx binary cannot load, usually on platforms where we have not published a prebuilt binary (some Linux ARM variants). When this happens, the Models page surfaces the error at the top of the speech section and Online Mode remains available on Pro.
If install succeeds but sessions produce no partials, check Settings → General → Real microphone capture is on. The on-device engine receives PCM frames from the renderer's audio source; no mic enabled means no frames.
Verifying it is active
Start a real session. In the Practice readiness banner the backend should read parakeet-local with the message "On-device speech recognition active: audio never leaves your machine". If you see cloud-vathus instead, Online Mode is active. Open Settings → General and confirm Offline or BYOK Mode is selected.