使用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:是否啟用驅動循環→ 開啟事件隊列更多測試
朗讀文本
事件監聽
打斷發音
更換發音人聲音
語速控製
音量控製
執行一個事件驅動循環
使用一個外部的驅動循環
相關資訊
最新熱門應用
bicc數字交易所app
其它軟件32.92MB
下載比特國際網交易平台
其它軟件298.7 MB
下載熱幣交易所app官方最新版
其它軟件287.27 MB
下載歐昜交易所
其它軟件397.1MB
下載vvbtc交易所最新app
其它軟件31.69MB
下載星幣交易所app蘋果版
其它軟件95.74MB
下載zg交易所安卓版app
其它軟件41.99MB
下載比特幣交易app安卓手機
其它軟件179MB
下載福音交易所蘋果app
其它軟件287.27 MB
下載鏈易交易所官網版
其它軟件72.70MB
下載