|
ESPHome 2025.12.0-dev
|
#include <streaming_model.h>
Public Member Functions | |
| WakeWordModel (const std::string &id, const uint8_t *model_start, uint8_t default_probability_cutoff, size_t sliding_window_average_size, const std::string &wake_word, size_t tensor_arena_size, bool default_enabled, bool internal_only) | |
| Constructs a wake word model object. | |
| void | log_model_config () override |
| DetectionEvent | determine_detected () override |
| Checks for the wake word by comparing the mean probability in the sliding window with the probability cutoff. | |
| const std::string & | get_id () const |
| const std::string & | get_wake_word () const |
| void | add_trained_language (const std::string &language) |
| const std::vector< std::string > & | get_trained_languages () const |
| void | enable () override |
| Enable the model and save to flash. The next performing_streaming_inference call will load it. | |
| void | disable () override |
| Disable the model and save to flash. The next performing_streaming_inference call will unload it. | |
| bool | get_internal_only () |
Public Member Functions inherited from esphome::micro_wake_word::StreamingModel | |
| bool | perform_streaming_inference (const int8_t features[PREPROCESSOR_FEATURE_SIZE]) |
| void | reset_probabilities () |
| Sets all recent_streaming_probabilities to 0 and resets the ignore window count. | |
| void | unload_model () |
| Destroys the TFLite interpreter and frees the tensor and variable arenas' memory. | |
| bool | is_enabled () const |
| Return true if the model is enabled. | |
| bool | get_unprocessed_probability_status () const |
| uint8_t | get_default_probability_cutoff () const |
| uint8_t | get_probability_cutoff () const |
| void | set_probability_cutoff (uint8_t probability_cutoff) |
Protected Attributes | |
| std::string | id_ |
| std::string | wake_word_ |
| std::vector< std::string > | trained_languages_ |
| bool | internal_only_ |
| ESPPreferenceObject | pref_ |
Protected Attributes inherited from esphome::micro_wake_word::StreamingModel | |
| tflite::MicroMutableOpResolver< 20 > | streaming_op_resolver_ |
| bool | loaded_ {false} |
| bool | enabled_ {true} |
| bool | unprocessed_probability_status_ {false} |
| uint8_t | current_stride_step_ {0} |
| int16_t | ignore_windows_ {-MIN_SLICES_BEFORE_DETECTION} |
| uint8_t | default_probability_cutoff_ |
| uint8_t | probability_cutoff_ |
| size_t | sliding_window_size_ |
| size_t | last_n_index_ {0} |
| size_t | tensor_arena_size_ |
| std::vector< uint8_t > | recent_streaming_probabilities_ |
| const uint8_t * | model_start_ |
| uint8_t * | tensor_arena_ {nullptr} |
| uint8_t * | var_arena_ {nullptr} |
| std::unique_ptr< tflite::MicroInterpreter > | interpreter_ |
| tflite::MicroResourceVariables * | mrv_ {nullptr} |
| tflite::MicroAllocator * | ma_ {nullptr} |
Additional Inherited Members | |
Protected Member Functions inherited from esphome::micro_wake_word::StreamingModel | |
| bool | load_model_ () |
| Allocates tensor and variable arenas and sets up the model interpreter. | |
| bool | register_streaming_ops_ (tflite::MicroMutableOpResolver< 20 > &op_resolver) |
| Returns true if successfully registered the streaming model's TensorFlow operations. | |
Definition at line 93 of file streaming_model.h.
| esphome::micro_wake_word::WakeWordModel::WakeWordModel | ( | const std::string & | id, |
| const uint8_t * | model_start, | ||
| uint8_t | default_probability_cutoff, | ||
| size_t | sliding_window_average_size, | ||
| const std::string & | wake_word, | ||
| size_t | tensor_arena_size, | ||
| bool | default_enabled, | ||
| bool | internal_only ) |
Constructs a wake word model object.
| id | (std::string) identifier for this model |
| model_start | (const uint8_t *) pointer to the start of the model's TFLite FlatBuffer |
| default_probability_cutoff | (uint8_t) probability cutoff for acceping the wake word has been said |
| sliding_window_average_size | (size_t) the length of the sliding window computing the mean rolling probability |
| wake_word | (std::string) Friendly name of the wake word |
| tensor_arena_size | (size_t) Size in bytes for allocating the tensor arena |
| default_enabled | (bool) If true, it will be enabled by default on first boot |
| internal_only | (bool) If true, the model will not be exposed to HomeAssistant as an available model |
Definition at line 170 of file streaming_model.cpp.
|
inline |
Definition at line 119 of file streaming_model.h.
|
overridevirtual |
Checks for the wake word by comparing the mean probability in the sliding window with the probability cutoff.
Implements esphome::micro_wake_word::StreamingModel.
Definition at line 210 of file streaming_model.cpp.
|
overridevirtual |
Disable the model and save to flash. The next performing_streaming_inference call will unload it.
Reimplemented from esphome::micro_wake_word::StreamingModel.
Definition at line 203 of file streaming_model.cpp.
|
overridevirtual |
Enable the model and save to flash. The next performing_streaming_inference call will load it.
Reimplemented from esphome::micro_wake_word::StreamingModel.
Definition at line 196 of file streaming_model.cpp.
|
inline |
Definition at line 116 of file streaming_model.h.
|
inline |
Definition at line 128 of file streaming_model.h.
|
inline |
Definition at line 120 of file streaming_model.h.
|
inline |
Definition at line 117 of file streaming_model.h.
|
overridevirtual |
Implements esphome::micro_wake_word::StreamingModel.
Definition at line 13 of file streaming_model.cpp.
|
protected |
Definition at line 131 of file streaming_model.h.
|
protected |
Definition at line 135 of file streaming_model.h.
|
protected |
Definition at line 137 of file streaming_model.h.
|
protected |
Definition at line 133 of file streaming_model.h.
|
protected |
Definition at line 132 of file streaming_model.h.