您好,登錄后才能下訂單哦!
在python如何使用speech模塊?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在python
中我們可以使用speech
模塊讓計算機進行語音輸出,我們需要使用如下代碼安裝該模塊。對于如何在終端中安裝python相應模塊,Pycharm
編譯器可以使用Win + R
進入運行界面,輸入cmd
并點擊確定進入終端Anaconda
編譯器可以打開Anaconda Powershell Prompt (anaconda)
,使用conda activate (虛擬環境名)
進入終端,接下來在終端中使用如下安裝命令即可:
pip install speech
然而因為speech
模塊最早是在python 2.x
中開發的,因此在python 3.x
中并不能夠直接使用,我們需要打開它安裝后的原始文件,并進行以下調整即可。
打開原始文件的簡潔方法:可以直接在編譯器中導入模塊,運行報錯后點擊錯誤信息直接進入對應的位置。如下圖所示:
當我安裝好以后第一次運行speech
模塊后,出現了上述錯誤提醒,接著直接點擊File
所在的那一行就可以進入錯誤所對應的位置,即speech
源文件需要更改的位置。若不使用此方法,就需要進入C:\Softwares\anaconda\envs\nano\Lib\site-packages
目錄下找到speech.py
打開后進行定位錯誤位置并更改,Anaconda
中每個人的文件位置可能有差異。因為虛擬環境的創建一般不同,Pycharm
中一般是相同的,可以自行查找。
接著我們按部就班地更改以下三個位置地源文件。
157
行,print prompt
應該改為print(prompt)
。59
行,thread
應該改為threading
。class T(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): pass def _ensure_event_thread(): """ Make sure the eventthread is running, which checks the handlerqueue for new eventhandlers to create, and runs the message pump. """ global _eventthread if not _eventthread: def loop(): while _eventthread: pythoncom.PumpWaitingMessages() if _handlerqueue: (context,listener,callback) = _handlerqueue.pop() # Just creating a _ListenerCallback object makes events # fire till listener loses reference to its grammar object _ListenerCallback(context, listener, callback) time.sleep(.5) _eventthread = T() _eventthread.start()
然后我們輸入以下測試代碼:
import speech class Debug: def __init__(self): speech.say("Hallo") main = Debug()
當我們第一次運行這段調試程序時,windows 10
會彈出一個語音設置輸入窗口,我們只需要根據自己喜歡的設定方式設定即可(這里不做討論)。接下來我們發現,speech
模塊就可以正常使用了。但是有一個問題,當使用speech.say()
進行語音輸出的時候,語言必須與windows 10
的系統默認語言保持一致,否則無法識別,這里我的系統語言為德語,所以我使用了hallo
輸出,但是當我想要使用漢語作為語音輸出時就會失敗。那么如果想要使用其他語言怎么辦呢?將windows 10
的系統默認語言更改即可,只需要下載一個語言包并安裝,可以自行百度,有很多,這里不做詳細說明。
最后再次運行調試程序,成功獲取到了對應的語音輸出。
關于在python如何使用speech模塊問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。