Page 1 of 1
如何使用 SR 相关的 API?比如把人工智能语言设置为中文
Posted: Mon Jun 27, 2022 1:10 pm
by ssssss
在factory_demo的例程中,settings.c文件中有将默认的系统参数设置为中文 SR_LANG_CN,但是编译并烧录后没有变化
Code: Select all
static const sys_param_t g_default_sys_param = {
.need_hint = 1,
.sr_lang = SR_LANG_CN,
.volume = 70, // default volume is 70%
};
1.请问如何设置为中文?
2.是否有详细的API文档?
Re: 如何使用 SR 相关的 API?比如把人工智能语言设置为中文
Posted: Wed Jun 29, 2022 7:42 am
by ESP_ZhouL
这里要生效需要擦掉nvs分区保存的数据
你可以通过调用https://github.com/espressif/esp-box/blob/a45ee1e985c95fb0108c65814b3c7344ad035a0f/examples/factory_demo/main/app/app_sr.h#L74 来切换语言
Re: 如何使用 SR 相关的 API?比如把人工智能语言设置为中文
Posted: Wed Jun 29, 2022 12:40 pm
by ssssss
我在这里能否设置为中文? factory_demo/main/app/app_sr.c : app_sr_start()
Code: Select all
esp_err_t app_sr_start(bool record_en)
{
......
esp_task_wdt_reset();
g_sr_data->afe_handle = &ESP_AFE_HANDLE;
afe_config_t afe_config = AFE_CONFIG_DEFAULT();
afe_config.aec_init = false;
// afe_config.vad_init = false;
g_sr_data->afe_data = g_sr_data->afe_handle->create_from_config(&afe_config);
const sys_param_t *param = settings_get_parameter();
g_sr_data->lang = SR_LANG_MAX;
ret = app_sr_set_language(param->sr_lang); // <<<<<<<<<<<在此处直接设置吗?我改成 app_sr_set_language(SR_LANG_CN) 后,发现可以听懂中文了,但是回答的依然是英语 OK,这是为什么?
ESP_GOTO_ON_FALSE(ESP_OK == ret, ESP_FAIL, err, TAG, "Failed to set language");
.......
app_sr_stop();
return ret;
}
Re: 如何使用 SR 相关的 API?比如把人工智能语言设置为中文
Posted: Mon Jul 04, 2022 4:10 am
by ESP_ZhouL
app_sr_start() 里面仅仅是把sr的语言改了,nvs保存的参数还是英文,所以播报还是英文,你要改语言其实可以进入工厂模式来修改
- factroy_mode.jpg (77.6 KiB) Viewed 6505 times
也可以参照https://github.com/espressif/esp-box/blob/master/examples/factory_demo/main/gui/ui_factory_mode.c
Re: 如何使用 SR 相关的 API?比如把人工智能语言设置为中文
Posted: Mon Jul 04, 2022 12:34 pm
by ssssss
好的,谢谢