BNF语音识别文件格式简介

此文分析离线语音识别的语义规则文件,即BNF文件,一般放在Android Studio的Assets文件夹下。本大侠使用的是科大讯飞的语音识别SDK,所以以下所有规则在此SDK下实测有效

1、结构

简单的说,BNF文件分为五个部分:

  1. 文档标示头;(不要去改就对了)
  2. 语法名称;
  3. 槽声明;
  4. 主规则(可引用子规则);
  5. 文档主体(具体的定义槽、引用规则)

2、定义

2.1 文档标示头

这个不细说,按默认来就好,它定义了文档的版本和编码格式,注意文档的内容必须和这里声明的编码格式统一。

#BNF+IAT 1.0 UTF-8;

2.2、 语法名称

一个文件只能有一个语法名称,作为这个BNF文件的一个识别名称。
(借助此名称可通过名称识别接口在不同的场景调用不同的语法规则,此功能未实测)

!grammar name;//定义语法名称

2.3、 槽声明

就是一个个坑,理解为活字印刷时的那些小坑,里面必须填入各种文字才行,非常方便动态修改识别命令。声明完槽后在文档底部的底部部分具体去定义每个声明过的槽的具体内容。这样语音识别引擎就会根据槽的内容去动态匹配你的指令。

!slot <name>;

2.4、 主规则

首先声明一个主规则名称

!start <ruleName>

然后为这个规则定义详细的识别规则,注意名称要和刚才声明的一样。

<ruleName>:<controlTV>|<controlAir>|<controlLight>;
//冒号后面都是一些引用规则,引用规则由一系列槽组成。

2.5、 文档主体

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值