13 stable releases
2.0.3 | Sep 4, 2024 |
---|---|
2.0.2 | Nov 17, 2023 |
2.0.1 | Oct 30, 2023 |
1.2.1 | Jun 7, 2023 |
0.0.2 |
|
#134 in Audio
2.5MB
450 lines
Contains (Windows DLL, 360KB) data/lib/windows/amd64/libpv_cobra.dll, (Mach-o library, 290KB) data/lib/mac/arm64/libpv_cobra.dylib, (Mach-o library, 300KB) data/lib/mac/x86_64/libpv_cobra.dylib, (ELF lib, 240KB) data/lib/linux/x86_64/libpv_cobra.so, (ELF lib, 205KB) libpv_cobra.so, (ELF lib, 210KB) libpv_cobra.so and 5 more.
Cobra Voice Activity Detection Engine
Made in Vancouver, Canada by Picovoice
Cobra is a highly accurate and lightweight voice activity detection (VAD) engine.
Compatibility
- Rust 1.54+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (3, 4, 5)
Installation
First you will need Rust and Cargo installed on your system.
To add the cobra library into your app, add pv_cobra
to your apps Cargo.toml
manifest:
[dependencies]
pv_cobra = "*"
AccessKey
Cobra requires a valid Picovoice AccessKey
at initialization. AccessKey
acts as your credentials when using Cobra 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:
use cobra::Cobra;
let access_key = "..."; // AccessKey provided by Picovoice Console (https://console.picovoice.ai/)
let cobra = Cobra::new(access_key);
where access_key
is an AccessKey which should be obtained from Picovoice Console. cobra
is an instance of Cobra that detects voice activities.
fn next_audio_frame() -> Vec<i16> {
// get audio frame
}
let threshold = ... // Detection threshold within [0, 1]
loop {
if let Ok(voice_probability) = cobra.process(&next_audio_frame()) {
if voice_probability >= threshold {
// Detection event!
}
}
}
Use new_with_library
to override the default library path:
use cobra::Cobra;
let access_key = "..."; // AccessKey provided by Picovoice Console (https://console.picovoice.ai/)
let cobra = Cobra::new_with_library(access_key, "/path/to/library/file");
Demos
Check out the Cobra Rust demos here