天津SEO

电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声“我累了”,电脑就会放着优雅的轻音乐来让你放松。 或许你希望你在百忙之中,能让电脑郎读最新的NBA比分赛况….一切都是那么惬意。

在此告诉你,不要灰心,我们真的可以做一个。

做一个语音识别? 我相信很多人到这里会有两个心态,一是好奇,二是避之千里。

其实不然,你可以不用懂太多的编程技能,你甚至也可以不用懂自然语言处理技术,这篇文章虽然实现了语音操控但是绝没有你们想象的那么复杂。 如果仅仅把语音识别作为一个实现了的接口的话,剩下的逻辑就仅仅是IF-ELSE这些简单的元素了。

实现语音操控的原理

语音操控分为 语音识别和语音朗读两部分。

这两部分本来是需要自然语言处理技能相关知识以及一系列极其复杂的算法才能搞定,可是这篇文章将会跳过此处,如果你只是对算法和自然语言学感兴趣的话,就只有请您移步了,下面没有一个字会讲述到这些内容。

早在上世纪90年代的时候,IBM就推出了一款极为强大的语音识别系统-vio voice , 而其后相关产品层出不穷,不断的进化和演变着。 我们这里将会使用SAPI实现语音模块。

什么是SAPI?

SAPI是微软Speech API , 是微软公司推出的语音接口,而细心的人会发现从WINXP开始,系统上就已经有语音识别的功能了,可是用武之地相当之少,他并没有给出一些人性化的自定义方案,仅有的语音操控命令显得相当鸡胁。 那么这篇文章的任务就是利用SAPI进行个性化的语音识别。

准备阶段,你至少需要安装以下的工具:

Python2.7 http://python.org/

强烈建诡使用2.7,至今Python2.7拥有Python系列为数最多的工具和应用支持,同时也相对比较稳定。

Win32Com http://starship.python.net/~skippy/win32/Downloads.html

Python Win32增强工具,可以使Python调用WIN32COM接口,这个工具的出现使得Python变得无比强大

Speech.py http://pypi.python.org/pypi/speech/

这个是极为精简的封装模块,此处为可选项,当然我不建议重复造轮子,还是下吧,目前只支持Python2.6,但不用灰心,Python2.6和Python2.7的代码是兼容,不会有异常。

安装过程请依至上而下的顺序。

开发阶段

当你安装了上述的相关工具后,你就可以进行开发了:

先进行一个简单的环境调试:

复制代码 代码如下:

whileTrue:

phrase =speech.input()

speech.say("You said %s"%phrase)

ifphrase =="turn off":

break

上述代码是启动语音识别器,同时系统将会重复你所录入的语音,当遇到“turn off”时,就会自动关闭识别系统。

如果你通过测试无误的话,我们就可以开始进行扩展开发了。

1. 定义中文语义库

复制代码 代码如下:closeMainSystem ="关闭人机交互"

openEclipse ="我要写程序"

listenMusic ="我好累啊"

blog ="看博客"

php ="php"

java ="JAVA"

2. 定义相关语义操作逻辑

复制代码 代码如下:defcallback(phrase, listener):

print(": %s"%phrase)

ifphrase ==closeMainSystem:

speech.say("Goodbye. 人机交互即将关闭,谢谢使用")

listener.stoplistening()

sys.exit()

elifphrase ==openEclipse:

speech.say("请问您要写PYTHON还是JAVA程序?")

speech.listenforanything(callback)

elifphrase ==listenMusic:

speech.say("即将为你启动豆瓣电台")

webbrowser.open_new("http://douban.fm/")

elifphrase ==blog:

speech.say("即将进入Dreamforce.me")

webbrowser.open_new("http://dreamforce.me/")

elifphrase ==php:

speech.say("启动PHP编写器")

os.popen("E:\IDE\php_eclipse\eclipse\eclipse.exe")

elifphrase ==php:

speech.say("启动JAVA编写器")

os.popen("E:\IDE\php_eclipse\eclipse\eclipse.exe")

其中,os.popen是异步开启程序,此操作不会单独开启一个SHELL窗口,也不会阻塞当前进程。

speech.say() 是调用SAPI进行参数朗读。

webbrowser.open_new()是打开网页。

3.程序运行主体搭建

复制代码 代码如下:listener =speech.listenforanything(callback)

whilelistener.islistening():

text =input()

iftext =="不要语音了":

listener.stoplistening()

sys.exit()

else:

speech.say(text)

此段为运行主体,大意是开启语音监听,同时支持终端输入模式。如果你嗓子哑了的话,也可以打字来实现,哈哈~~

天津SEO

本文由诡异SEO团队整理编辑发布,不代表本站观点,且不保证刊登信息的正确性或可靠性,您于此接受并承认信赖任何信息所生的风险应自行承担,未经允许禁止转载,转载请注明出处及原文链接

python语音控制电脑程序_用Python编程实现语音控制电脑_天津SEO相关推荐

  1. 国产艾莫讯仿西门子S7-200PLC控制步进电机程序9,指令编程方法

    国产艾莫讯仿西门子S7-200PLC控制步进电机程序9,指令编程方法 , 一.包含内容: 1.艾莫讯plc(仿西门子200PLC)程序,带注释 2.mcgs7.7触摸屏程序: 3.步进电机细分设置为1 ...

  2. python小程序-10个Python练手小程序,学习python的很好的资料

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...

  3. python好学吗 老程序员-使用 Python 会降低程序员的编程能力吗?

    某些情况下会降低编程能力,某些情况下会提升编程能力,要看你怎么理解"编程能力". 1.使用 Python 会降低程序员的编程能力,这个假设成立的情形 如果强行要说使用Python可 ...

  4. python能做什么程序-学了 Python,能用来做什么?实际应用场景有哪些??

    无论是工作还是生活,Python都是一项实用而有趣的技能. Python具有广泛的应用程序,可以总结下图. 适用于工作:Python开发,Python搜寻器,大数据: 在生活中,爬行动物为生活增添了很 ...

  5. python能做什么程序-学完python可以做什么?

    Python是一种面向对象.解释性的高级程序语言,它已经被应用在众多领域,包括web开发.操作系统管理.服务器运维的自动化脚本.科学计算.桌面软件.服务器软件(网络软件).游戏等方面.未来它将被大规模 ...

  6. python好学吗 老程序员-学习python,难道是为了当一名苦逼的程序员吗?

    最近在和朋友聊天的时候,朋友问了我这样一个问题,问我:你报培训班学习python有用吗?听说程序员虽然工资高,但是工作强度很大,天天加班而且还会遇到中年危机,不像律师,会计这种越老越挣钱.当我听完后, ...

  7. python lisp_给Lisp程序员的Python简介

    作者:Peter Norvig,译者:jineslong 这是一篇为Lisp程序员写的Python简介(一些Python程序员告诉我,这篇文章对他们学习Lisp也有帮助,尽管这不是我的本意).基本上, ...

  8. 学python买什么电脑-程序员,买了台破Apple电脑,用来学Python

    有段时间,一直怀疑,那个朋友是苹果公司派来的间谍,老跟我说:用苹果电脑的人,气质会变得越来越好. 1 说多了以后,我竟然相信了,紧勒裤腰带好几个月,省吃俭用,到凑够数那天,激动得有些站不稳,走路一扭一 ...

  9. python大神的程序_6年Python大神总结10个开发技巧,80%的人都不会

    值得一提的是,这 10 个技巧全部收录在我自己写的 <Python黑魔法指南>里 另外要特别注意:光理论是不够的.这里顺便免费送大家一套2020最新python入门到高级项目实战视频教程, ...

  10. 100行python代码做一个程序_100行python代码实现微信跳一跳辅助程序

    写在前面 分享一下今天下午用python写的"跳一跳"小游戏的辅助程序.之前是准备用树莓派操控一个"机械手指"来代替人的触摸操作,但该方案还在酝酿中,实现了再分 ...

最新文章

  1. Ubuntu 16.04 amd64 bond mode6 配置
  2. 《流畅的Python》一副扑克牌中的难点
  3. linux挂载windows共享的远程目录
  4. 用加法器构造能够实现连续加法的电路
  5. C++ 常用设计模式
  6. Hadoop HBase
  7. qt mingw连接mysql_win下Qt连接MySql (mingw)
  8. Redis集群生产环境高可用方案实战过程
  9. 五、实现一个10秒钟的倒计时,即:从10~0依次打印,每次打印间隔一秒
  10. MES系统软件如何在数控加工车间应用?
  11. 数字一阶低通滤波器立体解析
  12. mt管理器图片在哪个文件夹_MT管理器构造(新手小白教程)-小白文件管理器
  13. 植被净初级生产力(NPP)的计算
  14. 如何做 ASO 优化?
  15. Linux上安装SAPGUI(附安装包)
  16. 【BlueZ5】 如何用MGMT接口实现ble slave
  17. 一键封装app--webapp、HybridApp
  18. 【MySQL练习】数据查询(02)-简易版
  19. CMOS反相器设计与仿真
  20. word_state

热门文章

  1. 视频云计算在NGB中应用的探讨
  2. Windows10家庭版添加组策略编辑器
  3. leaflet动态热力图分析(leaflet篇.16)
  4. thinkpad x1 carbon 5th 2017 ubuntu20.04安装指纹登录
  5. How to Write a Research Proposal
  6. 想到了几个不打工赚大钱的方法了呢
  7. 【2021年度总结】爱自己,是终身浪漫的开始
  8. 谷歌html怎么打字,Type Fu:练习正确的打字
  9. crawlspider解析,并使用crawlspider爬取八一中文网小说
  10. 电脑基站测试软件,Signalsitemap PC Tools(阿达基站路测PC辅助工具) V3.50 官方版