Nemotron Speech Skills
Note: "Nemotron Speech" is the public-facing name for what NVIDIA documents today as Riva / Riva NIM. All commands, container images, gRPC APIs, Python imports, and documentation URLs still use "Riva" — the rename is brand-only. Do not rename commands, images, or doc URLs.
Agent: When walking the user through a multi-step workflow, announce each step before presenting it: Step N/M — Step Title (e.g., "Step 1/4 — Deploy the Container").
Purpose
Single entry point for all NVIDIA Nemotron Speech (Riva) NIM workflows: ASR (speech-to-text), TTS (text-to-speech), and NMT (translation). Covers cloud-hosted inference via build.nvidia.com, self-hosted Docker deployment, client-protocol choice for ASR (gRPC, HTTP, WebSocket), custom NeMo model deployment via
, ASR pipeline tuning (VAD, diarization, language models), and the prerequisite Docker / NGC / driver setup.
When to Use This Skill
Use this skill for any Nemotron Speech / Riva NIM task — deployment, testing, custom model build, system requirements check, or model selection across ASR / TTS / NMT modalities.
Workflow
Identify the user's task type, then load the corresponding reference file from
. The reference files contain the detailed per-workflow content; this SKILL.md is a routing surface. Load only the reference relevant to the task at hand.
Prerequisites
- For self-hosted deployment: NVIDIA AI Enterprise (NVAIE) entitlement, then complete the environment setup — NVIDIA drivers, Docker, Container Toolkit, NGC API key, Riva Python client. See .
- For cloud-hosted inference:
pip install -U nvidia-riva-client
and a valid from https://build.nvidia.com.
- Treat and as secrets: never print, paste, commit, or log real key values. Prefer for Docker login and store persistent keys in a credential manager or a env file rather than world-readable shell startup files.
- For self-hosted Docker model caching: host directories mounted at must be writable by the container user (the NIM container runs as internally), not just the host user. Run
sudo chown 1000:1000 $LOCAL_NIM_CACHE
after creating the directory so the container can write to it. Avoid world-writable modes — they let any local user replace cached model artifacts. Also avoid on the docker run — inside the container isn't writable to arbitrary UIDs. If you see I/O error Permission denied (os error 13)
during model download, the host directory ownership is the issue.
Instructions
- Match the user's task to one reference file and load only that file; the references are detailed, so progressive disclosure keeps context tight.
- Route setup requests for drivers, Docker, Container Toolkit, and NGC to .
- Route GPU compatibility, deployment readiness, and container health checks to
references/deployment-readiness-checks.md
.
- Route model choice across ASR, TTS, and NMT to
references/model-selection.md
.
- Route ASR deployment or inference for Parakeet, Canary, Whisper, and Nemotron ASR Streaming to .
- Route custom-trained NeMo ASR deployment ( → RMIR → NIM) to .
- Route ASR pipeline configuration for VAD, diarization, language models, and chunk size to .
- Route TTS deployment or inference for Magpie to .
- Route NMT deployment or inference for Riva Translate, language pairs, and DNT tags to .
Source of truth
For per-release detail — current model catalog, container IDs, function IDs, voice lists, VRAM minimums, per-model feature support — fetch or open the canonical NVIDIA doc rather than relying on text in this SKILL.md or the references. Each reference file includes its own routing table to the relevant doc pages.
Top-level landing pages:
Examples
"Deploy a Parakeet ASR NIM" → load
, follow Option B (self-hosted), Steps 1–4.
"Synthesize speech with Magpie" → load
, follow Option A (cloud) or Option B (self-hosted).
"Translate English to German" → load
, follow the 4-step flow.
"Convert my fine-tuned to a NIM" → load
for the 4-phase pipeline and
for build-time config.
"Can my GPU run this?" → load
references/deployment-readiness-checks.md
and run the 6-step system check.
"Which Riva model should I use?" → load
references/model-selection.md
, apply the decision framework, then fetch the support matrix for the specific current model name.
Naming & Terminology
- Skill brand: Nemotron Speech (public-facing name).
- Internal naming preserved: commands (, ,
riva_streaming_asr_client
), Python client (), gRPC namespace (), container registry (), and all NVIDIA documentation URLs still use "Riva". Do not rename these in code, commands, or docs.
Troubleshooting
For task-specific runtime or modality issues, use the relevant reference file (
). Cross-cutting readiness checks:
- Container does not become ready →
references/deployment-readiness-checks.md
(system check + health check table)
- Health check fails →
references/deployment-readiness-checks.md
- from returns 403 → (Step 5 — Docker login)
- Wrong base image / model architecture mismatch → (Phase 2 base image)
- VRAM / GPU compatibility →
references/deployment-readiness-checks.md
, then verify on the support matrix
Limitations
- x86_64 architecture only — WSL2 on Windows requires Podman and supports a subset of NIMs (see )
- Self-hosted deployment requires an NVIDIA AI Enterprise license
- Cloud-hosted inference requires an active and internet access
- Public skill branding is "Nemotron Speech"; commands, container images, Python imports (), gRPC services (), and NVIDIA documentation URLs still use "Riva" — follow official docs and catalogs for naming, do not rename these in commands or code
Next Steps
- Verify hardware compatibility:
references/deployment-readiness-checks.md
- Set up the environment:
- Pick a model:
references/model-selection.md
- Deploy: , , or