1295浏览
查看: 1295|回复: 0

[项目] 【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯

[复制链接]
【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图1

板子基本介绍

【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图2

本例实验的LED模块:
1个电源LED,一个可控制LED(与KEY3共用引脚PA4)。

电原理图(红点处D5为可控制LED)

【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图3

【花雕动手做】实验六十三:初步体验ASRPRO自学习功能的新建命令词
实验开源代码

  1. #define cwsl_pro
  2. #include "asr.h"
  3. extern "C"{ void * __dso_handle = 0 ;}
  4. #include "setup.h"
  5. #include "myLib/asr_event.h"
  6. uint32_t snid;
  7. void ASR_CODE();
  8. void hardware_init();
  9. /*描述该功能...
  10. */
  11. void ASR_CODE(){
  12.   switch (snid) {
  13.    case 1:
  14.     digitalWrite(4,0);
  15.     break;
  16.    case 2:
  17.     digitalWrite(4,1);
  18.     break;
  19.    case 302:
  20.     digitalWrite(4,0);
  21.     //{ID:500,keyword:"命令词",ASR:"耍接官",ASRTO:"灯亮了"}
  22.     play_audio(500);
  23.     break;
  24.    case 303:
  25.     digitalWrite(4,1);
  26.     //{ID:501,keyword:"命令词",ASR:"接耍官",ASRTO:"灯灭了"}
  27.     play_audio(501);
  28.     break;
  29.   }
  30. }
  31. //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
  32. //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
  33. //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
  34. /**********************此部分为自学习语音设置*************************/
  35. /**可以学习两个唤醒词,10个命令词,唤醒词的ID是300,命令词ID是302-311**/
  36. //{ID:300,keyword:"唤醒词",ASR:"小智小智",ASRTO:"我在"}
  37. //{ID:302,keyword:"命令词",ASR:"执行第一条指令",ASRTO:"好的"}
  38. //{ID:303,keyword:"命令词",ASR:"执行第二条指令",ASRTO:"马上执行"}
  39. //{ID:304,keyword:"命令词",ASR:"执行第三条指令",ASRTO:"好的,马上执行"}
  40. //{ID:305,keyword:"命令词",ASR:"执行第四条指令",ASRTO:"好嘞"}
  41. //{ID:306,keyword:"命令词",ASR:"执行第五条指令",ASRTO:"好的马上执行"}
  42. //{ID:307,keyword:"命令词",ASR:"执行第六条指令",ASRTO:"行,马上做"}
  43. //{ID:308,keyword:"命令词",ASR:"执行第七条指令",ASRTO:"好的"}
  44. //{ID:309,keyword:"命令词",ASR:"执行第八条指令",ASRTO:"马上执行"}
  45. //{ID:310,keyword:"命令词",ASR:"执行第九条指令",ASRTO:"好的,马上执行"}
  46. //{ID:311,keyword:"命令词",ASR:"执行第十条指令",ASRTO:"好嘞"}
  47. //{ID:400,keyword:"命令词",ASR:"学习唤醒词",ASRTO:"学习状态中,保持安静"}
  48. //{ID:401,keyword:"命令词",ASR:"学习命令词",ASRTO:"学习状态中,保持安静"}
  49. //{ID:402,keyword:"命令词",ASR:"重新学习",ASRTO:"学习状态中,保持安静"}
  50. //{ID:403,keyword:"命令词",ASR:"退出学习",ASRTO:"好的"}
  51. //{ID:404,keyword:"命令词",ASR:"我要删除",ASRTO:"删除唤醒词还是命令词"}
  52. //{ID:405,keyword:"命令词",ASR:"删除唤醒词",ASRTO:"删除成功"}
  53. //{ID:406,keyword:"命令词",ASR:"删除命令词",ASRTO:"删除成功"}
  54. //{ID:407,keyword:"命令词",ASR:"退出删除",ASRTO:"马上退出"}
  55. //{ID:408,keyword:"命令词",ASR:"全部删除",ASRTO:"好的"}
  56. //{ID:409,keyword:"命令词",ASR:"指令学习成功",ASRTO:"学习成功,请再说一次"}
  57. //{ID:410,keyword:"命令词",ASR:"学习失败",ASRTO:"学习失败,再说一次"}
  58. //{ID:411,keyword:"命令词",ASR:"注册成功",ASRTO:"指令学习成功"}
  59. //{ID:412,keyword:"命令词",ASR:"超上限",ASRTO:"学习数量超上限"}
  60. //{ID:413,keyword:"命令词",ASR:"删除成功",ASRTO:"删除成功"}
  61. //{ID:414,keyword:"命令词",ASR:"删除失败",ASRTO:"删除失败"}
  62. //{ID:415,keyword:"命令词",ASR:"正在删除",ASRTO:"正在删除"}
  63. //{ID:416,keyword:"命令词",ASR:"未找到命令词",ASRTO:"找不到要删除的命令词"}
  64. //{ID:417,keyword:"命令词",ASR:"学习成功",ASRTO:"学习完成"}
  65. //{ID:418,keyword:"命令词",ASR:"失败",ASRTO:"学习失败,退出学习模式"}
  66. //{ID:419,keyword:"命令词",ASR:"请再说一次",ASRTO:"请再说一次"}
  67. //{ID:420,keyword:"命令词",ASR:"语音太短",ASRTO:"语音太短了"}
  68. //{ID:421,keyword:"命令词",ASR:"指令重复",ASRTO:"命令词和默认有相同,请换命令词"}
  69. //{ID:1001,keyword:"命令词",ASR:"开始学习第一条指令",ASRTO:"请说第一条要学习的指令"}
  70. //{ID:1002,keyword:"命令词",ASR:"开始学习第二条指令",ASRTO:"请说第二条要学习的指令"}
  71. //{ID:1003,keyword:"命令词",ASR:"开始学习第三条指令",ASRTO:"请说第三条要学习的指令"}
  72. //{ID:1004,keyword:"命令词",ASR:"开始学习第四条指令",ASRTO:"请说第四条要学习的指令"}
  73. //{ID:1005,keyword:"命令词",ASR:"开始学习第五条指令",ASRTO:"请说第五条要学习的指令"}
  74. //{ID:1006,keyword:"命令词",ASR:"开始学习第六条指令",ASRTO:"请说第六条要学习的指令"}
  75. //{ID:1007,keyword:"命令词",ASR:"开始学习第七条指令",ASRTO:"请说第七条要学习的指令"}
  76. //{ID:1008,keyword:"命令词",ASR:"开始学习第八条指令",ASRTO:"请说第八条要学习的指令"}
  77. //{ID:1009,keyword:"命令词",ASR:"开始学习第九条指令",ASRTO:"请说第九条要学习的指令"}
  78. //{ID:1010,keyword:"命令词",ASR:"开始学习第十条指令",ASRTO:"请说第十条要学习的指令"}
  79. //{ID:2001,keyword:"命令词",ASR:"恭喜你第一条指令学习成功",ASRTO:"恭喜你第一条指令学习成功"}
  80. //{ID:2002,keyword:"命令词",ASR:"恭喜你第二条指令学习成功",ASRTO:"恭喜你第二条指令学习成功"}
  81. //{ID:2003,keyword:"命令词",ASR:"恭喜你第三条指令学习成功",ASRTO:"恭喜你第三条指令学习成功"}
  82. //{ID:2004,keyword:"命令词",ASR:"恭喜你第四条指令学习成功",ASRTO:"恭喜你第四条指令学习成功"}
  83. //{ID:2005,keyword:"命令词",ASR:"恭喜你第五条指令学习成功",ASRTO:"恭喜你第五条指令学习成功"}
  84. //{ID:2006,keyword:"命令词",ASR:"恭喜你第六条指令学习成功",ASRTO:"恭喜你第六条指令学习成功"}
  85. //{ID:2007,keyword:"命令词",ASR:"恭喜你第七条指令学习成功",ASRTO:"恭喜你第七条指令学习成功"}
  86. //{ID:2008,keyword:"命令词",ASR:"恭喜你第八条指令学习成功",ASRTO:"恭喜你第八条指令学习成功"}
  87. //{ID:2009,keyword:"命令词",ASR:"恭喜你第九条指令学习成功",ASRTO:"恭喜你第九条指令学习成功"}
  88. //{ID:2010,keyword:"命令词",ASR:"恭喜你第十条指令学习成功",ASRTO:"恭喜你第十条指令学习成功"}
  89. /*********************************************************************/
  90. void hardware_init(){
  91.   vTaskDelete(NULL);
  92. }
  93. void setup()
  94. {
  95.   //{speak:小蝶-清新女声,vol:20,speed:10,platform:haohaodada,version:V3}
  96.   //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
  97.   //{playid:10002,voice:我退下了,用智能管家唤醒我}
  98.   //{ID:0,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
  99.   //{ID:1,keyword:"命令词",ASR:"打开灯光",ASRTO:"好的,马上打开灯光"}
  100.   //{ID:2,keyword:"命令词",ASR:"关闭灯光",ASRTO:"好的,马上关闭灯光"}
  101.   pinMode(4,output);
  102.   setPinFun(4,FIRST_FUNCTION);
  103.   xTaskCreate(hardware_init,"hardware_init",256,NULL,100,NULL);
  104. }
复制代码

生成模型与编译烧录

【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图4

【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图5

实验记录视频

https://www.bilibili.com/video/BV1BJ4m1b7N6/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987



【花雕动手做】ASRPRO语音识别(58)---尝试自学习模式开关灯图6


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail