成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

在Python中使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字

red_bricks / 936人閱讀

摘要:之前我們總結(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

相關(guān)文章

  • Python使用谷歌Cloud Speech API語音轉(zhuǎn)換文字(另一種方案)

    摘要:如果你有疑問,或許可以參考創(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ù)得到語音...

    ethernet 評(píng)論0 收藏0
  • 基于云計(jì)算上的人工智能服務(wù)

    摘要:全球主要的云計(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ì)算來采用人工智能的成本要低...

    Leo_chen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<