使用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:是否启用驱动循环→ 开启事件队列更多测试
朗读文本
事件监听
打断发音
更换发音人声音
语速控制
音量控制
执行一个事件驱动循环
使用一个外部的驱动循环
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载币交易所地址
其它软件274.98M
下载iotx交易所app
其它软件14.54 MB
下载zt交易所安卓最新版
其它软件273.2 MB
下载币拓交易所bittok
其它软件288.1 MB
下载u币交易所平台app
其它软件292.97MB
下载热币全球交易所app官网版
其它软件287.27 MB
下载多比交易平台app
其它软件28.28MB
下载币赢交易所app官网安卓版
其它软件14.78MB
下载toncoin币交易所安卓版
其它软件48MB
下载