espressif / esp-skainet

Espressif intelligent voice assistant
Other
569 stars 127 forks source link

Get core panic with esp_mn_iface_t interface(AIS-1298) #108

Closed adonishong closed 1 year ago

adonishong commented 1 year ago

We are trying to port offline voice recognition (wakenet) to the LilyGo T-Watch 2020 v3 board, which is based on the ESP32 chip. We have learned from test_board.c, my_codec.c and other example code. Based on this, we have modified bsp_board.c and other related .c and .h files. With these changes, we have successfully gotten wakenet working properly on the T-Watch 2020 v3. For software versions, we are using the latest esp-skainet from GitHub along with ESP-IDF v4.4. Wakenet is functioning well, however we are unable to get multinet working. When calling esp_mn_commands_update_from_sdkconfig in the cn_speech_commands_recognition example, the program encounters a core panic error. Tracing into this function, the panic happens specifically at the esp_mn_model_handle->check_speech_command call inside esp_mn_commands_add. As a workaround, we tried commenting out that call, but then esp_mn_model_handle->set_speech_commands in esp_mn_commands_update also causes a panic. Noticing that an esp-adf example claims multinet does not currently support ESP32, we suspect this may be the root issue. We are seeking information on whether an older version of multinet could work with ESP32 to enable offline speech recognition. Any insights would be greatly appreciated.

feizi commented 1 year ago

Yes, the latest multinet does not support ESP32. Due to performance limitations, esp32 can only run models less than 1M at most, and cannot get a good offline command word experience, so our latest multinet no longer supports esp32. @adonishong , If you want to use the offline speech command, I recommend that you use the ESP32-S3 chip or module.

adonishong commented 1 year ago

Yes, the latest multinet does not support ESP32. Due to performance limitations, esp32 can only run models less than 1M at most, and cannot get a good offline command word experience, so our latest multinet no longer supports esp32. @adonishong , If you want to use the offline speech command, I recommend that you use the ESP32-S3 chip or module.

At least claim this clear in all versions of documents please. Otherwise, this will waste bunch of application developer's resource. And eventually, this will push developers away ...

feizi commented 1 year ago

Sorry for the confusion, we will mark it more clearly in the documentation later