python speech模块的使用方法


Posted in Python onSeptember 09, 2020

python中我们可以使用speech模块让计算机进行语音输出,我们需要使用如下代码安装该模块。对于如何在终端中安装python相应模块,
Pycharm编译器可以使用Win + R进入运行界面,输入cmd并点击确定进入终端
Anaconda编译器可以打开Anaconda Powershell Prompt (anaconda),使用conda activate (虚拟环境名)进入终端,接下来在终端中使用如下安装命令即可:

pip install speech

然而因为speech模块最早是在python 2.x中开发的,因此在python 3.x中并不能够直接使用,我们需要打开它安装后的原始文件,并进行以下调整即可。
打开原始文件的简洁方法:可以直接在编译器中导入模块,运行报错后点击错误信息直接进入对应的位置。如下图所示:

python speech模块的使用方法

当我安装好以后第一次运行speech模块后,出现了上述错误提醒,接着直接点击File所在的那一行就可以进入错误所对应的位置,即speech源文件需要更改的位置。若不使用此方法,就需要进入C:\Softwares\anaconda\envs\nano\Lib\site-packages目录下找到speech.py打开后进行定位错误位置并更改,Anaconda中每个人的文件位置可能有差异。因为虚拟环境的创建一般不同,Pycharm中一般是相同的,可以自行查找。

接着我们按部就班地更改以下三个位置地源文件。

  • 原始文件第157行,print prompt应该改为print(prompt)
  • 原始文件第59行,thread应该改为threading
  • 拖动文件到最后,将最后的部分改为:
class T(threading.Thread):
 def __init__(self):
  threading.Thread.__init__(self)
 
 
 def run(self):
   pass


 def _ensure_event_thread():
  """
  Make sure the eventthread is running, which checks the handlerqueue
  for new eventhandlers to create, and runs the message pump.
  """
  global _eventthread
  if not _eventthread:
   def loop():
    while _eventthread:
     pythoncom.PumpWaitingMessages()
     if _handlerqueue:
      (context,listener,callback) = _handlerqueue.pop()
      # Just creating a _ListenerCallback object makes events
      # fire till listener loses reference to its grammar object
      _ListenerCallback(context, listener, callback)
     time.sleep(.5)
   _eventthread = T()
   _eventthread.start()

然后我们输入以下测试代码:

import speech
class Debug:
 def __init__(self):
  speech.say("Hallo")

main = Debug()

当我们第一次运行这段调试程序时,windows 10会弹出一个语音设置输入窗口,我们只需要根据自己喜欢的设定方式设定即可(这里不做讨论)。接下来我们发现,speech模块就可以正常使用了。但是有一个问题,当使用speech.say()进行语音输出的时候,语言必须与windows 10的系统默认语言保持一致,否则无法识别,这里我的系统语言为德语,所以我使用了hallo输出,但是当我想要使用汉语作为语音输出时就会失败。那么如果想要使用其他语言怎么办呢?将windows 10的系统默认语言更改即可,只需要下载一个语言包并安装,可以自行百度,有很多,这里不做详细说明。

最后再次运行调试程序,成功获取到了对应的语音输出。

总结

到此这篇关于python speech模块的使用方法的文章就介绍到这了,更多相关python speech模块使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python深入学习之对象的属性
Aug 31 Python
Python中type的构造函数参数含义说明
Jun 21 Python
详解Python的Django框架中的模版继承
Jul 16 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
python 检查是否为中文字符串的方法
Dec 28 Python
django如何通过类视图使用装饰器
Jul 24 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
python树的同构学习笔记
Sep 14 Python
python语言是免费还是收费的?
Jun 15 Python
Python之qq自动发消息的示例代码
Feb 18 Python
Python实现8种常用抽样方法
Jun 27 Python
python计算auc的方法
Sep 09 #Python
详解anaconda离线安装pytorchGPU版
Sep 08 #Python
python如何将图片转换素描画
Sep 08 #Python
Python自动化之UnitTest框架实战记录
Sep 08 #Python
Python Opencv实现单目标检测的示例代码
Sep 08 #Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 #Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 #Python
You might like
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
PHP简洁函数小结
2011/08/12 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
python3访问sina首页中文的处理方法
2014/02/24 Python
Python入门篇之列表和元组
2014/10/17 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
new修饰符是起什么作用
2015/06/28 面试题
中间件的定义
2016/08/09 面试题
解释i节点在文件系统中的作用
2013/11/26 面试题
玩具公司的创业计划书
2013/12/31 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
承诺书模板大全
2015/05/04 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js