使用Google Speech Recognition做語音辨識 - Python

  Google的語音辨識能力很好,在Google的首頁就可以體驗到,雖然無法100%的神準,但是也夠用了。如果我們想要讓我們的程式具有語音辨識的能力,使用Google的語音辨識至少比我們自己手動寫出一套語音辨識系統強上太多了!

  因為我想快速的利用Python進行設計,查找之下發現已經有現成的套件可以使用,就是python的pygsr套件來作,已經都定義好的物件,直接呼叫使用。pygsr的source可以從下面網址下載,可以抓下來自行安裝,如果不想這麼麻煩可以直接用python的pip指令新增套件。以下教學是使用pip的方式,如果想認識pygsr的內容,可以抓source檔案下來研究。

(pygsr頁面: https://pypi.python.org/pypi/pygsr/0.1)


以下開始安裝必要的東西,下面四行依序打完無誤就行了。前兩個是使用pygsr的必要檔案;python-pip是使用pip新增python套件的必要程式;最後就是pygst套件的新增了:
$sudo apt-get install sox
$sudo apt-get install python-pyaudio
$sudo apt-get install python-pip
$sudo pip install pygsr




    如果有下載到pygsr的source整套檔案,裡面會附英文版的範例,在這裡我有改一套中文版的範例,差別在於語言的部份我改成了zh_TW,這樣就可以辨識中文了。


中文版程式碼:
from pygsr import Pygsr
speech = Pygsr()
# duration in seconds (3)
speech.record(3)
# select the language and obtain the result
phrase, complete_response = speech.speech_to_text('zh_TW')
print phrase


程式的運作過程是先進行錄音,再將錄下的音效檔案傳送給google進行辨識,最後將結果回覆顯示出來。如過要進行其他應用,可以將最後的結果取出使用,要注意的是如果辨識不出東西,則最後的輸出變數會顯示list長度錯誤,如果不想程式終止可能要做一些迴避的程式設計。

語言地點與代碼可以參考

留言

  1. 不好意思 @@
    我跑了這個範例 但出現上傳錯誤
    response = urllib2.urlopen(req)
    File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
    File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = meth(req, response)
    File "/usr/lib/python2.7/urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
    File "/usr/lib/python2.7/urllib2.py", line 438, in error
    return self._call_chain(*args)
    File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain
    result = func(*args)
    File "/usr/lib/python2.7/urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 400: Bad Request

    我有點不知道怎麼修改...

    回覆刪除
    回覆
    1. 您的網路連線是正常的嗎?
      這是我的猜測,如果不是網路問題,我也不太清楚了。

      刪除
    2. 是的 我網路是正常的
      但是我加上import urllib,urllib2之後
      會出現urllib2.HTTPError錯誤@@
      這是字串錯誤嗎?

      刪除
    3. 可能是pygsr函式庫的問題
      之後可能改別的函式庫試試看

      刪除
  2. 您好,當我載完
    $sudo apt-get install sox
    $sudo apt-get install python-pyaudio
    $sudo apt-get install python-pip
    $sudo pip install pygsr
    之後,我該從哪個目錄下執行sample呢??

    回覆刪除

張貼留言

Facebook

這個網誌中的熱門文章

[房屋]裝潢紀錄分享- 基本包冷氣管包梁工程。把冷氣管隱藏得無影無蹤

[心得]天作之合音樂劇「阿堯 Shemenayha」 at 台北表演藝術中心 大劇院

[台北]台北小巨蛋 冰上迪士尼。迪士尼主題花式溜冰的視覺饗宴

[印尼]印尼 巴淡島 旅遊 TOP 100量販超市必買商品推薦。咖啡、生活用品、泡麵

[工具]線上模擬器。簡單的硬體電路模擬小工具Falstad: Circuit Simulatior Applet

[食記]將捷金鬱金香酒店- 河畔餐廳 主餐+自助餐吃到飽心得

[軟體]PDFill - 功能強大的免費PDF處理與編輯軟體。常用功能教學

為您推薦