查看: 223|回复: 0

【花雕动手做】ASRPRO语音识别(47)---智能对话聊天的白盒子

[复制链接]

64

主题

86

帖子

477

积分

中级会员

Rank: 3Rank: 3

积分
477
发表于 2024-1-21 09:45:13 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2024-1-21 09:46 编辑

突发奇想,做个简单的AI人工智能聊天小盒子,其实只是AI语音识别的一个小尝试。


首先,找到一个制品小盒子


01.jpg


挑选了一个比较强劲的扬声器


02.jpg

03.jpg

实验使用ASR-PRO系列开发板和AI语音模块


04.jpg

为了能塞进小盒子,搜集了各种各样的锂电池


05.jpg


【花雕动手做】实验五十二:ASR-PRO离线语音识别之ChatGPT快速对话聊天白盒子
实验开源代码

  1. #include "asr.h"
  2. extern "C"{ void * __dso_handle = 0 ;}
  3. #include "setup.h"
  4. #include "myLib/asr_event.h"

  5. uint32_t snid;

  6. //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
  7. //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
  8. //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
  9. //{speak:小美-娇美女声,vol:20,speed:10,platform:haohaodada}
  10. //{playid:10001,voice:你好,我是AI聊天盒子,请用拆了鸡匹替唤醒我}
  11. //{playid:10002,voice:我退出了,用聊天盒子唤醒我}
  12. void sys_power_on_hook(void){
  13.   vol_set(7);
  14. }

  15. void ASR_CODE()
  16. {
  17.   //{ID:500,keyword:"唤醒词",ASR:"聊天盒子",ASRTO:"我在,今天我们聊什么呢?"}
  18.   if(snid == 500){
  19.     digital_write(6,1);
  20.   }
  21.   //{ID:501,keyword:"唤醒词",ASR:"拆了鸡匹替",ASRTO:"我在,今天我们聊什么呢?"}
  22.   if(snid == 501){
  23.     digital_write(6,1);
  24.   }
  25.   //{ID:502,keyword:"命令词",ASR:"嗨",ASRTO:"嗨!你好呀"}
  26.   if(snid == 502){

  27.   }
  28.   //{ID:503,keyword:"命令词",ASR:"哈喽",ASRTO:"哈喽!你好"}
  29.   if(snid == 503){

  30.   }
  31.   //{ID:504,keyword:"命令词",ASR:"会做什么",ASRTO:"我可以陪你聊聊天哦"}
  32.   if(snid == 504){

  33.   }
  34.   //{ID:505,keyword:"命令词",ASR:"吃饭了吗",ASRTO:"吃过了,我喜欢吃饺子"}
  35.   if(snid == 505){

  36.   }
  37.   //{ID:506,keyword:"命令词",ASR:"你好",ASRTO:"你也不错,跟你聊天很开心"}
  38.   if(snid == 506){

  39.   }
  40.   //{ID:507,keyword:"命令词",ASR:"今天天气",ASRTO:"虎纠今天晴,空气良好,适合出去走走"}
  41.   if(snid == 507){

  42.   }
  43.   //{ID:508,keyword:"命令词",ASR:"说个笑话",ASRTO:"为什么兔子不上网?因为它总是把网线咬成两截"}
  44.   if(snid == 508){

  45.   }
  46.   //{ID:509,keyword:"命令词",ASR:"你是谁",ASRTO:"我是拆了鸡匹替的特别精简版,只能常用语句的简单聊天"}
  47.   if(snid == 509){

  48.   }
  49.   //{ID:510,keyword:"命令词",ASR:"写首诗",ASRTO:"人生苦短如梦游,岁月匆匆似水流。欢笑悲伤皆过客,唯有真情永流传"}
  50.   if(snid == 510){

  51.   }
  52.   //{ID:511,keyword:"命令词",ASR:"讲个笑话",ASRTO:"白云问黑云:你怎么总是阵雨就跑?黑云说:我觉得下大雨多麻烦,只降小雨就走人。"}
  53.   if(snid == 511){

  54.   }
  55.   //{ID:512,keyword:"命令词",ASR:"还会什么",ASRTO:"写首诗,说个笑话,单纯聊天"}
  56.   if(snid == 512){

  57.   }
  58.   //{ID:513,keyword:"命令词",ASR:"名字",ASRTO:"我叫小美,声音美滴滴"}
  59.   if(snid == 513){

  60.   }
  61.   //{ID:514,keyword:"命令词",ASR:"说个故事",ASRTO:"从前,有座山,山里面有个庙,后来你在听我说故事"}
  62.   if(snid == 514){

  63.   }
  64.   //{ID:515,keyword:"命令词",ASR:"请",ASRTO:"请告诉我您需要什么帮助,我会尽力提供支持。"}
  65.   if(snid == 515){

  66.   }
  67.   //{ID:516,keyword:"命令词",ASR:"能做什么",ASRTO:"写首诗,说个笑话,单纯聊聊天"}
  68.   if(snid == 516){

  69.   }
  70.   //{ID:517,keyword:"命令词",ASR:"写四句诗",ASRTO:"秋叶纷纷舞落地,寒风吹过山水间。诗意飘荡心灵处,思绪悠然自然间。"}
  71.   if(snid == 517){

  72.   }
  73.   //{ID:518,keyword:"命令词",ASR:"写诗",ASRTO:"明月皎皎照夜空,流星闪烁如繁花。诗行婉转诉心声,思绪飘散在时光中。"}
  74.   if(snid == 518){

  75.   }
  76.   //{ID:519,keyword:"命令词",ASR:"诗句",ASRTO:"春风拂面花开放,夏日阳光暖人心。秋叶飘落思无穷,冬雪铺白梦幻境。"}
  77.   if(snid == 519){

  78.   }
  79.   //{ID:520,keyword:"命令词",ASR:"诗",ASRTO:"晨曦初露照窗台,春意盎然满山海。花开芬芳醉人心,岁月流转永不改。"}
  80.   if(snid == 520){

  81.   }
  82.   //{ID:521,keyword:"命令词",ASR:"读诗",ASRTO:"青山绿水画中游,花开芬芳映日舟。诗意浩然心自醉,情思飞扬入云浮。"}
  83.   if(snid == 521){

  84.   }
  85.   //{ID:522,keyword:"命令词",ASR:"好诗",ASRTO:"月色如水洒银盆,星光点缀夜空深。诗行自由舞心弦,思绪飘逸情难禁。"}
  86.   if(snid == 522){

  87.   }
  88.   //{ID:523,keyword:"命令词",ASR:"会什么",ASRTO:"写首诗,说个笑话,讲个故事,单纯聊聊天"}
  89.   if(snid == 523){

  90.   }
  91.   //{ID:524,keyword:"命令词",ASR:"聊聊天",ASRTO:"行啊,聊写诗吧,我会不少呢"}
  92.   if(snid == 524){

  93.   }
  94.   //{ID:525,keyword:"命令词",ASR:"诗歌",ASRTO:"秋露初起天,万物静欣呈变色。落叶飘零处,他乡客思归心切。"}
  95.   if(snid == 525){

  96.   }
  97.   //{ID:526,keyword:"命令词",ASR:"谁训练你",ASRTO:"是雕哥训练我这个超迷你小模型的,用时33分钟"}
  98.   if(snid == 526){

  99.   }
  100.   //{ID:527,keyword:"命令词",ASR:"还行",ASRTO:"谢谢你的鼓励和支持,好开心啊"}
  101.   if(snid == 527){

  102.   }
  103.   //{ID:528,keyword:"命令词",ASR:"真不错",ASRTO:"有你的鼓励真好,太感谢了"}
  104.   if(snid == 528){

  105.   }
  106.   //{ID:529,keyword:"命令词",ASR:"不错呀",ASRTO:"谢谢鼓励,我会努力的"}
  107.   if(snid == 529){

  108.   }
  109.   set_state_enter_wakeup(15000);
  110. }

  111. void setup()
  112. {
  113.   set_gpio_input(0);
  114.   set_gpio_input(1);
  115.   set_gpio_input(2);
  116.   set_gpio_input(3);
  117.   set_gpio_input(4);
  118.   set_gpio_input(5);
  119.   digital_write(6, 0);
  120.   set_gpio_input(13);
  121.   set_gpio_input(14);
  122.   set_gpio_input(20);
  123. }
复制代码


生成模型与编译烧录


08.jpg

07.jpg

实验记录视频之一


【ChatGPT聊天盒子1】 https://www.bilibili.com/video/BV17H4y1R7sv/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987



实验记录视频之二


【语音识别聊天盒子2】 https://www.bilibili.com/video/BV12C4y1d73r/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987



实验记录视频之三


【会读诗的语音聊天盒子】 https://www.bilibili.com/video/BV1U34y1u75r/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987





做好了是这个样子

06.jpg









回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-4-29 01:40 , Processed in 0.319564 second(s), 26 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表