Generare sottotitoli codificati WebVTT e SRT

Questa pagina descrive come utilizzare l'API Cloud Speech-to-Text per generare automaticamente sottotitoli codificati da file audio nei formati SRT e WebVTT. Questi formati possono memorizzare il testo e le informazioni sulla sincronizzazione dell'audio, consentendo di visualizzare sottotitoli codificati o sottotitoli in sincronia con i contenuti multimediali per la sottotitolazione e i sottotitoli codificati.

L'attivazione degli output dei sottotitoli codificati nella richiesta a Cloud Speech-to-Text è supportata solo nell'API V2. In particolare, puoi utilizzare BatchRecognize solo per trascrivere file audio lunghi. Puoi salvare gli output in un bucket Cloud Storage o restituirli inline. È possibile specificare più formati contemporaneamente per la configurazione di output di Cloud Storage, che viene scritta nel bucket specificato con estensioni di file diverse.

Attivare gli output dei sottotitoli in una richiesta

Per generare output di sottotitoli codificati SRT o VTT per l'audio utilizzando Cloud Speech-to-Text, segui i passaggi successivi per attivare gli output di sottotitoli codificati nella richiesta di trascrizione:

  1. Invia una richiesta al metodo BatchRecognize dell'API Cloud Speech-to-Text con il campo output_format_config compilato. I valori specificati sono:
    • srt, in modo che l'output segua il formato SRT. - vtt, per l'output in formato WebVTT.
    • native, che è il formato di output predefinito se non viene specificato alcun formato come richiesta BatchRecognizeResults serializzata.
  2. Poiché l'operazione è asincrona, esegui il polling della richiesta finché non viene completata.

È possibile specificare più formati contemporaneamente per la configurazione di output di Cloud Storage. Vengono scritti nel bucket specificato con estensioni di file diverse (.json, .srt o .vtt).

Se vengono specificati più formati per la configurazione dell'output incorporato, ogni formato sarà disponibile come campo nel messaggio BatchRecognizeFileResult.inline_result.

Il seguente snippet di codice mostra come attivare gli output dei sottotitoli codificati in una richiesta di trascrizione a Cloud Speech-to-Text utilizzando file locali e remoti:

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": {} }
      }
    }'

Passaggi successivi