#client #grpc #riva #jarvis

nvidia_riva

The rust language implementation of gRPC client for nvidia riva

2 releases

0.1.1 Nov 9, 2022
0.1.0 Oct 31, 2022

#1175 in Network programming

Download history 114/week @ 2022-11-25 200/week @ 2022-12-02 255/week @ 2022-12-09 169/week @ 2022-12-16 142/week @ 2022-12-23 85/week @ 2022-12-30 234/week @ 2023-01-06 110/week @ 2023-01-13 325/week @ 2023-01-20 214/week @ 2023-01-27 195/week @ 2023-02-03 111/week @ 2023-02-10 177/week @ 2023-02-17 174/week @ 2023-02-24 89/week @ 2023-03-03 139/week @ 2023-03-10

597 downloads per month

Apache-2.0/MIT

90KB

Rust

GRPC Client for Nvidia Riva or Jarvis

How to install

Add nvidia_riva to your dependencies

[dependencies]
# ...
nvidia_riva = 0.1

Getting started

Example for RivaSpeechRecognitionClient

use nvidia_riva::asr::riva_speech_recognition_client::RivaSpeechRecognitionClient;
use nvidia_riva::asr::{RecognitionConfig, RecognizeRequest};
use nvidia_riva::AudioEncoding;

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let mut riva_client =
        RivaSpeechRecognitionClient::connect("http://127.0.0.1:50051").await?;

    let bytes = std::fs::read("./assets/data/test.wav")
        .expect("Unable read `test.wav` file");
    let riva_request = RecognizeRequest {
        config: Some(RecognitionConfig {
            encoding: AudioEncoding::LinearPcm as i32,
            sample_rate_hertz: 16000,
            language_code: String::from("en-US"),
            max_alternatives: 1,
            profanity_filter: false,
            speech_contexts: vec![],
            audio_channel_count: 1,
            enable_word_time_offsets: false,
            enable_automatic_punctuation: false,
            enable_separate_recognition_per_channel: false,
            model: "riva-asr".to_string(),
            verbatim_transcripts: true,
            custom_configuration: Default::default(),
        }),
        audio: bytes,
    };
    let riva_result = riva_client.recognize(riva_request).await;
    println!("{:?}", riva_result);
    Ok(())
}

Dependencies

~6–10MB
~171K SLoC