使用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
中文版程式碼:
因為我想快速的利用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長度錯誤,如果不想程式終止可能要做一些迴避的程式設計。
語言地點與代碼可以參考
不好意思 @@
回覆刪除我跑了這個範例 但出現上傳錯誤
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
我有點不知道怎麼修改...
您的網路連線是正常的嗎?
刪除這是我的猜測,如果不是網路問題,我也不太清楚了。
是的 我網路是正常的
刪除但是我加上import urllib,urllib2之後
會出現urllib2.HTTPError錯誤@@
這是字串錯誤嗎?
可能是pygsr函式庫的問題
刪除之後可能改別的函式庫試試看
您好,當我載完
回覆刪除$sudo apt-get install sox
$sudo apt-get install python-pyaudio
$sudo apt-get install python-pip
$sudo pip install pygsr
之後,我該從哪個目錄下執行sample呢??