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

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

