53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
#pragma once
|
|
#include "esp_wn_iface.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// The prefix of wakenet model name is used to filter all wakenet from availabel models.
|
|
#define ESP_WN_PREFIX "wn"
|
|
|
|
/**
|
|
* @brief Get the wakenet handle from model name
|
|
*
|
|
* @param model_name The name of model
|
|
* @returns The handle of wakenet
|
|
*/
|
|
const esp_wn_iface_t *esp_wn_handle_from_name(const char *model_name);
|
|
|
|
/**
|
|
* @brief Get the wake word name from model name
|
|
*
|
|
* @param model_name The name of model
|
|
* @returns The wake word name, like "alexa","hilexin","xiaoaitongxue"
|
|
*/
|
|
char *esp_wn_wakeword_from_name(const char *model_name);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
|
|
static const sr_model_iface_t *model = esp_wn_handle_from_name(model_name);
|
|
|
|
//Initialize wakeNet model data
|
|
static model_iface_data_t *model_data=model->create(model_name, DET_MODE_90);
|
|
|
|
//Set parameters of buffer
|
|
int audio_chunksize=model->get_samp_chunksize(model_data);
|
|
int frequency = model->get_samp_rate(model_data);
|
|
int16_t *buffer=malloc(audio_chunksize*sizeof(int16_t));
|
|
|
|
//Detect
|
|
int r=model->detect(model_data, buffer);
|
|
if (r>0) {
|
|
printf("Detection triggered output %d.\n", r);
|
|
}
|
|
|
|
//Destroy model
|
|
model->destroy(model_data)
|
|
|
|
*/
|