位置: 编程技术 - 正文

Python如何实现文本转语音(python文本文件操作步骤)

编辑:rootadmin

推荐整理分享Python如何实现文本转语音(python文本文件操作步骤),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何用python写出文字,如何用python写出文字,python语言中写文件的操作,python文章,python文章,python语言中写文件的操作,python怎么写文本文件,python中如何写文件,内容如对您有帮助,希望把文章链接给更多的朋友!

准备

我测试使用的Python版本为2.7.,如果你的版本是Python3.5的话,这里就不太适合了。

使用Speech API

原理

我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口。所以我们需要安装pywin来帮助我们完成这一个底层的交互。

示例代码

小总结

是的,调用接口来实现语音功能就是这么简单,但是我们不得不来聊一聊这种方式的缺点。

对中文支持的不够好,仅仅是这一点,估计在中国没几个用它的了。

还有就是语速不能很好的控制

pyttsx方式

原理

pyttsx 是Python的一个关于文字转语音方面的很不错的库。我们还可以借助pyttsx来实现在线朗读rfc文件或者本地文件等等,最为关键的是,它对中文支持的还是不错的。

示例代码

小总结

使用pyttsx,我们可以借助其强大的API来实现我们基本的业务需求。很酷吧。

pyttsx深入研究

做完上面的小实验,你肯定会觉得怎么这么不过瘾呢? 别担心,下面我们就一起走进pyttsx的世界,深入的研究一下其工作原理吧。

语音引擎工厂

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

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

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

sapi5 - SAPI5 on Windows

Python如何实现文本转语音(python文本文件操作步骤)

nsss - NSSpeechSynthesizer on Mac OS X

espeak - eSpeak on every other platform

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

引擎接口

要想很好的运用一个库,不了解其API是不行的。下面来看看pyttsx。engine.Engine的引擎API。

方法签名 参数列表 返回值 简单释义 connect(topic : string, cb : callable) topic:要描述的事件名称;cb:回调函数 → dict 在给定的topic上添加回调通知 disconnect(token : dict) token:回调失联的返回标记 Void 结束连接 endLoop() None → None 简单来说就是结束事件循环 getProperty(name : string) name有这些枚举值“rate, vioce,vioces,volumn → object 获取当前引擎实例的属性值 setProperty(name : string) name有这些枚举值“rate, vioce,vioces,volumn → object 设置当前引擎实例的属性值 say(text : unicode, name : string) text:要进行朗读的文本数据; name: 关联发音人,一般用不到 → None 预设要朗读的文本数据,这也是“万事俱备,只欠东风”中的“万事俱备” runAndWait() None → None 这个方法就是“东风”了。当事件队列中事件全部清空的时候返回 startLoop([useDriverLoop : bool]) useDriverLoop:是否启用驱动循环 → None 开启事件队列

元数据音调

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

age

发音人的年龄,默认为None

gender

以字符串为类型的发音人性别: male, female, or neutral.默认为None

id

关于Voice的字符串确认信息. 通过 pyttsx.engine.Engine.setPropertyValue()来设置活动发音签名. 这个属性总是被定义。

languages

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

name

发音人名称,默认为None.

更多测试

朗读文本

事件监听

打断发音

更换发音人声音

语速控制

音量控制

执行一个事件驱动循环

使用一个外部的驱动循环

总结

标签: python文本文件操作步骤

本文链接地址:https://www.jiuchutong.com/biancheng/386255.html 转载请保留说明!

上一篇:Python脚本处理空格的方法(如何用python编写脚本处理数据)

下一篇:教你用Type Hint提高Python程序开发效率(typeto)

  • 计提利息要计提手续费吗
  • 出口退税货物的进项税处理
  • 公司购买食品如何入账
  • 反结账只能反结上月的账吗
  • 资产负债表上的资产是原值还是净值
  • 暂停使用的固定资产什么时候停止折旧
  • 以非现金资产清偿债务的方式下,债权人
  • 劳务外包要通过应付职工薪酬吗
  • 其他贷款服务的内容包括
  • 接受投资者的无形资产
  • 完成税务登记之后多久开始报个税?
  • 不动产经营租赁印花税税率
  • 需不需要计提增值税发票
  • 小规模专票丢了怎么办
  • 混业经营试点
  • 2017年全国税收收入是多少
  • 中国公司可以给境外公司开发票吗
  • 非居民个人所得税税率表2021
  • 暂估运费成本的账务处理
  • 采购发票主要包括什么可以根据什么单据流转生成
  • 短期投资损失
  • 联想thinkpad安装win7方法
  • win10系统如何卸载ie11
  • 冲销应收账款怎么记账
  • 11的文件管理在哪
  • 商场充值卡发票在哪开
  • 数字证书费用计入管理费用什么科目
  • PHP:Memcached::get()的用法_Memcached类
  • 房地产企业所得税预提成本10%
  • 固定资产进项税额一次性抵扣
  • 如何计算企业年度人均产值
  • 制造业工资计提
  • 机器学习中的数学原理——过拟合、正则化与惩罚函数
  • python web开发方向的第三方库有哪些
  • abap webservice
  • ipcrm命令
  • 库存商品是什么会计要素
  • 奖金没有做到工资里怎么入账
  • 现金流量表现金等价物有哪些
  • 累计折旧如何计算使用年限
  • 个人生产经营所得范围
  • 赔偿支出需要纳税调整吗
  • sql server如何进行安全设置
  • 个人独资企业所得税申报流程
  • 没进项发票开销项发票是可以吗?
  • 管理费用如何填列
  • 增值税零税率与免税谁更优惠
  • 未支付怎么取消
  • 收到预付卡的发票是否可以报销呢?
  • 产权转移书据印花税
  • 城镇土地使用税征收范围
  • 付给供应商的货款怎么写记账凭证
  • 印花税的计税依据及税率
  • 通行费发票电子化 机场路
  • 销售收入包含哪些费用
  • 会计档案步骤
  • 企业所得税必须预缴吗
  • mysql中decimal对应java类型
  • vi修改文件
  • window xp电脑连接宽带怎么连接
  • windows设置tomcat自动重启
  • rundll32.exe进程很多
  • win7开机提示由于启动计算机时出现页面文件
  • cocos2dx安装和初步使用
  • cocos2dx游戏案例
  • opengl csdn
  • opengl编程宝典
  • 设计模式三种
  • 批处理/l
  • JavaScript的strict模式与with关键字介绍
  • unity获取物体的位置
  • nodejs开发微信小程序
  • unity3d怎么用
  • python怎么用
  • python字符有哪些
  • 个税申报系统如何增加新单位
  • 广西地方税务局2018年1号公告
  • 江西省国家税务局李德平
  • 17%增值税什么时候开始
  • 中国税务客服工作时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设