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, aux formats SRT et VTT.

Présentation

Vous pouvez exploiter 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 sont utilisés pour stocker le texte et les informations de synchronisation du contenu audio, ce qui permet d'afficher les sous-titres synchronisés avec le contenu multimédia pour le sous-titrage.

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 des fichiers audio longs. 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 le résultat respecte le format SubRip(.srt).
    • vtt pour que le résultat respecte 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. Comme 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 des extensions de fichier différentes. Il s'agit respectivement de .json pour la compatibilité native, de .srt pour l'affichage SRT et de .vtt pour la compatibilité 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": {} }
      }
    }'

Étapes suivantes

  • Découvrez comment [transcrire des fichiers audio longs][batch-recognize].
  • Découvrez comment choisir le meilleur modèle de transcription.
  • Transcrivez des fichiers audio à l'aide de [Chirp][chirp].
  • Pour obtenir des conseils, entre autres sur l'optimisation des performances et l'amélioration de la précision, consultez la documentation sur les [bonnes pratiques][best-practices].