python文字识别转语音完整代码,文字转语音 python

  python文字识别转语音完整代码,文字转语音 python

  # -*-编码:utf-8 -*-

  导入pyttsx3

  f=打开( all.txt , r )

  line=f.readline()

  engine=pyttsx3.init()

  正在…行:

  line=f.readline()

  打印(行,结束= )

  引擎。说(线)

  engine.runAndWait()

  f.close()

  安装

  点安装pyttsx3

  语音引擎工厂

  类似于设计模式中的工厂模式“,pyttsx3通过初始化来获取语音引擎。当我们第一次调用初始化操作的时候,会返回一个pyttsx3的发动机对象,再次调用的时候,如果存在发动机对象实例,就会使用现有的,否则再重新创建一个。

  pyttsx.init([driverName : string,debug : bool]) pyttsx .发动机

  从方法声明上来看,第一个参数指定的是语音驱动的名称,这个在底层适合操作系统密切相关的。如下:

  1 .驱动名:由pyttsx3.driver模块根据操作系统类型来调用,默认使用当前操作系统可以使用的最好的驱动

  Windows操作系统上的萨皮5 -萨皮5

  操作系统上的nsss-ns speech合成仪

  espeak -其他平台上的espeak

  调试:这第二个参数是指定要不要以调试状态输出,建议开发阶段设置为真实的

  引擎接口

  要想很好的运用一个库,不了解其应用程序接口是不行的。下面来看看pyttsx3。引擎。发动机的引擎API。

  方法签名

  参数列表

  返回值

  简单释义

  连接(主题:字符串,cb:可调用)

  主题:要描述的事件名称;cb:回调函数

  字典

  在给定的主题上添加回调通知

  断开连接(令牌:字典)

  令牌:回调失联的返回标记

  空的

  结束连接

  结束循环()

  没有人

  无

  简单来说就是结束事件循环

  getProperty(名称:字符串)

  名字有这些枚举值速率、音量、音量、音量

  对象

  获取当前引擎实例的属性值

  setProperty(名称:字符串)

  名字有这些枚举值速率、音量、音量、音量

  对象

  设置当前引擎实例的属性值

  说(文本:unicode,名称:字符串)

  文本:要进行朗读的文本数据;名称:关联发音人,一般用不到

  无

  预设要朗读的文本数据,这也是万事俱备,只欠东风"中的万事俱备"

  runAndWait()

  没有人

  无

  这个方法就是东风"了。当事件队列中事件全部清空的时候返回

  开始循环([useDriverLoop : bool])

  useDriverLoop:是否启用驱动循环

  无

  开启事件队列

  元数据音调

  在pyttsx3.voice.Voice中,处理合成器的发音。

  年龄

  发音人的年龄,默认为没有人

  性别

  以字符串为类型的发音人性别:男性、女性或中性。默认为没有人

  编号

  关于声音的字符串确认信息。通过pyttsx 3。引擎。引擎。设置属性值()来设置活动发音签名。这个属性总是被定义。

  语言

  发音支持的语言列表,如果没有,则为一个空的列表。

  名字

  发音人名称,默认为没有。

  更多测试

  朗读文本

  导入pyttsx3

  engine=pyttsx3.init()

  引擎。说(’莎莉在海边卖贝壳。)

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  事件监听

  导入pyttsx3

  定义onStart(名称):

  打印"起始",姓名

  定义单词(名称、位置、长度):

  打印"单词",名称,位置,长度

  def onEnd(姓名,已完成):

  打印"完成",名称,已完成

  engine=pyttsx3.init()

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  打断发音

  导入pyttsx3

  定义单词(名称、位置、长度):

  打印("单词"、名称、位置、长度)

  如果位置10:

  发动机停止()

  engine=pyttsx3.init()

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  更换发音人声音

  engine=pyttsx3.init()

  声音=引擎。getproperty(“声音”)

  对于声音中的声音:

  engine.setProperty(voice ,voice.id)

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  语速控制

  engine=pyttsx3.init()

  rate=engine.getProperty(rate )

  engine.setProperty(rate ,rate 50)

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  音量控制

  engine=pyttsx3.init()

  体积=发动机。getproperty(卷)

  engine.setProperty(volume ,volume-0.25)

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。)

  engine.runAndWait()

  执行一个事件驱动循环

  engine=pyttsx3.init()

  定义onStart(名称):

  打印("起始",名称)

  定义单词(名称、位置、长度):

  打印("单词"、名称、位置、长度)

  def onEnd(姓名,已完成):

  打印("完成",名称,已完成)

  if name==fox :

  engine.say(多懒的狗啊!,狗)

  elif name==dog :

  engine.endLoop()

  engine=pyttsx3.init()

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。,狐狸)

  engine.startLoop()

  使用一个外部的驱动循环

  engine=pyttsx3.init()

  引擎。说(’那只敏捷的棕色狐狸跳过了那只懒狗。,狐狸)

  engine.startLoop(False)

  必须在外部循环()内部调用# engine.iterate()

  外部循环()

  engine.endLoop()

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: