ASRPRO芯片是针对低成本离线语音应用方案开发的一款通用、便携、低功耗高性能的语音识别芯片,采用了第三代 BNPU 技术,能支持 DNN\TDNN\RNN 等神经网络及卷积运算,支持语音识别、声纹识别、语音增强、语音检测等功能,具备强劲 的回声消除和环境噪声抑制能力。本教程将基于官方的编程手册简单介绍如何使用天问block对该芯片进行嵌入式开发。

一.天问block软件下载与配置

首先在搜索引擎中搜索天问block或通过以下网址进入天问block官网,点击上方”软件“链接进入下载地址。

网址:天问Block

 随后使用安装包进行安装,安装完成后初次运行会让你选择所用的主板,选择ASRPRO。

选择完后进入编程界面

编程界面简介:

点击上方四种编程模式中的专业模式进行编程。 

二.基础程序语句

1.变量:

 创建变量点击后在出现的窗口输入所需新变量名称,之后点击OK即可。(新变量生成后要记得在初始化区域内进行声明)

 用于对新变量的类型和初始值进行定义,前面的选项用于选择声明的变量,后面用于选择变量的类型,在后方通过连接数值块来定义变量的初始值,通常置于初始化区域内。

 通过在后方连接数值或算式程序块对变量赋与新值。

在程序中获得变量的值进行运用。

2.控制:

 延时语句,用于在程序中延时自定义的时间。(单位分别为毫秒与微秒)

 初始化区域,用于对程序内变量,引脚,可识别语音等工具进行初始化定义,内部的代码在单片机上电后自动运行一次。硬件外设初始化则运用于程序内包含的外设扩展库内容的初始化定义。

 如果(if)语句,通过判断后接的算式是否成立或布尔型变量的真假决定是否进入运行后续的程序

可通过上方的齿轮表示自定义该模块中重复判断(else if)的次数和是否加入否则(else)语句。

选择(switch)语句,根据后面连接的变量的值,选择程序后面运行那一部分的程序,可通过上方的齿轮自定义可选择数值(case)的数量,和决定是否使用其他数值(dwfault)选项。

 基础循环语句,程序会在区域内部循环执行。

 条件循环语句,程序在满足选项和后接算式定义的条件(重复当或重复直道满足算式要求)才进行循环,可通过图中内部的程序强行中断循环或选择进入下一循环。

 for循环语句,定义一个变量通过在每次循环中累加预设数值直到变量数值超出预设范围后退出循环来实现对循环次数的控制。

3.函数

通过上方的齿轮定义函数中的参数并通过下方选项选择器返回值,上方的问号可用于函数注释,内部使用的语句可使函数提前返回返回值,下方单一的语句用于在主函数内调用定义好的函数。

4.数学与逻辑

 

该选项内包含多种运算语句,可通过左边连接变量赋值语句或循环判断语句,将逻辑或数学运算的结果赋予变量或作为循环判断语句的条件。

数值

基础运算

 与或非和左移右移运算

 两数值之间的比较判断

 两个条件之间的与(且)或运算

 后方条件语句的相反结果

 在一定区间内生称的随机整数

 数值取整或取余运算

 其他复杂数学运算

 该语句用于改变后方数值或运算结果的类型以便于对前方变量进行赋值。

以上便是我对天问block编译环境和基础语句的概况梳理,后续将更新如何使用ASRPRO语音芯片实现各种功能的教学。

查看原文