6 stable releases
new 1.2.0 | Mar 27, 2023 |
---|---|
1.1.1 | Dec 13, 2022 |
1.1.0 | Aug 5, 2022 |
1.0.2 | May 12, 2022 |
0.9.0 |
|
#137 in Machine learning
73 downloads per month
24MB
570 lines
Leopard Binding for Rust
Leopard Speech-to-Text Engine
Made in Vancouver, Canada by Picovoice
Leopard is an on-device speech-to-text engine. Leopard is:
- Private; All voice processing runs locally.
- Accurate
- Compact and Computationally-Efficient
- Cross-Platform:
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (4, 3) and NVIDIA Jetson Nano
Compatibility
- Rust 1.54+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (4, 3), and NVIDIA Jetson Nano.
Installation
First you will need Rust and Cargo installed on your system.
To add the leopard library into your app, add pv_leopard
to your apps Cargo.toml
manifest:
[dependencies]
pv_leopard = "*"
If you prefer to clone the repo and use it locally, first run copy.sh
.
(NOTE: on Windows, Git Bash or another bash shell is required, or you will have to manually copy the libs into the project).
Then you can reference the local binding location:
[dependencies]
pv_leopard = { path = "/path/to/rust/binding" }
AccessKey
Leopard requires a valid Picovoice AccessKey
at initialization. AccessKey
acts as your credentials when using Leopard SDKs.
You can get your AccessKey
for free. Make sure to keep your AccessKey
secret.
Signup or Login to Picovoice Console to get your AccessKey
.
Usage
Create an instance of the engine and transcribe an audio file:
use leopard::LeopardBuilder;
fn main() {
let access_key = "${ACCESS_KEY}"; // AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)
let leopard: Leopard = LeopardBuilder::new().access_key(access_key).init().expect("Unable to create Leopard");
if let Ok(leopard_transcript) = leopard.process_file("${AUDIO_PATH}") {
println!("{}", leopard_transcript.transcript);
}
}
Replace ${ACCESS_KEY}
with yours obtained from Picovoice Console and
${AUDIO_PATH}
to the path an audio file.
The model file contains the parameters for the Leopard engine. You may create bespoke language models using Picovoice Console and then pass in the relevant file.
Language Model
The Leopard Rust SDK comes preloaded with a default English language model (.pv
file).
Default models for other supported languages can be found in lib/common.
Create custom language models using the Picovoice Console. Here you can train language models with custom vocabulary and boost words in the existing vocabulary.
Pass in the .pv
file via the .model_path()
Builder argument:
let leopard: Leopard = LeopardBuilder::new()
.access_key("${ACCESS_KEY}")
.model_path("${MODEL_PATH}")
.init()
.expect("Unable to create Leopard");
Demos
The Leopard Rust demo project is a Rust console app that allows for processing real-time audio (i.e. microphone) and files using Leopard.