国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在Python中使用谷歌Cloud Speech API將語音轉換為文字

red_bricks / 927人閱讀

摘要:之前我們總結了使用谷歌將語音轉換為文字的基本流程,然而那只是在命令行中使用實現的。配置開發環境筆者使用的是樹莓派進行試驗的,其他平臺的配置方法可以在這里查找。設置驗證登錄谷歌云平臺控制臺,前往創建服務賬號密鑰界面。

之前我們總結了使用谷歌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

相關文章

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

    摘要:如果你有疑問,或許可以參考創建密鑰使用谷歌將語音轉換為文字。將其取出,得到字典。 在之前發布的使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了在控制臺使用curl發送post請求,得到語音轉文字的結果;而在Python中使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了安裝Cloud Speech API客戶端庫,通過調用庫函數得到語音...

    ethernet 評論0 收藏0
  • 基于云計算上的人工智能服務

    摘要:全球主要的云計算提供商現在提供基于云計算的人工智能產品。顯然,由于從頭開始構建這樣一個系統的費用高昂,人工智能作為一項服務仍然一直位于行業巨頭所在的領域。在用于人工智能服務的品牌下,公司提供不少于項服務。如今,采用人工智能的企業遇到了一個主要障礙,那就是在內部開發人工智能產品成本高昂,因此有了外包人工智能產品的需求。而對于從中小企業到預算受限的大型企業來說,通過云計算來采用人工智能的成本要低...

    Leo_chen 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<