python speech模块的使用方法

作者:python之恋 时间:2023-07-28 09:14:06 

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的系统默认语言更改即可,只需要下载一个语言包并安装,可以自行百度,有很多,这里不做详细说明。

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

来源:https://www.cnblogs.com/pythonzhilian/archive/2020/09/09/13636815.html

标签:python,speech,模块
0
投稿

猜你喜欢

  • 利用JAVA反射,读取数据库表名,自动生成对应实体类的操作

    2024-01-14 23:58:29
  • python爬虫scrapy框架的梨视频案例解析

    2023-01-16 08:22:19
  • python基础教程之常用运算符

    2021-09-07 00:11:47
  • 简单了解python字符串前面加r,u的含义

    2021-12-26 19:08:39
  • Python sklearn对文本数据进行特征化提取

    2023-05-19 09:07:04
  • Python中使用threading.Event协调线程的运行详解

    2023-08-05 04:39:05
  • 代码实例讲解python3的编码问题

    2022-08-19 10:59:15
  • 深入解析pandas数据聚合和重组

    2023-11-17 17:45:51
  • MYSQL 一个巧用字符函数做数据筛选的题

    2024-01-26 01:39:05
  • 对python中list的拷贝与numpy的array的拷贝详解

    2023-06-13 02:18:35
  • 跟混乱的页面弹窗说再见

    2024-06-07 16:02:05
  • 下拉框二级联动的JavaScript代码

    2009-05-18 18:39:00
  • plsql与tsql的语法不同

    2009-09-13 17:33:00
  • Python GUI和游戏开发从入门到实践

    2021-01-09 15:30:47
  • Python利用matplotlib生成图片背景及图例透明的效果

    2023-08-22 08:35:18
  • Django使用unittest模块进行单元测试过程解析

    2021-04-03 13:09:08
  • 修改mysql默认字符集的两种方法详细解析

    2024-01-27 01:48:17
  • python虚拟机之描述器实现原理与源码分析

    2022-05-24 14:41:10
  • 最简短的拖动对象js代码实例

    2007-10-09 13:33:00
  • 实现SQL Server 原生数据从XML生成JSON数据的实例代码

    2024-01-16 01:46:03
  • asp之家 网络编程 m.aspxhome.com