1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
pub(crate) const DETECTOR_DEFAULT_AVG_THRESHOLD: f32 = 0.2;
pub(crate) const DETECTOR_DEFAULT_THRESHOLD: f32 = 0.5;
pub(crate) const DETECTOR_DEFAULT_MIN_SCORES: usize = 5;
pub(crate) const DETECTOR_INTERNAL_SAMPLE_RATE: usize = 16000;
pub(crate) const FEATURE_EXTRACTOR_FRAME_LENGTH_MS: usize = 30;
pub(crate) const FEATURE_EXTRACTOR_FRAME_SHIFT_MS: usize = 10;
pub(crate) const FEATURE_EXTRACTOR_NUM_COEFFICIENT: usize = 6;
pub(crate) const FEATURE_EXTRACTOR_PRE_EMPHASIS: f32 = 0.97;
pub(crate) const FEATURE_COMPARATOR_DEFAULT_BAND_SIZE: u16 = 5;
pub(crate) const FEATURE_COMPARATOR_DEFAULT_REFERENCE: f32 = 0.22;

mod config;
mod detector;
mod internal;
mod wakeword;
pub use config::BandPassConfig;
pub use config::DetectorConfig;
pub use config::Endianness;
pub use config::FiltersConfig;
pub use config::GainNormalizationConfig;
pub use config::RustpotterConfig;
pub use config::SampleFormat;
pub use config::ScoreMode;
pub use config::WavFmt;
pub use detector::Rustpotter;
pub use detector::RustpotterDetection;
pub use wakeword::Wakeword;