使用Speech API
原理
我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口。所以我们需要安装pywin32来帮助我们完成这一个底层的交互。
示例代码
语音引擎工厂
类似于设计模式中的“工厂模式”,pyttsx通过初始化来获取语音引擎。当我们第一次调用init操作的时候,会返回一个pyttsx的engine对象,再次调用的时候,如果存在engine对象实例,就会使用现有的,否则再重新创建一个。
pyttsx.init([driverName : string, debug : bool]) → pyttsx.Engine
从方法声明上来看,第一个参数指定的是语音驱动的名称,这个在底层适合操作系统密切相关的。如下:
drivename:由pyttsx.driver模块根据操作系统类型来调用,默认使用当前操作系统可以使用的最好的驱动
sapi5 - SAPI5 on Windows
nsss - NSSpeechSynthesizer on Mac OS X
espeak - eSpeak on every other platform
debug: 这第二个参数是指定要不要以调试状态输出,建议开发阶段设置为True
引擎接口
要想很好的运用一个库,不了解其API是不行的。下面来看看pyttsx。engine.Engine的引擎API。
方法签名参数列表返回值简单释义connect(topic : string, cb : callable)topic:要描述的事件名称;cb:回调函数→ dict在给定的topic上添加回调通知disconnect(token : dict)token:回调失联的返回标记Void结束连接endLoop()→ 简单来说就是结束事件循环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: 关联发音人,一般用不到→ 预设要朗读的文本数据,这也是“万事俱备,只欠东风”中的“万事俱备”runAndWait()→ 这个方法就是“东风”了。当事件队列中事件全部清空的时候返回startLoop([useDriverLoop : bool])useDriverLoop:是否启用驱动循环→ 开启事件队列更多测试
朗读文本
事件监听
打断发音
更换发音人声音
语速控制
音量控制
执行一个事件驱动循环
使用一个外部的驱动循环
相关资讯
最新热门应用
热币全球交易所官网苹果手机
其它软件38.33MB
下载币咖交易所app官网
其它软件86.26MB
下载马蹄链交易所app官网
其它软件223.89MB
下载dboss交易所app
其它软件23.10M
下载必安交易所官网
其它软件179MB
下载xt交易所安卓版
其它软件104.98 MB
下载bitflyer交易所app
其它软件89.13M
下载hoo交易所安卓版
其它软件34.95 MB
下载抹茶数字资产交易所app官网
其它软件137MB
下载芝麻交易所app手机版苹果版
其它软件223.89MB
下载