摘要:之前我們總結了使用谷歌將語音轉換為文字的基本流程,然而那只是在命令行中使用實現的。配置開發環境筆者使用的是樹莓派進行試驗的,其他平臺的配置方法可以在這里查找。設置驗證登錄谷歌云平臺控制臺,前往創建服務賬號密鑰界面。
之前我們總結了使用谷歌Cloud Speech API將語音轉換為文字的基本流程,然而那只是在命令行中使用curl實現的。這次我們將總結在Python中使用Cloud Speech API的方法。
配置Python開發環境筆者使用的是樹莓派(Debian)進行試驗的,其他平臺的配置方法可以在這里查找。
安裝Python大多數Linux發行版都包含Python。對于Debian和Ubuntu,運行以下指令確保Python版本是最新的:
sudo apt update sudo apt install python python-dev python3 python3-dev python-pip python3-pip安裝和使用virtualenv
盡管這一步不是必須的,但強烈建議你使用virtualenv。virtualenv是一種創建獨立Python環境的工具,可以將每個項目的依賴關系隔離開來。在虛擬環境下,你可以不必顧慮python2和python3的沖突;另外一個優勢是可以直接將你的項目文件夾復制到其他機器上,文件夾內就包含了項目所依賴的軟件包。
sudo apt install python-virtualenv
安裝完成后,就可以在你的項目文件夾中創建一個虛擬環境。
cd 項目文件夾 virtualenv --python python3 env
使用 --python 標志來告訴virtualenv要使用哪個Python版本,這次試驗將全程以python3環境進行。執行后會在 項目文件夾 內創建一個 env 文件夾。
創建完成后,你需要“激活”virtualenv。激活virtualenv會告訴你的shell為Python使用virtualenv的路徑。
source env/bin/activate
看到激活虛擬環境后,你就可以放心地安裝軟件包,并確信它們不會影響其他項目。
如果你想停止使用virtualenv并返回到全局Python環境,你可以關閉它:
deactivate配置Cloud Speech API客戶端庫
我們假定你已經有合適的代理,能夠使用谷歌服務,并且已經開始使用Google云平臺。如果你有疑問,或許可以參考這篇文章。
安裝客戶端庫如果你安裝了virtualenv,請確保激活了虛擬環境。
pip install --upgrade google-cloud-speech
值得一提的是,筆者使用的樹莓派在安裝進行到 Running setup.py bdist_wheel for grpcio ... 時停留了非常久(10分鐘以上),這屬于正常現象,樹莓派編譯進行得很慢,需要耐心等待。
設置驗證登錄谷歌云平臺控制臺,前往創建服務賬號密鑰界面。
從 服務帳戶 下拉列表中選擇 新建服務帳戶 。輸入合適的 服務帳號名稱 , 角色 選擇 Project → 所有者 。 密鑰類型 選擇 JSON 。
點擊 創建 后,會開始下載包含密鑰的JSON文件,請妥善保存 。
最后,將環境變量 GOOGLE_APPLICATION_CREDENTIALS 設置為含密鑰的JSON文件的文件路徑,例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/pi/speech/speech-account.json"
請將 /home/pi/speech/speech-account.json 替換為你的json文件路徑。
當然,直接輸入上述命令設置的環境變量是臨時的。一個比較實用的方法是在 ~/.bashrc 文件中設置環境,之后就不需要再手動設置了。
sudo nano ~/.bashrc
在文件末尾插入上述 export 命令,保存。
使用客戶端庫下例給出了使用客戶端庫的方法。
import io import os # Imports the Google Cloud client library from google.cloud import speech from google.cloud.speech import enums from google.cloud.speech import types # Instantiates a client client = speech.SpeechClient() # The name of the audio file to transcribe file_name = os.path.join( os.path.dirname(__file__), "voice.wav") # Loads the audio into memory with io.open(file_name, "rb") as audio_file: content = audio_file.read() audio = types.RecognitionAudio(content=content) config = types.RecognitionConfig( encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code="cmn-Hans-CN") # Detects speech in the audio file response = client.recognize(config, audio) for result in response.results: print("Transcript: {}".format(result.alternatives[0].transcript)) print("Confidence: {}".format(result.alternatives[0].confidence))
幾點說明:
file_name 給出了聲音文件的路徑。其中 os.path.dirname(__file__) 表示py代碼所在文件夾的路徑。故上例中聲音文件是py代碼相同目錄下的 voice.wav 。
config 給出了聲音文件的編碼信息,Cloud Speech API并不支持任意格式的聲音文件,詳細要求參見:AudioEncoding | Google Cloud Speech API 。
language_code="cmn-Hans-CN" 表示識別語言為中文普通話。常用的還有American English (en-US)、British English (en-GB)、日本語(ja-JP)、廣東話(yue-Hant-HK)。更多語言支持可以在Language Support | Google Cloud Speech API查詢。
運行結果:
"Confidence"是置信度,越接近1準確性越高。
小結至此,Cloud Speech API的使用總結就告一段落了,希望能對你有所幫助。這篇總結是參照著Google Cloud Speech API文檔寫下的,如果有何紕漏懇請指出。
感謝你閱讀文章!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44591.html
摘要:如果你有疑問,或許可以參考創建密鑰使用谷歌將語音轉換為文字。將其取出,得到字典。 在之前發布的使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了在控制臺使用curl發送post請求,得到語音轉文字的結果;而在Python中使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了安裝Cloud Speech API客戶端庫,通過調用庫函數得到語音...
摘要:全球主要的云計算提供商現在提供基于云計算的人工智能產品。顯然,由于從頭開始構建這樣一個系統的費用高昂,人工智能作為一項服務仍然一直位于行業巨頭所在的領域。在用于人工智能服務的品牌下,公司提供不少于項服務。如今,采用人工智能的企業遇到了一個主要障礙,那就是在內部開發人工智能產品成本高昂,因此有了外包人工智能產品的需求。而對于從中小企業到預算受限的大型企業來說,通過云計算來采用人工智能的成本要低...
閱讀 3493·2023-04-26 02:00
閱讀 3085·2021-11-22 13:54
閱讀 1701·2021-08-03 14:03
閱讀 715·2019-08-30 15:52
閱讀 3092·2019-08-29 12:30
閱讀 2424·2019-08-26 13:35
閱讀 3368·2019-08-26 13:25
閱讀 3003·2019-08-26 11:39