使用 API 將語音轉錄為文字
此頁面說明如何使用 REST 介面與 curl
指令,將語音辨識要求傳送至語音轉文字。
Speech-to-Text 可讓您將 Google 語音辨識技術輕鬆整合至開發人員應用程式。您可將音訊資料傳送至 Speech-to-Text API,然後 API 會傳回該音訊檔案的文字轉錄結果。如要進一步瞭解這項服務,請參閱「語音轉文字基本概念」。
事前準備
您必須先完成下列動作,才能將要求傳送至 Speech-to-Text API。詳情請參閱「事前準備」頁面。
- 在 Google Cloud 專案中啟用 Speech-to-Text。
- 確認已啟用 Speech-to-Text 的計費功能。
- 確認您具備完成本指南所需的權限。如果您是為了本指南建立新專案,就表示您已具備必要權限。
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- (選用) 建立新的 Google Cloud Storage 值區,以儲存音訊資料。
必要的角色
如要取得語音轉文字所需的權限,請要求管理員授予您專案的服務使用情形消費者 (roles/serviceusage.serviceUsageConsumer
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
提出音訊轉錄要求
現在您可以使用 Speech-to-Text 將音訊檔案轉錄成文字。請使用下列程式碼範例,將 recognize
REST 要求傳送至 Speech-to-Text API。
-
建立具有下列文字的 JSON 要求檔案,並將檔案儲存為
sync-request.json
純文字檔案:{ "config": { "encoding":"FLAC", "sampleRateHertz": 16000, "languageCode": "en-US", "enableWordTimeOffsets": false }, "audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } }
此 JSON 程式碼片段指示音訊檔案的編碼格式為 FLAC,取樣率為 16000 Hz,且音訊檔案儲存在 Google Cloud Storage 的指定 URI。此音訊檔案可公開存取,因此您不需要驗證憑證即可存取該檔案。
-
使用
curl
發出speech:recognize
要求,並傳送您在步驟 1 所設 JSON 要求的檔案名稱:範例
curl
指令會使用gcloud auth print-access-token
指令取得驗證權杖。curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer "$(gcloud auth print-access-token) \ https://speech.googleapis.com/v1/speech:recognize \ -d @sync-request.json
請注意,如要將檔案名稱傳送給
curl
,請使用-d
選項 (針對「資料」) 並在檔案名稱前加上@
符號。這個檔案的所在目錄應與您執行curl
指令的所在目錄相同。畫面會顯示類似以下的回應:
{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98267895 } ] } ] }
恭喜!您已將您的第一個要求傳送至 Speech-to-Text。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
- 使用 Google Cloud console 刪除您不需要的專案。
後續步驟
- 練習轉錄短音訊檔案。
- 瞭解如何批次處理長音訊檔案以進行語音辨識。
- 瞭解如何轉錄串流音訊,例如從麥克風轉錄。
- 使用 Speech-to-Text 用戶端程式庫,以您選擇的語言開始使用 Speech-to-Text。
- 逐步演練範例應用程式。
- 如要獲得最佳效能、準確率與其他提示,請參閱最佳做法說明文件。