溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在python如何使用speech模塊

發(fā)布時間:2020-11-04 16:07:48 來源:億速云 閱讀:144 作者:Leah 欄目:開發(fā)技術(shù)

在python如何使用speech模塊?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

python中我們可以使用speech模塊讓計算機進行語音輸出,我們需要使用如下代碼安裝該模塊。對于如何在終端中安裝python相應(yīng)模塊,
Pycharm編譯器可以使用Win + R進入運行界面,輸入cmd并點擊確定進入終端
Anaconda編譯器可以打開Anaconda Powershell Prompt (anaconda),使用conda activate (虛擬環(huán)境名)進入終端,接下來在終端中使用如下安裝命令即可:

pip install speech

然而因為speech模塊最早是在python 2.x中開發(fā)的,因此在python 3.x中并不能夠直接使用,我們需要打開它安裝后的原始文件,并進行以下調(diào)整即可。
打開原始文件的簡潔方法:可以直接在編譯器中導(dǎo)入模塊,運行報錯后點擊錯誤信息直接進入對應(yīng)的位置。如下圖所示:

在python如何使用speech模塊

當(dāng)我安裝好以后第一次運行speech模塊后,出現(xiàn)了上述錯誤提醒,接著直接點擊File所在的那一行就可以進入錯誤所對應(yīng)的位置,即speech源文件需要更改的位置。若不使用此方法,就需要進入C:\Softwares\anaconda\envs\nano\Lib\site-packages目錄下找到speech.py打開后進行定位錯誤位置并更改,Anaconda中每個人的文件位置可能有差異。因為虛擬環(huán)境的創(chuàng)建一般不同,Pycharm中一般是相同的,可以自行查找。

接著我們按部就班地更改以下三個位置地源文件。

  • 原始文件第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)我們第一次運行這段調(diào)試程序時,windows 10會彈出一個語音設(shè)置輸入窗口,我們只需要根據(jù)自己喜歡的設(shè)定方式設(shè)定即可(這里不做討論)。接下來我們發(fā)現(xiàn),speech模塊就可以正常使用了。但是有一個問題,當(dāng)使用speech.say()進行語音輸出的時候,語言必須與windows 10的系統(tǒng)默認語言保持一致,否則無法識別,這里我的系統(tǒng)語言為德語,所以我使用了hallo輸出,但是當(dāng)我想要使用漢語作為語音輸出時就會失敗。那么如果想要使用其他語言怎么辦呢?將windows 10的系統(tǒng)默認語言更改即可,只需要下載一個語言包并安裝,可以自行百度,有很多,這里不做詳細說明。

最后再次運行調(diào)試程序,成功獲取到了對應(yīng)的語音輸出。

關(guān)于在python如何使用speech模塊問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI