Générer des sous-titres WebVTT et SRT

Cette page explique comment utiliser l'API Speech-to-Text V2 pour générer automatiquement des sous-titres à partir de fichiers audio, au format SRT et VTT.

Présentation

Vous pouvez utiliser la puissance de l'API Speech-to-Text V2 pour générer automatiquement des sous-titres précis aux formats SubRip (.srt) et WebVTT (.vtt). Ces formats permettent de stocker le texte et les informations de synchronisation de l'audio, ce qui permet d'afficher des sous-titres ou des sous-titres en mode VO pour le sous-titrage et les sous-titres en mode VO.

L'activation des sorties de sous-titres dans votre requête à Google Speech-to-Text n'est possible que dans l'API V2. Plus précisément, vous ne pouvez utiliser BatchRecognize que pour transcrire de longs fichiers audio. Vous pouvez enregistrer les sorties dans un bucket Cloud Storage ou les renvoyer en ligne. Vous pouvez spécifier plusieurs formats en même temps pour la configuration de sortie Cloud Storage, qui est écrite dans le bucket spécifié avec différentes extensions de fichier.

Activer les sorties de sous-titres dans une requête

Pour générer des sous-titres SRT ou VTT pour votre contenu audio à l'aide de Google Speech-to-Text, procédez comme suit pour activer les sorties de sous-titres dans votre requête de transcription :

  1. Envoyez une requête à la méthode BatchRecognize de l'API Speech-to-Text V2 avec le champ output_format_config renseigné. Les valeurs spécifiées sont les suivantes :
    • srt, pour que la sortie suive le format SubRip(.srt).
    • vtt, pour que la sortie suive le format WebVTT(.vtt).
    • native, qui est le format de sortie par défaut si aucun format n'est spécifié en tant que requête BatchRecognizeResults sérialisée.
  2. Étant donné que l'opération est asynchrone, interrogez la requête jusqu'à ce qu'elle soit terminée.

Vous pouvez spécifier plusieurs formats en même temps pour la configuration de sortie Cloud Storage. Ils sont écrits dans le bucket spécifié avec différentes extensions de fichier. Il s'agit respectivement de .json pour le format natif, de .srt pour le format SRT et de .vtt pour la compatibilité avec WebVTT.

Si plusieurs formats sont spécifiés pour la configuration de sortie intégrée, chaque format sera disponible en tant que champ dans le message BatchRecognizeFileResult.inline_result.

L'extrait de code suivant montre comment activer les sorties de sous-titres dans une requête de transcription envoyée à Speech-to-Text à l'aide de fichiers locaux et distants :

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

Étape suivante