4. 语音识别

../_images/c03_13.png

4.1. 简介

语音识别,是CC喵最喜欢的一个人工智能功能。近年来智能音响大热,大家喜欢的功能无非就是,多了个语言控制,感觉机器是有生命的,能听懂人话,感觉很神奇很智能,那么本节,就由我带领你学会语音识别控制。

4.2. 原理

在说语音识别技术的原理前,我们先来学习下,人是如何听到别人说的话,并且理解句子的意思。

../_images/c03_12.png

声波由物体震动产生,它经过耳朵的一系列结构,最后声音触发了听神经,最后通过我们大脑将听到的话处理成可以理解的意思。

../_images/c03_14.png

同理,对于机器的语音识别一样。

麦克风将声波转换为电信号,电脑将电信号储存为音频文件,将其数字化。机器在对语音信号进行处理,进行特征提取,根据语言模型进行匹配,最后“听懂”这句话的意思。

4.3. 实验条件

  • 安装好Kittenblock
  • 麦克风或者带麦克风的USB摄像头(型号没有限制,但是麦克风质量最好是好一点的,不然识别率不是很高)
  • 电脑可以播放声音(记得调整好音量)
  • 畅顺的网络(文字朗读是通过云端服务器实现,用的是MIT的服务器)

(除此外,您无需购买小喵任何硬件套件,人工智能,小喵真的是做到普惠,希望各位老师多多支持!)

PS:Kittenblock软件安装过程很简单,这里不再作介绍,具体参照:

http://learn.kittenbot.cn/ 的Kittenblock教程分栏

../_images/c01_16.png

4.4. 插件加载

双击打开Kittenblock,左下角加载插件

../_images/c01_01.png

选择语音识别插件

../_images/c03_02.png

4.5. 插件成功加载

语音识别插件,使用非常简单,如果你用过手机的语音助手,那就很简单了。一般我们使用手机语音助手,需要按住一个虚拟按键,然后等待出现麦克风图标后,再进行语音对讲。

../_images/c03_03.png

4.6. 积木块具体介绍

一般使用语音识别插件,习惯性会把语音输入勾上,如图所示,因为语音识别的识别会被环境噪音或者朗读者的口音影响。所以为了知道服务器那边把我们的话识别成什么样,我们最好把勾勾上,这样最直观。

../_images/c03_04.png

语音录入按钮,点击一下。舞台的右下方就会出现一个红色的麦克风图标,这时候你就可以对着麦克风说话了。(等红色麦克风图标出现后,再说话)

../_images/c03_05.png

例如我说了“开始”,稍等片刻后,可以看出识别的结果为开始,识别率还是挺高的,虽然我的普通话真的好普通

../_images/c03_06.png

已经测试语音识别内容是OK的,我们写一个完整的识别程序,让舞台小猫进行反馈,当识别到我说话“开始”,小猫顺时针转一圈

../_images/c03_07.png

4.7. 识别不成功?

很多用户反馈识别不成功,有几方面的原因:

这个语音识别是利用国外MIT的服务器进行识别,所以如果你网络特别差,这个语音识别可能会不成功。

另外一个有可能是你的DNS问题,可以设置下你的网络设置,如图操作:

../_images/c03_10.png

如果你觉得这里不够详细,可以百度DNS的设置方法

4.8. 加入硬件更好玩

案例1:控制喵家能量魔块

../_images/c03_16.png

控制虚拟的东西总是有点无聊,我们能不能利用语音识别来控制喵家的产品套件呢?当然,本质就是软件与硬件之间的交互。

本示例所用的套件————能量魔块(Microbit、主控盒、电池盒、灰色乐高Geekservo),它是一款结合Microbit与乐高结构件的电子套件。

如果你对能量魔块不熟悉,可以访问http://learn.kittenbot.cn/ 的能量魔块分栏

../_images/c03_15.png

选择Powerbrick硬件,恢复固件后,连接串口(如果这里遇到问题,请在learn的相关页面进行学习

访问 http://learn.kittenbot.cn/ 的能量魔块分栏的快速开始

../_images/c03_09.png

编写对应的语音识别控制硬件的程序,这里是控制S2的角度,当识别到“举起手”,S2舵机转到90度,当识别到“放下手”,S2舵机转到180度(能量魔块记得插上电池盒)

../_images/c03_08.png

现象:当点击语音输入时,等待舞台右下方的麦克风出现后,说出“举起手”或者“放下手”。Microbit就会控制舵机做出不同的反应。

案例2:控制Microbit点阵

硬件选择Microbt-python——serial,然后恢复固件,最后连接上串口,如果你对此操作不熟悉可以跳转这里的教程

访问 http://learn.kittenbot.cn/ 的Microbit分栏的快速开始

../_images/c03_11.png

现象:当点击语音输入时,等待舞台右下方的麦克风出现后,说出“高兴开心”或者“伤心难过”,Microbit点阵屏上就会显示不同的表情。