在生活中我们经常使用语音唤醒功能,直接用语音和电子设备进行交流,以提高效率。同样本次使用行空板k10自带的语音唤醒功能和语音合成功能,进一步体验人工智能在生活中的应用。
程序展示:
结合高温预警,对语音播报进行相应判断改进。
使用测试:
在唤醒时,需要说出“你好,小新”。
唤醒成功后,会有绿色指示灯亮起。
结合屏幕显示,将上一期的显示内容整合到本次内容中。
因为是离线语音识别,对于实验环境的要求不是很高,方便师生在实际环境中直接体验,还是很便捷!
代码
/*!
* MindPlus
* esp32s3bit
*
*/
#include "asr.h"
#include "unihiker_k10.h"
#include "arduino_image_cache.h"
// 创建对象
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
ASR asr;
AHT20 aht20;
// 主程序开始
void setup() {
k10.begin();
k10.initScreen(screen_dir);
k10.creatCanvas();
asr.asrInit(CONTINUOUS, CN_MODE, 6000);
while(asr._asrState == 0){delay(100);}
asr.setAsrSpeed(2);
k10.canvas->canvasDrawBitmap(65,30,100,100,image_data1);
k10.canvas->canvasText("语音气象助手", 35, 165, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
k10.canvas->updateCanvas();
asr.addASRCommand(1+1, "wen du");
asr.addASRCommand(2+1, "shi du");
}
void loop() {
if (asr.isDetectCmdID(1+1)) {
asr.speak((String(aht20.getData(AHT20::eAHT20TempC)) + String("摄氏度")));
if ((aht20.getData(AHT20::eAHT20TempC)>30)) {
asr.speak("请减少户外活动");
}
}
if (asr.isDetectCmdID(2+1)) {
asr.speak((String("百分之") + String(aht20.getData(AHT20::eAHT20HumiRH))));
}
}
材料清单
- 行空板k10 X1 链接
评论