יצירת כתוביות בפורמטים WebVTT ו-SRT

בדף הזה מוסבר איך להשתמש ב-Cloud Speech-to-Text API כדי ליצור באופן אוטומטי כתוביות מקובצי אודיו בפורמטים SRT ו-WebVTT. בפורמטים האלה אפשר לאחסן את הטקסט ואת נתוני התזמון של האודיו, וכך להציג כתוביות שמוצגות בסנכרון עם המדיה.

הפעלת פלט של כתוביות בבקשה ל-Cloud Speech-to-Text נתמכת רק בגרסה השנייה של ה-API. במיוחד, אפשר להשתמש ב-BatchRecognize רק כדי לתמלל קובצי אודיו ארוכים. אפשר לשמור את התוצאות בקטגוריה של Cloud Storage, או להחזיר אותן בשורה. אפשר לציין כמה פורמטים בו-זמנית בהגדרת הפלט של Cloud Storage, והפלט ייכתב לקטגוריה שצוינה עם סיומות קבצים שונות.

הפעלת פלט של כתוביות בבקשה

כדי ליצור פלט של כתוביות בפורמט SRT או VTT לאודיו באמצעות Cloud Speech-to-Text, צריך לבצע את השלבים הבאים כדי להפעיל פלט של כתוביות בבקשת התמלול:

  1. שולחים בקשה לשיטה BatchRecognize של Cloud Speech-to-Text API עם ערך בשדה output_format_config. הערכים שצוינו הם:
    • srt, כדי שהפלט יהיה בפורמט SRT. ‫- vtt, כדי שהפלט יהיה בפורמט WebVTT.
    • native, שהוא פורמט הפלט שמוגדר כברירת מחדל אם לא מציינים פורמט בבקשת BatchRecognizeResults מסוג serialized.
  2. הפעולה היא אסינכרונית, ולכן צריך לבצע דגימה של הבקשה עד שהיא תושלם.

אפשר לציין כמה פורמטים בו-זמנית בהגדרת הפלט של Cloud Storage. הם נכתבים לקטגוריה שצוינה עם סיומות קובץ שונות (.json, ‏.srt או .vtt).

אם מציינים כמה פורמטים בהגדרת הפלט של השורה, כל פורמט יהיה זמין כשדה בהודעה BatchRecognizeFileResult.inline_result.

בקטע הקוד הבא אפשר לראות איך להפעיל פלט של כתוביות בבקשת תמלול ל-Cloud Speech-to-Text באמצעות קבצים מקומיים וקבצים מרחוק:

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

המאמרים הבאים