社区导航

 
查看: 1645|回复: 6

[蓝牙BLE] 基于BlueNRG-1的语音识别方案BlueVoice【ST工程师干货文章分享】

[复制链接]

3340

TA的帖子

170

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2017-11-17 21:21:30 | 显示全部楼层 |阅读模式
BlueNRG-1为ST公司推出的超低功耗的BLESOC芯片,本文介绍基于BlueNRG-1的语音识别方案BlueVoice。BlueVoice方案将外部语音数据通过BLE协议传输到手机端APP,利用讯飞语音识别云服务解析语音内容并显示出来。

0?wx_fmt=png

下面介绍BlueVoice的使用方法,演示对着BlueNRG-1测试平台说出“你好”,在手机APP中显示出“你好”两个汉字。

一、硬件

使用BlueNRG-1开发板(STEVAL-IDB007V1)作为演示平台,并外置一个数字麦克风。
BlueNRG-1开发板
0?wx_fmt=jpeg
数字麦克风
0?wx_fmt=png

该麦克风有五个管脚,分别连接至开发板的对应管脚。麦克风与开发板的管脚对应关系如下:

麦克风管脚
开发板管脚
VDD
VBLUE(CN 2.2)
GND
GND(CN 2.6)
CLK
DIO2(CN1.4)
PDM(DATA)
DIO1(CN1.3)
L/R
VBLUE(CN2.2)

通过跳线将该麦克风模块连接到开发板的效果图如下:

0?wx_fmt=png


二、固件
ST提供了BlueVoice的测试工程,该工程中包含了BlueVoice软件包和可供测试的示例工程。该软件包支持16kHz和8kHz两种语音采样频率。对于简单的语音指令,可以使用8k的采样频率。打开工程文件bluevoice_application_peripheral.h,跳转到第71行,如下:

0?wx_fmt=png

宏变量FS指定了语音采样频率,请确保该工程的采样率为8000。编译后将工程Hex文件下载到BlueNRG-1的开发板中。正常运行时,开发板上的蓝色LED灯会慢慢闪烁。

三、APP
从ST供应商获取安卓或iOS版的BlueMSAPP(稍后会上传至GooglePlay和iOSAPP Store)。安卓版的BlueMS打开后界面如下:

0?wx_fmt=png

界面中上部的的图标(START SCANNING)为一个按钮,点击后APP将开始扫描周围的BlueVoice设备。假如下载了BlueVoice的开发板正在运行,则APP可以检测到它,如下图:

0?wx_fmt=png

选择该设备,将打开一个设备操作界面。BlueMS APP支持多种语音识别云服务,比如Google语音识别和讯飞语音识别。用户需要在设置界面选择中文地区,以使用讯飞服务,如果选择英文地区,则使用Google服务。在界面的右上角,选择ASRLanguage菜单项,选择Chinese。如下图:

0?wx_fmt=png
这时,可以看到BlueMS主界面:

0?wx_fmt=png
观察界面,可以看到本APP使用的是8kHz的采样频率(SamplingFreq),所以要求BlueVoice设备端也要使用8kHz的采样频率。同时,注意右下角的麦克风图标。在上图中,该图标的背景色为红色,点击该按钮,图标背景色会变为绿色。当背景色为红色时,BLE传输过来的数据会回放出来,即APP上可以听到用户在BlueVoice设备上说的语音内容。当背景色为绿色时,BLE传输过来的数据会传送到讯飞云服务器,解析后显示出来。

这时,单击开发板上的按键1(PUSH 1),使BlueVoice系统进入语音接收状态。注意,再次单击按键1,将结束语音接收状态,使得语音无法传输到BlueMSAPP中。

0?wx_fmt=png

同时,单击BlueMSAPP上的麦克风按钮,使其进入语音识别模式,此时图标底色应为绿色。这时,对着连接在开发板上的麦克风,说一句“你好”,就可以看到APP上的识别结果:

0?wx_fmt=png
更进一步,在APP中对该语音内容进行解析,转换成设备操作指令,通过BLE回传给BlueVoice设备端,即可实现通过语音控制设备。



扫一扫,关注 EEWORLD 微信订阅号

行业资讯、电子趣闻、技术干货、精彩活动……尽可掌握~



回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-11-17 23:35:50 | 显示全部楼层
8错8错


回复

使用道具 举报

325

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-11-19 09:38:30 | 显示全部楼层
sensorTile上也有一个声音传感器,不知道能不能这样用

点评

可以的,sensortile同样支持音频传输和语音识别  详情 回复 发表于 2017-11-20 15:09


回复

使用道具 举报

53

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-11-20 15:09:19 | 显示全部楼层
sanhuasr 发表于 2017-11-19 09:38
sensorTile上也有一个声音传感器,不知道能不能这样用

可以的,sensortile同样支持音频传输和语音识别


回复

使用道具 举报

234

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-12-15 09:37:10 | 显示全部楼层
很好的创意,支持。


回复

使用道具 举报

132

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2018-1-9 12:47:36 | 显示全部楼层
数字麦克风 什么型号,有规格书没?

点评

pdm接口的就可以 http://www.st.com/content/st_com/en/products/mems-and-sensors/mems-microphones.html?querycriteria=productId=SC1922  详情 回复 发表于 2018-1-9 12:58


回复

使用道具 举报

5244

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-1-9 12:58:29 来自手机 | 显示全部楼层
viphotman 发表于 2018-1-9 12:47
数字麦克风 什么型号,有规格书没?

pdm接口的就可以
http://www.st.com/content/st_com/en/products/mems-and-sensors/mems-microphones.html?querycriteria=productId=SC1922


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 17:10 , Processed in 0.262734 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表