14#include <freertos/event_groups.h>
17#include <frontend_util.h>
20namespace micro_wake_word {
31 void setup()
override;
53#ifdef USE_MICRO_WAKE_WORD_VAD
54 void add_vad_model(
const uint8_t *model_start, uint8_t probability_cutoff,
size_t sliding_window_size,
55 size_t tensor_arena_size);
73#ifdef USE_MICRO_WAKE_WORD_VAD
111 int8_t features_buffer[PREPROCESSOR_FEATURE_SIZE]);
void resume_task_()
Resumes the inference task.
microphone::MicrophoneSource * microphone_source_
QueueHandle_t detection_queue_
static void inference_task(void *params)
void process_probabilities_()
Processes any new probabilities for each model.
Trigger< std::string > * get_wake_word_detected_trigger() const
EventGroupHandle_t event_group_
void set_stop_after_detection(bool stop_after_detection)
std::weak_ptr< RingBuffer > ring_buffer_
TaskHandle_t inference_task_handle_
void set_state_(State state)
Trigger< std::string > * wake_word_detected_trigger_
std::vector< WakeWordModel * > wake_word_models_
void suspend_task_()
Suspends the inference task.
float get_setup_priority() const override
void add_wake_word_model(WakeWordModel *model)
void dump_config() override
bool stop_after_detection_
uint8_t features_step_size_
bool update_model_probabilities_(const int8_t audio_features[PREPROCESSOR_FEATURE_SIZE])
Runs an inference with each model using the new spectrogram features.
size_t generate_features_(int16_t *audio_buffer, size_t samples_available, int8_t features_buffer[PREPROCESSOR_FEATURE_SIZE])
Generates spectrogram features from an input buffer of audio samples.
struct FrontendConfig frontend_config_
std::unique_ptr< VADModel > vad_model_
void add_vad_model(const uint8_t *model_start, uint8_t probability_cutoff, size_t sliding_window_size, size_t tensor_arena_size)
void set_features_step_size(uint8_t step_size)
void set_microphone_source(microphone::MicrophoneSource *microphone_source)
void unload_models_()
Deletes each model's TFLite interpreters and frees tensor arena memory.
std::vector< WakeWordModel * > get_wake_words()
struct FrontendState frontend_state_
Providing packet encoding functions for exchanging data with a remote host.