Files
VoiceStudio/docs/engines/nemo-parakeet.md
Palash Debnath 7718a7a10b fix: cross-platform dictation delivery (#1610)
Makes dictation delivery, capture, recovery, model fallback, AEC, and localized status behavior reliable across macOS, Windows, and Linux.
2026-08-21 03:33:50 +00:00

2.4 KiB
Raw Permalink Blame History

VoiceStudio — Parakeet TDT (NVIDIA NeMo) Engine

NVIDIA's Parakeet TDT via the NeMo toolkit: a FastConformer encoder with a Token-and-Duration Transducer decoder. It beats Whisper large-v3 on English benchmarks (~6% WER) and supports 25 (mostly European) languages with automatic language detection. The 0.6B model is fast even on CPU — measured RTF 0.080.23 on an Apple Silicon M2 CPU (2026-07-02), ~20x faster than faster-whisper large-v3 int8 on the same host.

Do not install NeMo into the app venv

nemo_toolkit's ASR extras pin transformers>=4.57,<4.58, which conflicts with VoiceStudio's own transformers>=5.3 requirement and will break the backend (ImportError on startup) if installed into the shared venv. There is currently no safe in-app install path for this engine; in-app isolation is tracked separately.

If you want the Parakeet models without a separate environment, use these instead — same model family, no NeMo dependency:

  • Apple Silicon: parakeet-mlx (installed by default on mac-ARM source installs).
  • Any platform, CPU: sherpa-onnx-asr — selectable int8 ONNX exports of Parakeet TDT v2/v3; Whisper Tiny remains the cross-platform dictation default.

Selecting it

Only meaningful if you've set up nemo_toolkit[asr] in a separate, dedicated Python environment that runs the backend:

  • Model Catalogue → Engines, ASR tab → Use on the Parakeet TDT row, or
  • OMNIVOICE_ASR_BACKEND=nemo-parakeet.

Auto-detect never picks it; it's an explicit opt-in.

Best at

  • English and European-language transcription where WER matters more than word-level subtitle timing.
  • CPU-only hosts — faster than realtime without any GPU.

Platform support

CUDA or CPU (the old hard CUDA gate was removed — see the RTF numbers above). Availability is a pure dependency check on nemo.collections.asr.

Model selection

ASR_MODEL_NEMO — default nvidia/parakeet-tdt-0.6b-v3. Weights download on first load — see downloading-models.

Quirks

  • Output is a single segment for the whole file (NeMo doesn't VAD-split like Whisper), with word timestamps when the model exposes them — fine for dictation and plain transcripts, not ideal for long-form subtitles.
  • The detected language isn't exposed cleanly by NeMo, so results report en regardless of the actual (auto-detected) language.