このページでは、Cloud Speech-to-Text API を使用して、音声ファイルから SRT 形式と WebVTT 形式の字幕を自動的に生成する方法について説明します。これらの形式を使用して音声のテキストとタイミング情報を保存することで、字幕を作成するメディアと同期するように字幕を表示できます。
Cloud Speech-to-Text へのリクエストで字幕出力を有効にする機能は、V2 API でのみサポートされています。具体的に言えば、長い音声ファイルの音声文字変換に使用できるのは BatchRecognize のみです。出力は Cloud Storage バケットに保存することも、インラインで返すこともできます。Cloud Storage の出力構成には同時に複数の形式を指定できます。出力構成は指定したバケットに書き込まれ、異なるファイル拡張子が付加されます。
リクエストで字幕出力を有効にする
Cloud Speech-to-Text を使用して音声の SRT または VTT 字幕出力を生成するには、次の手順に沿って音声文字変換リクエストで字幕出力を有効にします。
output_format_configフィールドに値を入力して Cloud Speech-to-Text API のBatchRecognizeメソッドにリクエストを送信します。指定する値は次のとおりです。- このオペレーションは非同期に実行されるため、完了するまでリクエストをポーリングします。
Cloud Storage の出力構成には、同時に複数の形式を指定できます。出力構成は指定したバケットに書き込まれ、異なるファイル拡張子(.json、.srt、.vtt のいずれか)が付加されます。
インライン出力構成に対して複数の形式が指定されている場合、各形式は BatchRecognizeFileResult.inline_result メッセージのフィールドとして使用できます。
次のコード スニペットは、ローカル ファイルとリモート ファイルを使用して、Cloud Speech-to-Text への音声文字変換リクエストで字幕出力を有効にする方法を示しています。
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": {} }
}
}'
次のステップ
- 長い音声ファイルを文字に変換する方法を学習する。
- 最適な音声文字変換モデルを選択する方法を学習する。
- Chirp を使用して、音声ファイルの音声文字変換を行う。
- ベスト プラクティスのドキュメントで、最高のパフォーマンスと精度を実現するための方法やヒントを確認する。