Py学习  »  Python

懒人专用的奇淫技巧,用Python实现炫酷的语音操作电脑

菜鸟学Python • 4 年前 • 265 次点击  
点击上方"菜鸟学Python",选择"设为置顶or星标"
第一时间获取好玩有趣的Python文章

最近小编忙里偷闲的看了一部电影叫做《头号玩家》,虽然当时去电影院观看了,但是现在回看之后依然是感觉很过瘾,里面的虚拟现实让人看着非常的真实。小编也想过一把这种科幻的瘾。

虽然电影里的效果我们达不到,但是我们可以利用python来实现其他的炫酷科幻效果。今天小编就准备利用python来教大家实现利用语音来控制电脑。


要点:
其实利用语音来控制电脑的方式很简单,关键点在于如何与电脑通过语音产生互动,这里小编开始使用的是speech模块speech模块能够支持语音识别,将输入的语音信号转为文本等功能,非常的强大而且好用。通过speech模块可以将我们的命令转化为文本,然后调用python下的subprocess库来执行命令即可。


1


利用Subprocess


那么subprocess是如何执行命令的呢?熟悉Linux操作系统的朋友可以知道,通过命令行输入指令可以起到与图形界面相同的操作。Subprocess也是如此,例如,我们启动QQ,需要点击QQ.exe来打开QQ,那么在subprocess下只需要执行一句命令也可以达到相同的效果,如下图所示:



下面来看一下主要的核心程序:

  • 程序首先定义了部分的指令,比如我们常见的一些启动应用程序;

  • 然后通过speech模块来引导我们如何操作;

  • 我们通过麦克风输入指令后,程序便会调用subprocess模块来处理我们的指令;

  • 我们的指令也非常的简单,包括了打开关闭软件,建立备忘录以及播放一首歌曲;


需要注意的是,大家在安装speech模块,并调用的时候,可能会出现报错,原因是speech模块是基于python2来写的,大家需要做几处修改,如下图所示。


但是小编在最终的实验环节发现,speech模块并不能够很好的理解我们的语音,总是转换出错,根本用不了,因此小编只能更换语音识别的方法,选择用百度语音识别的API来进行处理。



2


百度语音识别


更换百度语音识别,需要更多的步骤来实现识别,首先我们需要用speech_recognition模块来采集我们的语音并保存到本地,然后通过百度语音识别的接口,将我们的语音上传后,将识别的结果返回给我们。部分程序如下图所示:

虽然多了几个步骤,运行速度也有点损失,但是效果确实是立竿见影的,下面小编就为大家展示一下最终的效果吧。


(最终效果 , 大概10s)


怎么样,看上去是不是很不错,我们仅仅利用语音便可以控制电脑来打开QQ和关闭QQ的操作,由于视频时间的关系,小编还没有展示其他的功能,大家可以继续探索,体验一下语音控制电脑的感觉吧。


往期热门:
51个Python鲜为人知的秘密特性,老司机看完都惊叹不已
九大神招,让Python里数据分析神器Jupyter,完美升华
Python里三个最高逼格的调试神器


千人学习群:
小密圈的趣味实战-微信主题
小密圈人气很高的两个实战项目

酷玩游戏:
强烈推荐,用Python轻松打造定制款《植物大战僵尸》
太好玩了,我用Python写了个火影忍者版的连连看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47800
 
265 次点击