学术用途,无意冒犯,如有冒犯,敬请告之,侵删
使用vscode 打开,设置断点,查看启动过程,文档中代码有详细的注释
运行语音程序 触发程序 system_hook.c ASR_CODE
事件发生时调用 system_hook.c
/*** @brief 语音识别事件钩子,语音模块输出识别结果时会调用此函数* */
__WEAK void sys_asr_result_hook(cmd_handle_t cmd_handle, uint8_t asr_score)
{snid = cmd_info_get_command_id(cmd_handle);ASR_CODE();
}
使用的操作系统 FreeRTOS(asr_pro_sdk\components\freertos\include\)
具体流程
asrpro_startup.S(asr_pro_sdk\startup\)调用main函数
task_init(src\main.c ) 创建 用户任务 UserTaskManageProcess
/* 用户任务 */sys_msg_task_initial();xTaskCreate(UserTaskManageProcess,"UserTaskManageProcess",480,NULL,4,NULL);#if 0
UserTaskManageProcess(src\system_msg_deal.c) 中循环进行信息处理
sys_deal_asr_msg->调用 sys_asr_result_hook 调用 ASR_CODE
system_msg_deal.c
/*** @brief 处理asr发送的消息** @param asr_msg*/
void sys_deal_asr_msg(sys_msg_asr_data_t *asr_msg)
语音识别过程 (main.c)
在task_init(src\main.c)函数中注册了录音函数与处理过程
对一些代码进行了封装,只留下了头文件;但可以看到一些基本过程
\components\audio_in_manage\audio_in_manage_inner.c
asr_pro_sdk\components\fft
编辑过程,可以查看.mk文件
一点期望,啥时候能出一个双字唤醒词的,每次四字好累
----------------------------------------------------------------------------
startup ----*.h
->main ----*.h
->asr_code
make
.mk
freetos中asr_code *.h