係統粉 > IT資訊 > 業界資訊

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈

發布時間:2018-03-10    瀏覽數:

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(1)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(2)

使用Speech API

原理

我們的想法是借助微軟的語音接口,所以我們肯定是要進行調用 相關的接口。所以我們需要安裝pywin32來幫助我們完成這一個底層的交互。

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(3)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(4)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(5)

示例代碼

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(6)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(7)

語音引擎工廠

類似於設計模式中的“工廠模式”,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:是否啟用驅動循環→ 開啟事件隊列

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(8)

更多測試

朗讀文本

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(9)

事件監聽

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(10)

打斷發音

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(11)

更換發音人聲音

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(12)

語速控製

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(13)

音量控製

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(14)

執行一個事件驅動循環

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(15)

使用一個外部的驅動循環

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(16)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(17)

軟工係的學生居然利用Python把文本轉語音!係主任跑來圍觀!哈哈(18)

上一篇:悲報:安卓9.0刪掉了通知欄快速設置功能 下一篇:《堡壘之夜》公布Xbox跨平台對戰係統:除了PS4,其餘設備可共同遊玩

相關資訊

最新熱門應用

電腦問答