Closed Zhengqinze05 closed 2 years ago
@Zhengqinze05 你好,目前的ADF中还没有提供修改的代码,但是recorder所调用的esp-sr中,是有可以修改命令词的接口的。
可以在recorder_sr.c中添加如下函数,并在recorder_sr.h中添加声明后使用。
esp_err_t recorder_sr_reset_speech_cmd(recorder_sr_handle_t handle, char *command_str, char *err_phrase_id)
{
#ifdef CONFIG_USE_MULTINET
AUDIO_CHECK(TAG, handle, return ESP_FAIL, "Handle is NULL");
recorder_sr_t *recorder_sr = (recorder_sr_t *)handle;
multinet->reset(recorder_sr->mn_handle, command_str, err_phrase_id);
return ESP_OK;
#else
ESP_LOGW(TAG, "Multinet is not enabled");
return ESP_FAIL;
#endif
}
该接口使用实例:
char err[200];
char *ch_commands_str = "da kai dian deng,kai dian deng;guan bi dian deng,guan dian deng;guan deng;";
recorder_sr_reset_speech_cmd(cfg.sr_handle, ch_commands_str, err);
其中ch_commands_str
的格式请参阅esp-sr 中reset的说明
如在WWE工程上,添加或删除命令词,不通过menuconfig和Kconfig,直接在代码中对命令词修改,ESP是否支持这种操作