《语音识别TWen-ASR-ONE开发笔记》第2章 TWen-ASR-ONE开发环境搭建与使用

770 阅读3分钟

2.1 TWen-ASR-ONE开发环境搭建

下载地址:twen51.com/

第一步:下载天问 Block 软件 浏览器打开天问官方网站,点击天问 Block 下载 在这里插入图片描述

第二步:安装天问 Block 软件 根据提示默认安装,安装过程中会自动安装 STC-LINK 下载器的 CP210x 驱动。

在这里插入图片描述

第三步:运行天问 Block 软件 第一次打开软件,会让你选择主板,请选择 TWEN-ASR。

在这里插入图片描述

2.2 TWen-ASR-ONE编写程序

在上一节选择了TWEN-ASR后就会打开第一个范例。

在这里插入图片描述

2.2.1 图形代码

从图形代码我们可以看出,程序分两块,一块是初始化,另一块是ASR_CODE的逻辑代码。初始化程序是上电时运行一次,而ASR_CODE是循环运行。

初始化过程: 1.播报音设置。 可以设置不同的男声、女生。选择还是很多的。设置时,还可以听到声音,有点像手机换铃声,点击铃声就会播放铃声的声音。音量和语速根据自己的喜好选择即可。

在这里插入图片描述

2.添加欢迎词设置。 欢迎词是上电的时候会播报。 3.添加退出语音设置。 一段时间没有语音操作后,模块会播报退出语音,然后需要唤醒词唤醒。 4.添加识别词(唤醒词)。 唤醒词是唤醒模块工作的识别词。 5.添加识别词(命令词)。 命令词是需要唤醒后工作的识别词。

逻辑代码: 1.将P1_5拉高,则点亮红灯 2.将P1_5拉低,则关闭红灯

程序还是比较简单的。

RGB灯的电路如下:

在这里插入图片描述

红灯连接到了GPIO1_5(PWM4)上,控制GPIO的高低电平也就能控制LED。

2.2.2字符代码

上述图形代码也对应这相应的字符代码。

#include "asr.h"
#include "setup.h"

uint32_t snid;
void ASR_CODE();

void hardward_init(){
vTaskDelete(NULL);
}
//{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
//{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
//{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
/*描述该功能...
*/
void ASR_CODE(){
  if((snid) == 4){
    digitalWrite(13,1);
  }
  if((snid) == 6){
    digitalWrite(13,0);
  }
}

void setup()
{
  xTaskCreate(hardward_init,"hardward_init",128,NULL,4,NULL);
  //{speak:小蝶-清新女声,vol:10,speed:10}
  //{playid:10001,voice:欢迎使用智能管家,用智能管家唤醒我。}
  //{playid:10002,voice:我退下了,用智能管家唤醒我}
  //{ID:2,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
  //{ID:4,keyword:"命令词",ASR:"打开红灯",ASRTO:"好的,马上打开红灯"}
  //{ID:6,keyword:"命令词",ASR:"关闭红灯",ASRTO:"好的,马上关闭红灯"}
}

可以看到这里使用的FreeRTOS,这里只是给开发者提供了初始化和逻辑接口,因此这里只需要关注ASR_CODE即可。初始化的代码还是建议使用图形化的编程方式。

2.3 TWen-ASR-ONE程序编译下载测试 完成了代码开发,接下来就是编译下载测试。

在编译之前需要先后生成模型。 在这里插入图片描述

生成模型需要登录,如果没有账号密码,需要注册。

在这里插入图片描述

生成模型后,点击编译下载。第一次下载的时间比较长。耐心等待。以下是烧录的过程:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下载完成后,就会播放欢迎词,前提是你接上了喇叭。

如果一切正常,当你就可以和TWen-ASR-ONE进行交流了。

TWen-ASR-ONE: 欢迎使用智能管家,用智能管家唤醒我。

我:智能管家

TWen-ASR-ONE:我在

我:打开红灯

TWen-ASR-ONE:好的,马上打开红灯

在这里插入图片描述

我:关闭红灯

TWen-ASR-ONE:好的,马上关闭红灯

在这里插入图片描述

如果长时间不与TWen-ASR-ONE交流,TWen-ASR-ONE就会进入休眠状态,并会输出语音:

TWen-ASR-ONE: 我退下了,用智能管家唤醒我

笔者体验了多次,感觉还是很好的,反映也比较快,有兴趣的可以买来玩玩。