本頁說明如何使用 Cloud Speech-to-Text API,從音訊檔案自動產生 SRT 和 WebVTT 格式的字幕。這些格式可儲存音訊的文字和時間資訊,因此能同步顯示字幕或隱藏式輔助字幕。
只有 V2 API 支援在 Cloud Speech-to-Text 要求中啟用字幕輸出功能。具體來說,BatchRecognize 只能用於轉錄長音訊檔案。您可以將輸出內容儲存在 Cloud Storage 值區中,也可以內嵌方式傳回。您可以同時為 Cloud Storage 輸出設定指定多種格式,並以不同副檔名寫入指定值區。
在要求中啟用字幕輸出
如要使用 Cloud Speech-to-Text 為音訊產生 SRT 或 VTT 字幕輸出,請按照下列步驟操作,在語音轉錄要求中啟用字幕輸出:
- 向 Cloud Speech-to-Text API
BatchRecognize方法發出要求,並填入output_format_config欄位。指定的值如下: - 由於作業是非同步,請輪詢要求,直到作業完成為止。
您可以同時為 Cloud Storage 輸出設定指定多種格式。這些檔案會寫入指定值區,並使用不同的副檔名 (.json、.srt 或 .vtt)。
如果為內嵌輸出設定指定多種格式,每種格式都會以 BatchRecognizeFileResult.inline_result 訊息中的欄位形式提供。
下列程式碼片段會示範如何在「Cloud 語音轉文字」的語音轉錄要求中啟用字幕輸出功能,並使用本機和遠端檔案:
API
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://speech.googleapis.com/v2/projects/my-project/locations/global/recognizers/_:batchRecognize \
--data '{
"files": [{
"uri": "gs://my-bucket/jfk_and_the_press.wav"
}],
"config": {
"features": { "enableWordTimeOffsets": true },
"autoDecodingConfig": {},
"model": "long",
"languageCodes": ["en-US"]
},
"recognitionOutputConfig": {
"gcsOutputConfig": { "uri": "gs://my-bucket" },
"output_format_config": { "srt": {} }
}
}'