板子基本介绍
本例实验的LED模块:
1个电源LED,一个可控制LED(与KEY3共用引脚PA4)。
电原理图(红点处D5为可控制LED)
【花雕动手做】实验六十三:初步体验ASRPRO自学习功能的新建命令词
实验开源代码
- #define cwsl_pro
-
- #include "asr.h"
- extern "C"{ void * __dso_handle = 0 ;}
- #include "setup.h"
- #include "myLib/asr_event.h"
-
- uint32_t snid;
- void ASR_CODE();
- void hardware_init();
-
- /*描述该功能...
- */
- void ASR_CODE(){
- switch (snid) {
- case 1:
- digitalWrite(4,0);
- break;
- case 2:
- digitalWrite(4,1);
- break;
- case 302:
- digitalWrite(4,0);
- //{ID:500,keyword:"命令词",ASR:"耍接官",ASRTO:"灯亮了"}
- play_audio(500);
- break;
- case 303:
- digitalWrite(4,1);
- //{ID:501,keyword:"命令词",ASR:"接耍官",ASRTO:"灯灭了"}
- play_audio(501);
- break;
- }
-
- }
-
- //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
- //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
- //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
- /**********************此部分为自学习语音设置*************************/
- /**可以学习两个唤醒词,10个命令词,唤醒词的ID是300,命令词ID是302-311**/
-
- //{ID:300,keyword:"唤醒词",ASR:"小智小智",ASRTO:"我在"}
- //{ID:302,keyword:"命令词",ASR:"执行第一条指令",ASRTO:"好的"}
- //{ID:303,keyword:"命令词",ASR:"执行第二条指令",ASRTO:"马上执行"}
- //{ID:304,keyword:"命令词",ASR:"执行第三条指令",ASRTO:"好的,马上执行"}
- //{ID:305,keyword:"命令词",ASR:"执行第四条指令",ASRTO:"好嘞"}
- //{ID:306,keyword:"命令词",ASR:"执行第五条指令",ASRTO:"好的马上执行"}
- //{ID:307,keyword:"命令词",ASR:"执行第六条指令",ASRTO:"行,马上做"}
- //{ID:308,keyword:"命令词",ASR:"执行第七条指令",ASRTO:"好的"}
- //{ID:309,keyword:"命令词",ASR:"执行第八条指令",ASRTO:"马上执行"}
- //{ID:310,keyword:"命令词",ASR:"执行第九条指令",ASRTO:"好的,马上执行"}
- //{ID:311,keyword:"命令词",ASR:"执行第十条指令",ASRTO:"好嘞"}
- //{ID:400,keyword:"命令词",ASR:"学习唤醒词",ASRTO:"学习状态中,保持安静"}
- //{ID:401,keyword:"命令词",ASR:"学习命令词",ASRTO:"学习状态中,保持安静"}
- //{ID:402,keyword:"命令词",ASR:"重新学习",ASRTO:"学习状态中,保持安静"}
- //{ID:403,keyword:"命令词",ASR:"退出学习",ASRTO:"好的"}
- //{ID:404,keyword:"命令词",ASR:"我要删除",ASRTO:"删除唤醒词还是命令词"}
- //{ID:405,keyword:"命令词",ASR:"删除唤醒词",ASRTO:"删除成功"}
- //{ID:406,keyword:"命令词",ASR:"删除命令词",ASRTO:"删除成功"}
- //{ID:407,keyword:"命令词",ASR:"退出删除",ASRTO:"马上退出"}
- //{ID:408,keyword:"命令词",ASR:"全部删除",ASRTO:"好的"}
- //{ID:409,keyword:"命令词",ASR:"指令学习成功",ASRTO:"学习成功,请再说一次"}
- //{ID:410,keyword:"命令词",ASR:"学习失败",ASRTO:"学习失败,再说一次"}
- //{ID:411,keyword:"命令词",ASR:"注册成功",ASRTO:"指令学习成功"}
- //{ID:412,keyword:"命令词",ASR:"超上限",ASRTO:"学习数量超上限"}
- //{ID:413,keyword:"命令词",ASR:"删除成功",ASRTO:"删除成功"}
- //{ID:414,keyword:"命令词",ASR:"删除失败",ASRTO:"删除失败"}
- //{ID:415,keyword:"命令词",ASR:"正在删除",ASRTO:"正在删除"}
- //{ID:416,keyword:"命令词",ASR:"未找到命令词",ASRTO:"找不到要删除的命令词"}
- //{ID:417,keyword:"命令词",ASR:"学习成功",ASRTO:"学习完成"}
- //{ID:418,keyword:"命令词",ASR:"失败",ASRTO:"学习失败,退出学习模式"}
- //{ID:419,keyword:"命令词",ASR:"请再说一次",ASRTO:"请再说一次"}
- //{ID:420,keyword:"命令词",ASR:"语音太短",ASRTO:"语音太短了"}
- //{ID:421,keyword:"命令词",ASR:"指令重复",ASRTO:"命令词和默认有相同,请换命令词"}
- //{ID:1001,keyword:"命令词",ASR:"开始学习第一条指令",ASRTO:"请说第一条要学习的指令"}
- //{ID:1002,keyword:"命令词",ASR:"开始学习第二条指令",ASRTO:"请说第二条要学习的指令"}
- //{ID:1003,keyword:"命令词",ASR:"开始学习第三条指令",ASRTO:"请说第三条要学习的指令"}
- //{ID:1004,keyword:"命令词",ASR:"开始学习第四条指令",ASRTO:"请说第四条要学习的指令"}
- //{ID:1005,keyword:"命令词",ASR:"开始学习第五条指令",ASRTO:"请说第五条要学习的指令"}
- //{ID:1006,keyword:"命令词",ASR:"开始学习第六条指令",ASRTO:"请说第六条要学习的指令"}
- //{ID:1007,keyword:"命令词",ASR:"开始学习第七条指令",ASRTO:"请说第七条要学习的指令"}
- //{ID:1008,keyword:"命令词",ASR:"开始学习第八条指令",ASRTO:"请说第八条要学习的指令"}
- //{ID:1009,keyword:"命令词",ASR:"开始学习第九条指令",ASRTO:"请说第九条要学习的指令"}
- //{ID:1010,keyword:"命令词",ASR:"开始学习第十条指令",ASRTO:"请说第十条要学习的指令"}
- //{ID:2001,keyword:"命令词",ASR:"恭喜你第一条指令学习成功",ASRTO:"恭喜你第一条指令学习成功"}
- //{ID:2002,keyword:"命令词",ASR:"恭喜你第二条指令学习成功",ASRTO:"恭喜你第二条指令学习成功"}
- //{ID:2003,keyword:"命令词",ASR:"恭喜你第三条指令学习成功",ASRTO:"恭喜你第三条指令学习成功"}
- //{ID:2004,keyword:"命令词",ASR:"恭喜你第四条指令学习成功",ASRTO:"恭喜你第四条指令学习成功"}
- //{ID:2005,keyword:"命令词",ASR:"恭喜你第五条指令学习成功",ASRTO:"恭喜你第五条指令学习成功"}
- //{ID:2006,keyword:"命令词",ASR:"恭喜你第六条指令学习成功",ASRTO:"恭喜你第六条指令学习成功"}
- //{ID:2007,keyword:"命令词",ASR:"恭喜你第七条指令学习成功",ASRTO:"恭喜你第七条指令学习成功"}
- //{ID:2008,keyword:"命令词",ASR:"恭喜你第八条指令学习成功",ASRTO:"恭喜你第八条指令学习成功"}
- //{ID:2009,keyword:"命令词",ASR:"恭喜你第九条指令学习成功",ASRTO:"恭喜你第九条指令学习成功"}
- //{ID:2010,keyword:"命令词",ASR:"恭喜你第十条指令学习成功",ASRTO:"恭喜你第十条指令学习成功"}
- /*********************************************************************/
-
- void hardware_init(){
-
- vTaskDelete(NULL);
- }
-
- void setup()
- {
- //{speak:小蝶-清新女声,vol:20,speed:10,platform:haohaodada,version:V3}
- //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
- //{playid:10002,voice:我退下了,用智能管家唤醒我}
- //{ID:0,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
- //{ID:1,keyword:"命令词",ASR:"打开灯光",ASRTO:"好的,马上打开灯光"}
- //{ID:2,keyword:"命令词",ASR:"关闭灯光",ASRTO:"好的,马上关闭灯光"}
- pinMode(4,output);
- setPinFun(4,FIRST_FUNCTION);
- xTaskCreate(hardware_init,"hardware_init",256,NULL,100,NULL);
- }
复制代码
生成模型与编译烧录
实验记录视频
https://www.bilibili.com/video/BV1BJ4m1b7N6/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987
|