NVIDIA Riva Speech Skills supports two architectures, Linux x86_64 and Linux ARM64. These are referred to as data center (x86_64) and embedded (ARM64). The following instructions are applicable to data center users.
Before using Riva skills, ensure you meet the following prerequisites:
You have access and are logged into NVIDIA NGC. For step-by-step instructions, refer to the NGC Getting Started Guide.
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.
You have Docker installed with support for NVIDIA GPUs. For more information, refer to the Support Matrix.
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.
Broswer (Direct Download) - the download begins in a location of your choosing.
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 platforms, 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 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), and locations of SSL/TLS certificate and key files if using a secure connection.
cd riva_quickstart_v2.1.0
To use a USB device for audio input/output, connect it to the Jetson platform so it gets auto mounted into the container.
Initialize and start Riva
bash riva_init.sh
bash riva_start.sh
Start a client container with sample clients for each service.
bash riva_start_client.sh
From inside the client container, try the different services using the provided Jupyter notebooks.
jupyter notebook --ip=0.0.0.0 --allow-root --notebook-dir=/work/notebooks
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 Jupyter notebooks, connect a browser window to the correct port (8888
by default) of that external IP address.
Shutdown 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.
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.
For offline recognition, run:
riva_asr_client --audio_file=/work/wav/en-US_sample.wav
For streaming recognition, run:
riva_streaming_asr_client --audio_file=/work/wav/en-US_sample.wav
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=/work/wav/output.wav
The audio files are stored in the /work/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.
The Riva Collection contains the Riva Speech Server and the Riva Speech Client containers, the Riva Quick Start scripts resources, and then Riva Speech Skills Helm chart.
For the latest product documentation, supported hardware and software, and release notes, refer to the Riva User's Guide.
By downloading and using Riva software, you accept the terms and conditions of this license.