The Model Catalogue put the same decision on two axes: an Engines pane with TTS/ASR/LLM tabs and a Models pane with TTS/ASR/Dictation/Diarisation sections, dictation shown in both, plus storage stats, the HF token and the voice-preview toggle parked on the model list. Settings → Voice still carried Engines and Models entries that only pointed back here. Now the page reads top-down: a SetupSummary (speech, transcription, dictation, language model — engine, device, one status word, Change), the engine list for one family, and that family's downloadable weights under it (TTS under TTS; offline ASR, streaming dictation and diarisation under ASR; nothing for LLM, whose engines bring their own). One storage line points at Settings → Storage. - ModelStoreTab takes a `family` and scopes sections and the recommendation preset to it (scopeReco); stats strip, HF-token toolbar and previews panel removed from it. - Settings: Engines/Models categories and CataloguePointer removed; models directory → Storage, HF mirror → Network (both restart-flagged), voice previews → Storage. "Manage models" in disk usage opens the catalogue. - Store: openCatalogue takes a family (pane key tolerated, ignored); pendingCatalogueTab gone. - Engine matrix title is now the locale's plain "Engines". - i18n: catalogue.* summary keys in all 21 locales; pane/pointer keys dropped. - Docs: "Model Catalogue → Engines" is "Model Catalogue"; "→ Models" is "→ Downloaded weights".
2.4 KiB
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.08–0.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, 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
enregardless of the actual (auto-detected) language.