linux上科大讯飞六麦语音模块使用方法

[ 讯飞六麦语音linux ] : Linux上科大讯飞六麦语音模块使用方法

1.首先将xf_mic_asr_offine和xf_mic_tts_offine两个包放在自己创建的工作空间下的src目录中,接着去科大讯飞开放平台注册自己的账号,并设

置密码。(密码要记住哦!)

2.点击“控制台”,点击“创建新应用”,输入自己的应用的名字(随便输入),下面的选项同理。完成后会生成一个以自己设置的应用的名字为名字的应用,

(还会有一个APPID,这个巨重要!)。

3.接着点进去,看左侧的那一栏,点击“语音识别”,然后你就会看到最下面的那一个为"离线命令词识别",点击他。

4.在右侧那一栏中你会看到有个"linux MSC",而且后面还跟个“1227”,点击右侧的”下载“。

5.然后出现的第一个是你的应用名称,第二个你需要把平台选为“linux”,稍等片刻,依次点亮“离线命令词识别”,“离线语音合成(普通)”。(这一步很重要!)

6.接着点击“SDK下载”(注意这一步必须要你实名认证了才能下载),下载好了之后,将zip文件提取。

7.将库文件导入自己的库中,依次点击提取的文件中的libs->x64,然后你就会看到libmsc.so的库文件,然后在当前页面打开终端,输入

sudo cp libmsc.so /usr/lib/

即可。

8.文件与路径与APPID的更换,巨重要!千万不能出错!

(1)依次点击提取的文件中的bin->msc->res->asr,然后你就会看到有一个名为common.jet的文件。我们要用它替换掉xf_mic_asr_offine-

>config->msc->res->asr中的common.jet。并将Grmuild删掉。

(2)依次点击提取的文件中的bin->msc->res->tts,然后你就会看到有一个名为common.jetxiaofeng.jet和xiaoyan.jet的三个文件。我们要用

这三个文件替换掉 xf_mic_tts_offine->config->config->msc->res->tts中的三个文件。

(3)在自己创建的工作空间中左侧文件栏找“搜索”选项,在文件中找到旧的appid号,将其复制到搜索的第一栏中,并将上文提到的自己创建的appid号

放到替换一栏中,点击“全部替换”。

(4)在自己创建的工作空间中左侧文件栏找“搜索”选项,在文件中找到旧的路径,例如/home/robotprg/xf/src/xf_mic_asr_offline,将其复制到

搜索的第一栏中,换成自己的用户名和工作空间名,

​ 例如/home/用户名/工作空间名/src/xf_mic_asr_offline,其他不变,然后进行全部替换。

(5)最后进行编译,只要到100%就行。

9.配置udev规则,找到xf_mic.rules所在的文件夹,在当前页面打开终端,运行

sudo cp xf_mic.rules /etc/udev/rules.d/ 

接着运行

sudo service udev restartsh

10.安装驱动

(1)声卡库

sudo apt-get install libasound2-dev s

(2)音频播放库

sudo apt-get install sox  
sudo apt-get install mplayer

(3)命令输入lsusb,如果检测到了10d6:b003的设备,麦克风设备读取成功!

11.在终端运行xf_mic_asr_offinexf_mic_tts_offine两个launch文件就可以进行语音人机交互了。注意人只能说call.bnf中的关键词才能被语音模

块识别到!

12.有关于bnf语法
BNF(巴科斯范式)是一种用来描述语法的语言,它能够以简洁的方式定义编程语言或命令格式。
在编写BNF文件时,需要遵循一定的结构和规则,比如使用“::=”来表示非终止符和它的替换规则。例如,如果用BNF来定义中文句子的结构,可能会写出如下的规则:<句子> ::= <主语><谓语><宾语>,其中<主语>、<谓语>和<宾语>都是非终止符,它们可以进一步被名词、代词、动词、形容词等其他非终止符或终止符替换。

BNF使用一些特定的符号来表示选项和重复:

| 表示选择,即“或”的关系。
, 用于分隔列表中的项。
[ ] 表示里面的部分是可选的。
{ } 表示里面的部分可以重复

例如

#BNF+IAT 1.0 UTF-8;
!grammar call;
!slot <thing>;
!slot <direction>;
!start <callstart>;

<callstart>:<first>|<second>|<third>|<forth>|<fifth>|<end>;
<first>:(启动|关闭)跟随模式|(启动|关闭)导航|建图模式|保存地图|停下|跟我走|准备打开跟随;
<second>:该点要放置<thing>;
<third>:[<action>][<Locations>][<name>];
<forth>:living room;
<fifth>:go to;
<end>:我需要的物品是<thing>|我想要的商品是<thing>|我想要<thing>;
<Locations>:corridor|bedroom|dining room|living room|kitchenble|sink|counter|dishwasher;
<name>:Alex|Charlie|Elizabeth|Francis|Jennifer|Linda|Mary|Patricia|Robin|Skyler|Jame;
<action>:go|Follow|navigate;
<thing>:饼干|薯片|乐事薯片|可乐|芬达|水|洗手液|洗洁精|雪碧|曲奇|面包|收银台;
<direction>:左|右|左边|右边;
<finally>:去终点|去收银台; 
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值