python speech模塊的使用方法
在python中我們可以使用speech模塊讓計(jì)算機(jī)進(jìn)行語音輸出,我們需要使用如下代碼安裝該模塊。對于如何在終端中安裝python相應(yīng)模塊,
Pycharm編譯器可以使用Win + R進(jìn)入運(yùn)行界面,輸入cmd并點(diǎn)擊確定進(jìn)入終端
Anaconda編譯器可以打開Anaconda Powershell Prompt (anaconda),使用conda activate (虛擬環(huán)境名)進(jìn)入終端,接下來在終端中使用如下安裝命令即可:
pip install speech
然而因?yàn)?code>speech模塊最早是在python 2.x中開發(fā)的,因此在python 3.x中并不能夠直接使用,我們需要打開它安裝后的原始文件,并進(jìn)行以下調(diào)整即可。
打開原始文件的簡潔方法:可以直接在編譯器中導(dǎo)入模塊,運(yùn)行報(bào)錯(cuò)后點(diǎn)擊錯(cuò)誤信息直接進(jìn)入對應(yīng)的位置。如下圖所示:

當(dāng)我安裝好以后第一次運(yùn)行speech模塊后,出現(xiàn)了上述錯(cuò)誤提醒,接著直接點(diǎn)擊File所在的那一行就可以進(jìn)入錯(cuò)誤所對應(yīng)的位置,即speech源文件需要更改的位置。若不使用此方法,就需要進(jìn)入C:\Softwares\anaconda\envs\nano\Lib\site-packages目錄下找到speech.py打開后進(jìn)行定位錯(cuò)誤位置并更改,Anaconda中每個(gè)人的文件位置可能有差異。因?yàn)樘摂M環(huán)境的創(chuàng)建一般不同,Pycharm中一般是相同的,可以自行查找。
接著我們按部就班地更改以下三個(gè)位置地源文件。
- 原始文件第
157行,print prompt應(yīng)該改為print(prompt)。 - 原始文件第
59行,thread應(yīng)該改為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()
當(dāng)我們第一次運(yùn)行這段調(diào)試程序時(shí),windows 10會彈出一個(gè)語音設(shè)置輸入窗口,我們只需要根據(jù)自己喜歡的設(shè)定方式設(shè)定即可(這里不做討論)。接下來我們發(fā)現(xiàn),speech模塊就可以正常使用了。但是有一個(gè)問題,當(dāng)使用speech.say()進(jìn)行語音輸出的時(shí)候,語言必須與windows 10的系統(tǒng)默認(rèn)語言保持一致,否則無法識別,這里我的系統(tǒng)語言為德語,所以我使用了hallo輸出,但是當(dāng)我想要使用漢語作為語音輸出時(shí)就會失敗。那么如果想要使用其他語言怎么辦呢?將windows 10的系統(tǒng)默認(rèn)語言更改即可,只需要下載一個(gè)語言包并安裝,可以自行百度,有很多,這里不做詳細(xì)說明。
最后再次運(yùn)行調(diào)試程序,成功獲取到了對應(yīng)的語音輸出。
總結(jié)
到此這篇關(guān)于python speech模塊的使用方法的文章就介紹到這了,更多相關(guān)python speech模塊使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django實(shí)戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)
這篇文章主要介紹了Django實(shí)戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
Keras SGD 隨機(jī)梯度下降優(yōu)化器參數(shù)設(shè)置方式
這篇文章主要介紹了Keras SGD 隨機(jī)梯度下降優(yōu)化器參數(shù)設(shè)置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python人工智能語音合成實(shí)現(xiàn)案例詳解
這篇文章主要為大家介紹了Python人工智能語音合成實(shí)現(xiàn)案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Python實(shí)現(xiàn)基于標(biāo)記的分水嶺分割算法
分水嶺技術(shù)是一種眾所周知的分割算法,特別適用于提取圖片中的相鄰或重疊對象。本文將用Python實(shí)現(xiàn)基于標(biāo)記的分水嶺分割算法,感興趣的可以了解一下2022-07-07
人臉識別經(jīng)典算法一 特征臉方法(Eigenface)
這篇文章主要為大家詳細(xì)介紹了人臉識別經(jīng)典算法一,特征臉方法Eigenface,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03

