這個頁面說明如何使用 Speech-to-Text API 和非同步語音辨識,將長音訊檔案 (長度超過 1 分鐘) 轉錄為文字。
關於非同步語音辨識
「批次語音辨識」會啟動長時間執行的音訊處理作業。使用非同步語音辨識可轉錄長度超過 60 秒的音訊。如果是較短的音訊,使用同步語音辨識會更快、更簡單。非同步語音辨識的上限為 480 分鐘 (8 小時)。
批次語音辨識功能只能轉錄儲存在 Cloud Storage 中的音訊。轉錄輸出內容可內嵌在回應中 (針對單一檔案的批次辨識要求),或寫入 Cloud Storage。
批次辨識要求會傳回 Operation
,其中包含有關要求目前辨識處理作業的資訊。您可以輪詢作業,瞭解作業何時完成及轉錄稿何時可用。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Speech-to-Text APIs.
-
Make sure that you have the following role or roles on the project: Cloud Speech Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
前往「身分與存取權管理」頁面 - 選取專案。
- 按一下 「授予存取權」。
-
在「New principals」(新增主體) 欄位中輸入使用者 ID。 通常是 Google 帳戶的電子郵件地址。
- 在「請選擇角色」清單中,選取角色。
- 如要授予其他角色,請按一下 「Add another role」(新增其他角色),然後新增其他角色。
- 按一下 [Save]。
Install the Google Cloud CLI.
-
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Speech-to-Text APIs.
-
Make sure that you have the following role or roles on the project: Cloud Speech Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
前往「身分與存取權管理」頁面 - 選取專案。
- 按一下 「授予存取權」。
-
在「New principals」(新增主體) 欄位中輸入使用者 ID。 通常是 Google 帳戶的電子郵件地址。
- 在「請選擇角色」清單中,選取角色。
- 如要授予其他角色,請按一下 「Add another role」(新增其他角色),然後新增其他角色。
- 按一下 [Save]。
Install the Google Cloud CLI.
-
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
用戶端程式庫可以使用應用程式預設憑證,輕鬆向 Google API 進行驗證,並傳送要求給這些 API。有了應用程式預設憑證,您就能在本機測試應用程式,然後再部署應用程式,無須變更基礎程式碼。詳情請參閱「 驗證用戶端程式庫」。
此外,請務必安裝用戶端程式庫。
啟用 Cloud Storage 存取權
Speech-to-Text 會使用服務帳戶存取 Cloud Storage 中的檔案。根據預設,服務帳戶可存取同一個專案中的 Cloud Storage 檔案。
服務帳戶的電子郵件地址如下:
service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com
如要將其他專案中的 Cloud Storage 檔案轉錄,您可以為這個服務帳戶授予其他專案中的 Speech-to-Text Service Agent 角色:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/speech.serviceAgent
如要進一步瞭解專案 IAM 政策,請參閱「管理專案、資料夾和機構的存取權」。
您也可以授予服務帳戶特定 Cloud Storage 值區的權限,讓服務帳戶享有更精細的存取權:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/storage.admin
如要進一步瞭解如何管理 Cloud Storage 存取權,請參閱 Cloud Storage 說明文件中的「建立及管理存取權控管清單」。
執行批次辨識作業,並顯示內嵌結果
以下範例說明如何對 Cloud Storage 中的音訊檔案執行批次語音辨識,並從回應中讀取內嵌的轉錄結果:
Python
執行批次辨識作業,並將結果寫入 Cloud Storage
以下範例示範如何對 Cloud Storage 中的音訊檔案執行批次語音辨識,並讀取 Cloud Storage 中輸出檔案的轉錄結果。請注意,寫入 Cloud Storage 的檔案是 JSON 格式的 BatchRecognizeResults
訊息:
Python
對多個檔案執行批次辨識
以下範例示範如何對 Cloud Storage 中的多個音訊檔案執行批次語音辨識,並讀取 Cloud Storage 輸出檔案中的轉錄結果:
Python
在批次辨識上啟用動態批次處理
動態批次處理可降低轉錄成本,但延遲時間較長。這項功能僅適用於批次辨識。
以下範例示範如何在啟用動態批次處理功能的情況下,對 Cloud Storage 中的音訊檔案執行批次辨識:
Python
覆寫每個檔案的辨識功能
根據預設,批次辨識會為批次辨識要求中的每個檔案使用相同的辨識設定。如果不同檔案需要不同的設定或功能,您可以使用 [BatchRecognizeFileMetadata
][batch-file-metadata-grpc] 訊息中的 config
欄位,為每個檔案覆寫設定。如需覆寫辨識功能的範例,請參閱辨識器說明文件。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
控制台
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID