NGC | Catalog
CatalogResourcesRiva Skills Quick Start

Riva Skills Quick Start

Logo for Riva Skills Quick Start
Description
Scripts and utilities for getting started with Riva Speech Skills
Publisher
NVIDIA
Latest Version
2.15.0
Modified
March 23, 2024
Compressed Size
143.65 KB

Quick Start Guide for Data Center Platforms

NVIDIA Riva supports two architectures, Linux x86_64 and Linux ARM64. These are referred to as data center (x86_64) and embedded (ARM64). These instructions are applicable to data center users.

For more information and questions, visit the NVIDIA Riva Developer Forum.

Prerequisites

Before using Riva Speech AI, ensure you meet the following prerequisites:

  1. You have access and are logged into NVIDIA NGC. For step-by-step instructions, refer to the NGC Getting Started Guide.

  2. You have access to an NVIDIA Volta, NVIDIA Turing, or an NVIDIA Ampere architecture-based A100 GPU. For more information, refer to the Support Matrix.

  3. You have Docker installed with support for NVIDIA GPUs. For more information, refer to the Support Matrix.

Models Available for Deployment

There are two push-button deployment options to deploy Riva Speech AI, which use pretrained models available from the NGC catalog:

Local Docker: You can use the Quick Start scripts to set up a local workstation and deploy the Riva services using Docker. Continue with this guide to use the Quick Start scripts.

Kubernetes: The Riva Helm Chart is designed to automate the steps for push-button deployment to a Kubernetes cluster. For more information, refer to Kubernetes deployment.

In addition to using pretrained models, Riva Speech AI can run with fine-tune custom models using NVIDIA NeMo. Refer to the {ref}nemo-development section for details regarding the advanced option to create a model repository with NVIDIA NeMo.

Getting Started with Riva for Data Center Platforms

Riva includes Quick Start scripts to help you get started with Riva Speech AI Skills. These scripts are meant for deploying the services locally, for testing, and running the example applications.

  1. Download the Riva Quick Start scripts. You can either use the command-line interface or you can download the scripts directly from your browser. Click the Download drop-down button in the upper right corner and select:

    • CLI - the download command is copied. Ensure you have the NGC CLI tool installed. Once installed, open the command prompt and paste the copied command to start your download.

    • Browser (Direct Download) - the download begins in a location of your choosing.

  2. Initialize and start Riva. The initialization step downloads and prepares Docker images and models. The start script launches the server.

    :::{note} This process can take up to an hour on an average internet connection. On the data center, each model is individually optimized for the target GPU after download. :::

    Optional: Modify the config.sh file within the quickstart directory with your preferred configuration. Options include:

    • which services to enable
    • which models to retrieve from NGC
    • where to store them
    • which GPU to use if more than one is installed on your system (refer to Local (Docker) for more details)
    • locations of the SSL/TLS certificate
    • key files if using a secure connection

    :::{note} For using the Riva translation services, refer to the Configure translation services instructions in the config.sh file within the quickstart directory. :::

    Data center

    cd riva_quickstart_v2.12.0
    

    :::{note} If you are using a vGPU environment, set the parameter for enabling unified memory pciPassthru<vgpu-id>.cfg.enable_uvm to 1, where <vgpu-id> should be replaced by the vGPU-id assigned to a VM. For example, to enable unified memory for two vGPUs that are assigned to a VM, set pciPassthru0.cfg.enable_uvm and pciPassthru1.cfg.enable_uvm to 1. For more information, refer to the NVIDIA Virtual GPU Software User Guide. :::

    Initialize and start Riva

    bash riva_init.sh
    bash riva_start.sh
    
  3. Try walking through the different tutorials on GitHub. If running the Riva Quick Start scripts on a cloud service provider (such as AWS or GCP), ensure that your compute instance has an externally visible IP address. To run the tutorials, connect a browser window to the correct port (8888 by default) of that external IP address.

  4. Shut down the server when finished. After you've completed these steps and experimented with inferencing, run the riva_stop.sh script to stop the server.

For more information on how to customize a local deployment, refer to the Local (Docker) section.

Transcribe Audio Files with Riva

For Automatic Speech Recognition (ASR), run the following commands from inside the Riva client container to perform streaming and offline transcription of audio files. If using SSL/TLS, ensure to include the --ssl_server_cert /ssl/server.crt option.

  1. Issue the riva_start_client.sh script to start the client container with sample clients for each service. The script is located in the Quick Start folder.

    bash riva_start_client.sh
    
  2. For offline recognition, run:

    riva_asr_client --audio_file=/opt/riva/wav/en-US_sample.wav
    
  3. For streaming recognition, run:

    riva_streaming_asr_client --audio_file=/opt/riva/wav/en-US_sample.wav
    

Synthesize Speech with Riva

From within the Riva client container, run the following command to synthesize the audio files.

riva_tts_client --voice_name=English-US.Female-1 \
                --text="Hello, this is a speech synthesizer." \
                --audio_file=/opt/riva/wav/output.wav

The audio files are stored in the /opt/riva/wav directory.

The streaming API can be tested by using the command-line option --online=true. However, there is no difference between both options with the command-line client since it saves the entire audio to a .wav file.

Translate Text or Speech with Riva

Translate Text-to-Text (T2T)

From within the Riva client container, run the following command to perform a text-to-text translation from English to German.

riva_nmt_t2t_client --source_language_code="en-US" --target_language_code="de-DE" --text="This will become German words."

Translate Speech-to-Text (S2T)

From within the Riva client container, run the following commands to perform a speech-to-text translation from English audio to German text.

riva_nmt_streaming_s2t_client --audio_file=/opt/riva/wav/en-US_sample.wav --source_language_code="en-US" --target_language_code="de-DE"

Translate Speech-to-Speech (S2S)

From within the Riva client container, run the following commands to perform an speech-to-speech translation from Spanish audio to English audio.

riva_nmt_streaming_s2s_client --audio_file=/opt/riva/wav/es-US_sample.wav --source_language_code="es-US" --target_language_code="en-US"

Riva Collections

The Riva Collection contains the Riva Speech AI server, the Riva Speech AI client containers, the Riva Quick Start scripts resources, and the Riva Speech AI Skills Helm chart.

Suggested Reading

For the latest product documentation, supported hardware and software, and release notes, refer to the Riva User's Guide.

Additional Resources

For organizations looking to deploy Riva-based applications in production to unlimited workloads and get full NVIDIA support with direct access to NVIDIA AI experts globally, explore NVIDIA Riva or try NVIDIA Riva for free on NVIDIA LaunchPad.

License

By downloading and using Riva software, you accept the terms and conditions of this license.