摘要:之前我們總結(jié)了使用谷歌將語音轉(zhuǎn)換為文字的基本流程,然而那只是在命令行中使用實(shí)現(xiàn)的。配置開發(fā)環(huán)境筆者使用的是樹莓派進(jìn)行試驗(yàn)的,其他平臺(tái)的配置方法可以在這里查找。設(shè)置驗(yàn)證登錄谷歌云平臺(tái)控制臺(tái),前往創(chuàng)建服務(wù)賬號(hào)密鑰界面。
之前我們總結(jié)了使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字的基本流程,然而那只是在命令行中使用curl實(shí)現(xiàn)的。這次我們將總結(jié)在Python中使用Cloud Speech API的方法。
配置Python開發(fā)環(huán)境筆者使用的是樹莓派(Debian)進(jìn)行試驗(yàn)的,其他平臺(tái)的配置方法可以在這里查找。
安裝Python大多數(shù)Linux發(fā)行版都包含Python。對(duì)于Debian和Ubuntu,運(yùn)行以下指令確保Python版本是最新的:
sudo apt update sudo apt install python python-dev python3 python3-dev python-pip python3-pip安裝和使用virtualenv
盡管這一步不是必須的,但強(qiáng)烈建議你使用virtualenv。virtualenv是一種創(chuàng)建獨(dú)立Python環(huán)境的工具,可以將每個(gè)項(xiàng)目的依賴關(guān)系隔離開來。在虛擬環(huán)境下,你可以不必顧慮python2和python3的沖突;另外一個(gè)優(yōu)勢(shì)是可以直接將你的項(xiàng)目文件夾復(fù)制到其他機(jī)器上,文件夾內(nèi)就包含了項(xiàng)目所依賴的軟件包。
sudo apt install python-virtualenv
安裝完成后,就可以在你的項(xiàng)目文件夾中創(chuàng)建一個(gè)虛擬環(huán)境。
cd 項(xiàng)目文件夾 virtualenv --python python3 env
使用 --python 標(biāo)志來告訴virtualenv要使用哪個(gè)Python版本,這次試驗(yàn)將全程以python3環(huán)境進(jìn)行。執(zhí)行后會(huì)在 項(xiàng)目文件夾 內(nèi)創(chuàng)建一個(gè) env 文件夾。
創(chuàng)建完成后,你需要“激活”virtualenv。激活virtualenv會(huì)告訴你的shell為Python使用virtualenv的路徑。
source env/bin/activate
看到激活虛擬環(huán)境后,你就可以放心地安裝軟件包,并確信它們不會(huì)影響其他項(xiàng)目。
如果你想停止使用virtualenv并返回到全局Python環(huán)境,你可以關(guān)閉它:
deactivate配置Cloud Speech API客戶端庫(kù)
我們假定你已經(jīng)有合適的代理,能夠使用谷歌服務(wù),并且已經(jīng)開始使用Google云平臺(tái)。如果你有疑問,或許可以參考這篇文章。
安裝客戶端庫(kù)如果你安裝了virtualenv,請(qǐng)確保激活了虛擬環(huán)境。
pip install --upgrade google-cloud-speech
值得一提的是,筆者使用的樹莓派在安裝進(jìn)行到 Running setup.py bdist_wheel for grpcio ... 時(shí)停留了非常久(10分鐘以上),這屬于正?,F(xiàn)象,樹莓派編譯進(jìn)行得很慢,需要耐心等待。
設(shè)置驗(yàn)證登錄谷歌云平臺(tái)控制臺(tái),前往創(chuàng)建服務(wù)賬號(hào)密鑰界面。
從 服務(wù)帳戶 下拉列表中選擇 新建服務(wù)帳戶 。輸入合適的 服務(wù)帳號(hào)名稱 , 角色 選擇 Project → 所有者 。 密鑰類型 選擇 JSON 。
點(diǎn)擊 創(chuàng)建 后,會(huì)開始下載包含密鑰的JSON文件,請(qǐng)妥善保存 。
最后,將環(huán)境變量 GOOGLE_APPLICATION_CREDENTIALS 設(shè)置為含密鑰的JSON文件的文件路徑,例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/pi/speech/speech-account.json"
請(qǐng)將 /home/pi/speech/speech-account.json 替換為你的json文件路徑。
當(dāng)然,直接輸入上述命令設(shè)置的環(huán)境變量是臨時(shí)的。一個(gè)比較實(shí)用的方法是在 ~/.bashrc 文件中設(shè)置環(huán)境,之后就不需要再手動(dòng)設(shè)置了。
sudo nano ~/.bashrc
在文件末尾插入上述 export 命令,保存。
使用客戶端庫(kù)下例給出了使用客戶端庫(kù)的方法。
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))
幾點(diǎn)說明:
file_name 給出了聲音文件的路徑。其中 os.path.dirname(__file__) 表示py代碼所在文件夾的路徑。故上例中聲音文件是py代碼相同目錄下的 voice.wav 。
config 給出了聲音文件的編碼信息,Cloud Speech API并不支持任意格式的聲音文件,詳細(xì)要求參見:AudioEncoding | Google Cloud Speech API 。
language_code="cmn-Hans-CN" 表示識(shí)別語言為中文普通話。常用的還有American English (en-US)、British English (en-GB)、日本語(ja-JP)、廣東話(yue-Hant-HK)。更多語言支持可以在Language Support | Google Cloud Speech API查詢。
運(yùn)行結(jié)果:
"Confidence"是置信度,越接近1準(zhǔn)確性越高。
小結(jié)至此,Cloud Speech API的使用總結(jié)就告一段落了,希望能對(duì)你有所幫助。這篇總結(jié)是參照著Google Cloud Speech API文檔寫下的,如果有何紕漏懇請(qǐng)指出。
感謝你閱讀文章!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44591.html
摘要:如果你有疑問,或許可以參考創(chuàng)建密鑰使用谷歌將語音轉(zhuǎn)換為文字。將其取出,得到字典。 在之前發(fā)布的使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字一文中,我們實(shí)現(xiàn)了在控制臺(tái)使用curl發(fā)送post請(qǐng)求,得到語音轉(zhuǎn)文字的結(jié)果;而在Python中使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字一文中,我們實(shí)現(xiàn)了安裝Cloud Speech API客戶端庫(kù),通過調(diào)用庫(kù)函數(shù)得到語音...
摘要:全球主要的云計(jì)算提供商現(xiàn)在提供基于云計(jì)算的人工智能產(chǎn)品。顯然,由于從頭開始構(gòu)建這樣一個(gè)系統(tǒng)的費(fèi)用高昂,人工智能作為一項(xiàng)服務(wù)仍然一直位于行業(yè)巨頭所在的領(lǐng)域。在用于人工智能服務(wù)的品牌下,公司提供不少于項(xiàng)服務(wù)。如今,采用人工智能的企業(yè)遇到了一個(gè)主要障礙,那就是在內(nèi)部開發(fā)人工智能產(chǎn)品成本高昂,因此有了外包人工智能產(chǎn)品的需求。而對(duì)于從中小企業(yè)到預(yù)算受限的大型企業(yè)來說,通過云計(jì)算來采用人工智能的成本要低...
閱讀 3501·2023-04-26 02:00
閱讀 3094·2021-11-22 13:54
閱讀 1707·2021-08-03 14:03
閱讀 718·2019-08-30 15:52
閱讀 3098·2019-08-29 12:30
閱讀 2429·2019-08-26 13:35
閱讀 3375·2019-08-26 13:25
閱讀 3011·2019-08-26 11:39