智能语音唤醒
实验介绍
本章主要介绍通过本地HaaS HaaS唤醒词唤醒设备实现本地语音播报响应。 开始学习之前我们先看一下显示效果,如下所示:
涉及知识点
模拟MIC声音采样
喇叭播放mp3
本地唤醒AI推理引擎运用
OLED绘图
开发环境准备
硬件
开发用电脑一台
HAAS EDU K1 开发板一块
模拟MIC一个
喇叭一个
USB2TypeC 数据线一根
软件
AliOS Things开发环境搭建
开发环境的搭建请参考 @ref HaaS_EDU_K1_Quick_Start (搭建开发环境章节),其中详细的介绍了AliOS Things 3.3的IDE集成开发环境的搭建流程。
HaaS EDU K1 DEMO 代码下载
开发环境的搭建请参考《AliOS Things集成开发环境使用说明之搭建开发环境》,其中详细的介绍了AliOS Things 3.3的IDE集成开发环境的搭建流程。
本案例的代码下载请参考《AliOS Things集成开发环境使用说明之创建工程》,
> 选择解决方案:“HaaS EDU K1教育开发案例合集”
> 选择开发板:haaseduk1 board configure
-- 编译固件可参考《AliOS Things集成开发环境使用说明之编译固件》。
-- 烧录固件可参考《AliOS Things集成开发环境使用说明之烧录固件》。
OLED绘图
参考上一章节。
软硬件环境准备
硬件
1、开发用电脑一台
2、HaaS EDU K1开发板一个
3、USB Type-C 数据线一根
4、外接模拟MIC一个
硬件接线图
在本实验中,喇叭和模拟MIC与HaaS EDUK1连接如下所示:
软件设计
应用代码部分
文件路径如下: solutions/eduk1_demo/k1_apps/kws/kws.c solutions/eduk1_demo/k1_apps/kws/kws.h
# 唤醒后蜂鸣器发出声音,并播放本地响应TTS,等待播放结束重现显示语音唤醒初始界面
int32_t kws_callback(ai_result_t *result)
{
int32_t kws_ret = (int32_t)*result;
player_state_t player_state = -1;
if (kws_ret) {
beeper_start(0, 1, 25);
OLED_Clear();
OLED_Show_String(14, 24, "Hi, I am here!", 16, 1);
OLED_Refresh_GRAM();
beeper_stop(0);
/*play local asr*/
play_local_mp3();
uvocplayer->wait_complete();
OLED_Clear();
OLED_Show_String(28, 16, "HaaS HaaS!", 16, 1);
OLED_Show_String(28, 34, "Wakeup me!", 16, 1);
OLED_Icon_Draw(2, 24, &icon_skip_left, 0);
OLED_Icon_Draw(122, 24, &icon_skip_right, 0);
OLED_Refresh_GRAM();
}
return 0;
}