Gere legendas WebVTT e SRT

Esta página descreve como usar a API Cloud Speech-to-Text para gerar automaticamente legendas a partir de ficheiros de áudio, nos formatos SRT e WebVTT. Estes formatos podem armazenar as informações de texto e tempo do áudio, o que permite apresentar legendas sincronizadas com o conteúdo multimédia para legendagem.

A ativação das saídas de legendas no seu pedido à API Cloud Speech-to-Text só é suportada na API V2. Em concreto, só pode usar o BatchRecognize para transcrever ficheiros de áudio longos. Pode guardar os resultados num contentor do Cloud Storage ou podem ser devolvidos inline. Podem ser especificados vários formatos em simultâneo para a configuração de saída do Cloud Storage, que é escrita no contentor especificado com extensões de ficheiros diferentes.

Ative as saídas de legendas num pedido

Para gerar resultados de legendas SRT ou VTT para o seu áudio através do Cloud Speech-to-Text, siga os passos seguintes para ativar os resultados de legendas no seu pedido de transcrição:

  1. Faça um pedido ao método BatchRecognize da Cloud Speech-to-Text API com o campo output_format_config preenchido. Os valores especificados são:
    • srt, para que a saída siga o formato SRT. - vtt, para que a saída siga o formato WebVTT.
    • native, que é o formato de saída predefinido se não for especificado nenhum formato como um pedido BatchRecognizeResults serializado.
  2. Uma vez que a operação é assíncrona, sondar o pedido até estar concluído.

Podem ser especificados vários formatos em simultâneo para a configuração de saída do Cloud Storage. São escritos no contentor especificado com extensões de ficheiro diferentes (.json, .srt ou .vtt).

Se forem especificados vários formatos para a configuração de saída inline, cada formato vai estar disponível como um campo na mensagem BatchRecognizeFileResult.inline_result.

O seguinte fragmento de código demonstra como ativar as saídas de legendas num pedido de transcrição para o Cloud Speech-to-Text através de ficheiros locais e remotos:

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

O que se segue?