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批量生成本地ip地址的方法
Mar 23 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
python烟花效果的代码实例
Feb 25 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
Python基础知识之变量的详解
Apr 14 Python
Python包argparse模块常用方法
Jun 04 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
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
php实现微信发红包
2015/12/05 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
Python实现的tab文件操作类分享
2014/11/20 Python
深入理解Django的自定义过滤器
2017/10/17 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
台湾专柜女包:KINAZ
2019/12/26 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
精彩自我鉴定
2014/01/16 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
2015新学期开学寄语
2015/02/26 职场文书
董事长开业致辞
2015/07/29 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python