热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TWEN-ASR语音识别入门:运行首个程序

本文详细介绍了如何使用TWEN-ASRONE开发板运行第一个语音识别程序,包括开发环境搭建、代码编写、下载和调试等步骤。

本文旨在帮助初学者快速掌握TWEN-ASR ONE开发板的基本使用方法,通过实践运行第一个语音识别程序,加深对语音识别技术的理解。



1. 前言


语音识别技术在现代智能设备中应用广泛,如智能音箱、智能家居等。然而,许多商用语音识别模块存在一些限制,例如固定的唤醒词、有限的离线功能等。TWEN-ASR ONE开发板提供了一种灵活的解决方案,允许用户自定义唤醒词、离线控制功能,并且支持快速编程。本文将使用TWEN-ASR ONE V1.0开发板,演示如何运行第一个语音识别程序。



2. TWEN-ASR开发板介绍


TWEN-ASR ONE开发板集成了多种功能,包括RGB灯、26个IO引脚、外接喇叭和麦克风,适合快速验证语音产品的功能。开发板内置了脑神经网络处理器(BNPU),支持200条命令词以内的本地语音识别,同时具备高性能低功耗的Audio Codec模块和丰富的外围控制接口(UART、IIC、SPI、PWM、GPIO等)。这些特性使得TWEN-ASR ONE成为开发高性价比单芯片智能语音产品的理想选择。



3. 程序编写、下载、调试



3.1 安装开发软件


首先,需要安装天问Block开发软件。天问Block支持图形化编程和字符编程,安装完成后选择设备为TWEN-ASR。如下图所示:


天问Block设备选择图

3.2 程序编写


打开示例代码“1.第一个语音识别程序.hd”,默认为图形化编程模式。程序分为初始化和ASR_CODE两部分,初始化部分在上电时运行一次,ASR_CODE部分则循环运行。



3.2.1 图形化代码


图形化代码

从代码可以看出,初始化部分包括播报音设置、欢迎词设置、退出语音设置、唤醒词设置和命令词设置。具体步骤如下:



  • 播报音设置:选择不同的男声或女声,设置音量和语速。

  • 欢迎词设置:设置上电时的播报内容。

  • 退出语音设置:设置长时间无操作后的退出语音。

  • 唤醒词设置:设置唤醒模块的关键词。

  • 命令词设置:设置唤醒后识别的命令词。



3.2.2 字符代码



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

uint32_t snid;

void ASR_CODE() {
if (snid == 4) {
digitalWrite(13, 1);
}
if (snid == 6) {
digitalWrite(13, 0);
}
}

void setup() {
// 设置播报音
// {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:"好的,马上关闭红灯"}
}


上述代码实现了语音识别到“打开红灯”时点亮红灯,识别到“关闭红灯”时熄灭红灯的功能。RGB灯的控制电路如下图所示:


RGB灯原理图

3.3 程序下载


确保线路连接正常后,生成模型并编译下载。首次下载可能需要3分钟左右,耐心等待。下载完成后,开发板会播报欢迎词。


线路连接
模型生成
下载过程1
下载过程2

4. 运行测试


程序下载完成后,开发板会播报欢迎词:“欢迎使用智能管家,用智能管家唤醒我。”



用户:智能管家


ASR:我在


用户:打开红灯


ASR:好的,马上打开红灯


红灯亮

用户:关闭红灯


ASR:好的,马上关闭红灯


红灯灭


语音识别反应迅速,即使在声音较小的情况下也能准确识别。第一个程序实现了语音控制红灯的开关,效果良好。



5. 总结


本文介绍了如何使用TWEN-ASR ONE开发板实现语音识别功能,并通过控制红灯的开关进行了实际测试。整个过程相对简单,图形化编程直观易懂,适合初学者。字符代码则提供了更多的灵活性,方便进阶学习。TWEN-ASR ONE开发板支持自定义欢迎词、退出语音、命令词和唤醒词,还提供了多种声音、音量和语速的选择,满足了DIY爱好者的需求。



参考文献:


[1] TWen-ASR-ONE 快速上手说明 V1.0 (twen_asr.pdf)


推荐阅读
author-avatar
舅舅家123_204
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有