Rust Verbio SpeechCenter Client

Overview

Rust Verbio SpeechCenter Client

Lint

How to build

In order to build the system

$ cargo build --release --all

It will build two binaries: batch-client and cli-client.

How to use

CLI client

The CLI client allows you to launch a single file to the server. It also allows you to use either a grammar or a language model.

λ ./target/release/cli-client --help
cli-client 0.1.0

USAGE:
    cli-client [OPTIONS] --audio 
   

An example execution could be:

λ ./target/debug/cli-client -a example.wav -l en-US -t my.token -T generic

Batch client

The batch client iterates over wav files inside a directory, sends them in parallel to the server and stores the transcription in another directory.

λ ./target/release/batch-client --help
batch-client 0.1.0

USAGE:
    batch-client [OPTIONS] --dest-dir 
   
     --language 
    
      --dir 
     
       --token-file 
      
        --topic 
       
         --url 
        
          FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -D, --dest-dir 
         
           Destination directory for the transcriptions -l, --language 
          
            Language to use for the recognision [default: en-US] -L, --log-level 
           
             Log level. Must be TRACE | DEBUG | INFO | WARN | ERROR [default: info] -d, --dir 
            
              Directory containing audios to use for the recognision -t, --token-file 
             
               Path to the token file -T, --topic 
              
                Topic to use for the recognision. Must be GENERIC | BANKING | TELCO -u, --url 
               
                 URL of the server [default: https://speechcenter.verbio.com:2424] -w, --workers 
                
                  Number of workers to use for the recognision [default: 4] 
                
               
              
             
            
           
          
         
        
       
      
     
    
   

An example execution could be:

λ ./target/release/batch-client -w 4 -d ~/tmp/commonvoice/clips -D /tmp/results -t my.token -T generic --log-level debug

Improvements to be done

Right now, the build process generates the speech-center-client/src/csr_grpc_gateway.rs file. However, the tonic-build is able to generate it into the target directory and include it via macros. Unfortunately, my IDE was not able to detect the file, so autocomplete didn't work and I prioritized developer ergonomy over "correctness" for this PoC (sorry guys).

In order to change it, edit the build.rs and see the documentation of tonic-build.

You might also like...
Rust client for apache iotdb.

Apache IoTDB Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployab

Rust client for Kubernetes

Rust client for Kubernetes API.

A Rust based DNS client, server, and resolver

Trust-DNS A Rust based DNS client, server, and Resolver, built to be safe and secure from the ground up. This repo consists of multiple crates: Librar

An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client.
An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client.

Four in a Row - Server An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client. Downl

A minimalist socket-based client/server in Rust to illustrate a tutorial

The basics of unix sockets This repository serves as a reference for this tutorial blogpost How to run Install Rust and Cargo, and then do: cargo run

Fast Discord RPC Client written in Rust
Fast Discord RPC Client written in Rust

Discord RPC Client Examples Big image, small image, details and one button discordrpc -c 942151169185316874 -d 'untypeable nickname' --button-1-text '

Rust client for Apache Kafka
Rust client for Apache Kafka

Kafka Rust Client Project Status This project is starting to be maintained by John Ward, the current status is that I am bringing the project up to da

This is a UPnP client library for Rust.

UPnP Client This is a UPNP client library for Rust. Usage Add this to your Cargo.toml: [dependencies] upnp-client = "0.1" Example This example will pr

Socket.io client written in Rust
Socket.io client written in Rust

Rust-socketio-client An implementation of a socket.io client written in the rust programming language. This implementation currently supports revision

Comments
  • Feature/text to speech

    Feature/text to speech

    Changes included in this PR:

    • Addition of Speech Center Synthesis proto file
    • Addition of new Synthesizer client
    • Refactor of cli_client to accept both recognize and synthesize as sub-commands.
    • Updated documentation
    • Updated testing
    • Updated ci
    opened by ralucado 0
Owner
Verbio Technologies
Merging speech and cognitive technologies to change customer experience
Verbio Technologies
FTP client for Rust

rust-ftp FTP client for Rust Documentation rust-ftp Installation Usage License Contribution Development environment Installation FTPS support is achie

Matt McCoy 155 Nov 12, 2022
NNTP client for Rust

rust-nntp NNTP Client for Rust Usage extern crate nntp; use nntp::{Article, NNTPStream}; fn main() { let mut nntp_stream = match NNTPStream::connec

Matt McCoy 13 Jan 22, 2022
POP3 client for Rust

rust-pop3 POP3 Client for Rust This client has SSL support. SSL is configured using an SSLContext that is passed into the connect method of a POP3Stre

Matt McCoy 26 Dec 19, 2022
A STOMP client in Rust. Compatible with RabbitMQ, ActiveMQ.

stomp-rs stomp-rs provides a full STOMP 1.2 client implementation for the Rust programming language. This allows programs written in Rust to interact

Zack Slayton 84 Dec 4, 2022
Rust client for NATS, the cloud native messaging system.

A Rust client for the NATS messaging system. Status Motivation Rust may be the most interesting new language the NATS ecosystem has seen. We believe t

NATS - The Cloud Native Messaging System 651 Jan 3, 2023
rqbit - bittorrent client in Rust

rqbit - bittorrent client in Rust

Igor Katson 177 Jan 2, 2023
Simple project to test grpc between ruby (client) and rust (server)

grpc-example Simple project to test grpc between ruby (client) and rust (server). Usage To simplify a lot this project uses docker and docker compose

Bruno Arueira 2 Oct 14, 2021
A rust client and structures to interact with the Clever-Cloud API.

Clever-Cloud Software Development Kit - Rust edition This crate provides structures and client to interact with the Clever-Cloud API. Status This crat

Clever Cloud 6 Jun 3, 2022
Third party Google DNS client for rust.

google-dns-rs Documentation Install Add the following line to your Cargo.toml file: google-dns-rs = "0.3.0" Usage use google_dns_rs::api::{Dns, DoH, R

Eduardo Stuart 2 Nov 13, 2021
A ddns client written in Rust.

ddns-rs ready for use with one cloudflare A/AAAA record ?? A ddns client written in Rust. Features get public ip cloudflare (A or AAAA record) toml co

Ric Li 1 Oct 25, 2022