Gerar legendas WebVTT e SRT

Nesta página, descrevemos como usar a API Cloud Speech-to-Text para gerar legendas automaticamente a partir de arquivos de áudio nos formatos SRT e WebVTT. Esses formatos são usados para armazenar informações de texto e de marcação de tempo do áudio, possibilitando a exibição de legendas em sincronia com a mídia para legendagem e legendagem descritiva.

Só é possível ativar as saídas de legenda na sua solicitação para a Cloud Speech-to-Text com a API V2. Especificamente, o BatchRecognize só pode ser usado para transcrever arquivos de áudio longos. As saídas podem ser salvas em um bucket do Cloud Storage ou retornadas inline. Vários formatos podem ser especificados ao mesmo tempo para a configuração de saída do Cloud Storage, que é gravada no bucket especificado com diferentes extensões de arquivo.

Ativar saídas de legenda em uma solicitação

Se quiser gerar saídas de legenda SRT ou VTT para seu áudio usando a Cloud Speech-to-Text, siga as seguintes etapas para ativá-las na solicitação de transcrição:

  1. Faça uma solicitação para o método BatchRecognize da API Cloud Speech-to-Text 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 padrão se nenhum formato for especificado como uma solicitação BatchRecognizeResults serializada.
  2. Como a operação é assíncrona, sonde a solicitação até que ela seja concluída.

Vários formatos podem ser especificados ao mesmo tempo para a configuração de saída do Cloud Storage. Eles são gravados no bucket especificado com diferentes extensões de arquivo (.json, .srt ou .vtt).

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

O snippet de código abaixo demonstra como ativar saídas de legenda em uma solicitação de transcrição para a Cloud Speech-to-Text usando arquivos 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": {} }
      }
    }'

A seguir