社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

菜鸟学Python • 5 年前 • 392 次点击  
点击上方"菜鸟学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
 
392 次点击