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)文章
PyQT5之使用QT?Designer創(chuàng)建基本窗口方式
這篇文章主要介紹了PyQT5之使用QT?Designer創(chuàng)建基本窗口方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
基于Python的Post請(qǐng)求數(shù)據(jù)爬取的方法詳解
這篇文章主要介紹了基于Python的Post請(qǐng)求數(shù)據(jù)爬取的方法,需要的朋友可以參考下2019-06-06
Django實(shí)現(xiàn)自定義路由轉(zhuǎn)換器
有時(shí)候上面的內(nèi)置的url轉(zhuǎn)換器并不能滿足我們的需求,因此django給我們提供了一個(gè)接口可以讓我們自己定義自己的url轉(zhuǎn)換器,那么如何實(shí)現(xiàn),本文就來(lái)介紹一下2021-05-05
Python?SQLAlchemy建立模型基礎(chǔ)關(guān)系模式過(guò)程詳解
SQLAlchemy是Python編程語(yǔ)言下的一款開(kāi)源軟件。提供了SQL工具包及對(duì)象關(guān)系映射(ORM)工具,使用MIT許可證發(fā)行。SQLAlchemy“采用簡(jiǎn)單的Python語(yǔ)言,為高效和高性能的數(shù)據(jù)庫(kù)訪問(wèn)設(shè)計(jì),實(shí)現(xiàn)了完整的企業(yè)級(jí)持久模型”。SQL數(shù)據(jù)庫(kù)的量級(jí)和性能重要于對(duì)象集合2022-12-12
django 實(shí)現(xiàn)編寫控制登錄和訪問(wèn)權(quán)限控制的中間件方法
今天小編就為大家分享一篇django 實(shí)現(xiàn)編寫控制登錄和訪問(wèn)權(quán)限控制的中間件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python實(shí)現(xiàn)動(dòng)態(tài)循環(huán)輸出文字功能
這篇文章主要介紹了Python實(shí)現(xiàn)動(dòng)態(tài)循環(huán)輸出文字功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

