Generare sottotitoli codificati WebVTT e SRT

Questa pagina descrive come utilizzare l'API Speech-to-Text V2 per generare automaticamente sottotitoli codificati da file audio nei formati SRT e VTT.

Panoramica

Puoi utilizzare la potenza dell'API Speech-to-Text V2 per generare automaticamente sottotitoli codificati accurati nei formati SubRip (.srt) e WebVTT (.vtt). Questi formati vengono utilizzati per memorizzare il testo e le informazioni sui tempi dell'audio, consentendo di visualizzare i sottotitoli o i sottotitoli codificati in sincronia con i contenuti multimediali per i sottotitoli e i sottotitoli codificati.

L'attivazione delle uscite dei sottotitoli codificati nella richiesta a Google Speech-to-Text è supportata solo nell'API V2. Nello specifico, puoi utilizzare BatchRecognize solo per trascrivere file audio lunghi. Puoi salvare gli output in un bucket Cloud Storage oppure possono essere restituiti in linea. È possibile specificare contemporaneamente più formati per la configurazione dell'output di Cloud Storage, che viene scritto nel bucket specificato con estensioni di file diverse.

Attivare le uscite dei sottotitoli codificati in una richiesta

Per generare output di sottotitoli codificati SRT o VTT per l'audio utilizzando la funzionalità di conversione di Google 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 Speech-to-Text V2 con il campo output_format_config compilato. I valori specificati sono:
    • srt, affinché l'output segua il formato SubRip(.srt).
    • vtt, affinché l'output segua il formato WebVTT(.vtt).
    • 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 fino al completamento.

È possibile specificare più formati contemporaneamente per la configurazione dell'output di Cloud Storage. Vengono scritti nel bucket specificato con estensioni di file diverse. Sono rispettivamente .json per il formato nativo, .srt per SRT e .vtt per il supporto WebVTT.

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

Il seguente snippet di codice mostra come attivare le uscite dei sottotitoli codificati in una richiesta di trascrizione a 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