espressif / esp-sr

Speech recognition
Other
576 stars 106 forks source link

feature request: add friendly name to WakeNet models (AIS-1461) #90

Closed stintel closed 9 months ago

stintel commented 10 months ago

In Willow, we set a wake help text on the display to inform the user which wake word to use, e.g. Say 'Alexa' to start. We currently hardcode the friendly name in the C code. This works fine for the 3 wake words we currently support. In the future, we would like to offer our users a way to flash new models as they become available, without having to update the Willow C code, so this would no longer work.

Would you consider adding a field to the WakeNet models for such a friendly name, so we can remove the hardcoded friendly names from our C code? Thanks!

feizi commented 10 months ago

This idea seem quite reasonable, we will add one.

sun-xiangyu commented 10 months ago

The friendly name was defined in _MODELINFO file. We add esp_srmodel_get_wake_words function to parse friendly name from model_info. If there are multiple wake words in one model, the wake words will be joined by ";".

You can use it like this:

srmodel_list_t *models = esp_srmodel_init("model");
char *model_name = esp_srmodel_filter(models, ESP_WN_PREFIX, NULL);
char *wake_words = wake_words = esp_srmodel_get_wake_words(models, model_name );