Generar subtítulos WebVTT y SRT

En esta página se describe cómo usar la API Cloud Speech-to-Text para generar automáticamente subtítulos a partir de archivos de audio en formatos SRT y WebVTT. Estos formatos pueden 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 Cloud Speech-to-Text en la API V2. En concreto, solo puedes usar BatchRecognize para transcribir archivos de audio largos. Puedes guardar los resultados en un segmento de Cloud Storage o devolverlos insertados. 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 las salidas de subtítulos en una solicitud

Para generar subtítulos en formato SRT o VTT para tu audio con Cloud Speech-to-Text, sigue estos pasos para habilitar los subtítulos en tu solicitud de transcripción:

  1. Haz una solicitud al método BatchRecognize de la API Cloud Speech-to-Text con el campo output_format_config rellenado. Los valores especificados son:
    • srt para que la salida siga el formato SRT. - vtt para que la salida siga el formato WebVTT.
    • 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 mismo contenedor especificado con diferentes extensiones de archivo (.json, .srt o .vtt).

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 Cloud 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