Generar subtítulos WebVTT y SRT

En esta página se describe cómo usar la API Speech-to-Text V2 para generar automáticamente subtítulos a partir de archivos de audio en formato SRT y VTT.

Información general

Puedes usar la potencia de la API Speech-to-Text V2 para generar automáticamente subtítulos precisos en los formatos SubRip (.srt) y WebVTT (.vtt). Estos formatos se usan para almacenar el texto y la información de los tiempos del audio, lo que permite mostrar subtítulos sincronizados con el contenido multimedia.

Solo se admite la habilitación de salidas de subtítulos en las solicitudes a Google Speech-to-Text en la API V2. En concreto, solo puedes usar BatchRecognize para transcribir archivos de audio largos. Puedes guardar las salidas en un segmento de Cloud Storage o devolverlas insertadas. Se pueden especificar varios formatos al mismo tiempo para la configuración de salida de Cloud Storage, que se escribe en el segmento especificado con diferentes extensiones de archivo.

Habilitar salidas de subtítulos en una solicitud

Para generar subtítulos en formato SRT o VTT para tu audio con Google Speech-to-Text, sigue los pasos que se indican a continuación para habilitar los subtítulos en tu solicitud de transcripción:

  1. Envía una solicitud al método BatchRecognize de la API Speech-to-Text V2 con el campo output_format_config rellenado. Los valores especificados son:
    • srt para que la salida siga el formato SubRip(.srt).
    • vtt para que la salida siga el formato WebVTT(.vtt).
    • native, que es el formato de salida predeterminado si no se especifica ningún formato como solicitud BatchRecognizeResults serializada.
  2. Como la operación es asíncrona, sondea la solicitud hasta que se complete.

Se pueden especificar varios formatos al mismo tiempo para la configuración de salida de Cloud Storage. Se escriben en el segmento especificado con diferentes extensiones de archivo. Esos valores son .json para el formato nativo, .srt para SRT y .vtt para WebVTT, respectivamente.

Si se especifican varios formatos para la configuración de salida insertada, cada formato estará disponible como campo en el mensaje BatchRecognizeFileResult.inline_result.

En el siguiente fragmento de código se muestra cómo habilitar las salidas de subtítulos en una solicitud de transcripción a Speech-to-Text mediante archivos locales y 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": {} }
      }
    }'

Siguientes pasos