最近小编忙里偷闲的看了一部电影叫做《头号玩家》,虽然当时去电影院观看了,但是现在回看之后依然是感觉很过瘾,里面的虚拟现实让人看着非常的真实。小编也想过一把这种科幻的瘾。
虽然电影里的效果我们达不到,但是我们可以利用python来实现其他的炫酷科幻效果。今天小编就准备利用python来教大家实现利用语音来控制电脑。
要点:
其实利用语音来控制电脑的方式很简单,关键点在于如何与电脑通过语音产生互动,这里小编开始使用的是speech模块,speech模块能够支持语音识别,将输入的语音信号转为文本等功能,非常的强大而且好用。通过speech模块可以将我们的命令转化为文本,然后调用python下的subprocess库来执行命令即可。
1
利用Subprocess
那么subprocess是如何执行命令的呢?熟悉Linux操作系统的朋友可以知道,通过命令行输入指令可以起到与图形界面相同的操作。Subprocess也是如此,例如,我们启动QQ,需要点击QQ.exe来打开QQ,那么在subprocess下只需要执行一句命令也可以达到相同的效果,如下图所示:
下面来看一下主要的核心程序:
需要注意的是,大家在安装speech模块,并调用的时候,可能会出现报错,原因是speech模块是基于python2来写的,大家需要做几处修改,如下图所示。
但是小编在最终的实验环节发现,speech模块并不能够很好的理解我们的语音,总是转换出错,根本用不了,因此小编只能更换语音识别的方法,选择用百度语音识别的API来进行处理。
2
百度语音识别
更换百度语音识别,需要更多的步骤来实现识别,首先我们需要用speech_recognition模块来采集我们的语音并保存到本地,然后通过百度语音识别的接口,将我们的语音上传后,将识别的结果返回给我们。部分程序如下图所示:
虽然多了几个步骤,运行速度也有点损失,但是效果确实是立竿见影的,下面小编就为大家展示一下最终的效果吧。
怎么样,看上去是不是很不错,我们仅仅利用语音便可以控制电脑来打开QQ和关闭QQ的操作,由于视频时间的关系,小编还没有展示其他的功能,大家可以继续探索,体验一下语音控制电脑的感觉吧。