Rustpotter CLI

CLI for rustpotter the personal keywords spotter written in Rust

Description

This is a CLI for using the (rustpotter)[https://github.com/GiviMAD/rustpotter] library on the command line.

Use Example

```sh

quick look up to the help

rustpotter-cli -h

list available input devices

rustpotter-cli devices

record samples, you should press "ctrl + c" to stop after saying your keyword

rustpotter-cli record heyhome.wav rustpotter-cli record heyhome1.wav rustpotter-cli record heyhome2.wav rustpotter-cli record heyhome3.wav

check that your samples are correctly trimmed and without noise using any player

...

build a model, this op is idempotent (same input samples with same options = same model)

rustpotter-cli build-model \ --model-path heyhome.rpw \ --model-name "hey home" \ heyhome.wav heyhome1.wav heyhome2.wav hey_home3.wav

test the model accuracy over the samples

rustpotter-cli test-model heyhome.rpw heyhome.wav rustpotter-cli test-model heyhome.rpw heyhome1.wav rustpotter-cli test-model heyhome.rpw heyhome2.wav rustpotter-cli test-model heyhome.rpw heyhome3.wav

test the spot functionality in real time, customizing

the default detection threshold

rustpotter-cli spot -t 0.563 hey_home.rpw

rebuild a model adding a custom threshold for the word,

this one has prevalence over the default one

rustpotter-cli build-model \ --threshold 0.54 \ --model-path heyhome.rpw \ --model-name "hey home" \ heyhome.wav heyhome1.wav heyhome2.wav hey_home3.wav

you can spot using multiple models

rustpotter-cli spot heyhome.rpw goodmorning.rpw ...

you will get an output like this is your terminal on each spot event

Detected 'good morning' with score 0.6146946! ```