הודעות שגיאה

בדף הזה נסביר על שגיאות ב-Cloud Speech-to-Text שפתרונן דורש יותר שלבים מאלה שאפשר לתאר בהודעת שגיאה.

‫"The Application Default Credentials are not available" (פרטי הכניסה שמוגדרים כברירת מחדל לאפליקציה לא זמינים)

אם קיבלתם את ההודעה הזו:

The Application Default Credentials are not available. They are
available if running in Google Compute Engine. Otherwise, the
environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined
pointing to a file defining the credentials.
See https://developers.google.com/accounts/docs/application-default-credentials
for more information.

ב-Cloud STT נעשה שימוש ב-Application Default Credentials ‏(ADC) לאימות.

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

במאמר הגדרת Application Default Credentials מוסבר איך לספק פרטי כניסה ל-ADC.

‫"קובץ ... (המצוין על ידי משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS) אינו קיים!"

אם קיבלתם את ההודעה הזו:

ERROR: (gcloud.auth.application-default.print-access-token) File /path/to/key.json
(pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!
{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

מוודאים שיש לכם קובץ JSON תקין של מפתח חשבון שירות במיקום שמאוחסן במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS, ושהמשתנה מצביע על המקום הנכון.

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

cat $GOOGLE_APPLICATION_CREDENTIALS

Forbidden: 403 POST API has not been used or is disabled

אם קיבלתם את ההודעה:

Forbidden: 403 POST Cloud Speech-to-Text API has not been used in
project # before or it is disabled.
Enable it by visiting [url] then retry.
If you enabled this API recently, wait a few minutes for the action to
propagate to our systems and retry.

  1. עוברים לקישור שצוין בהודעת השגיאה ומפעילים את Cloud STT API. מחכים כמה דקות ומנסים שוב.
  2. מוודאים שיש לכם קובץ JSON תקין של מפתח חשבון שירות שמאוחסן במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS. כדי לאבחן את השגיאה הזו, נסו לפתוח את קובץ המפתח של חשבון השירות מהתיקייה שממנה אתם מנסים לקרוא ל-Cloud Speech-to-Text API.
cat $GOOGLE_APPLICATION_CREDENTIALS

‫"Must use single channel (mono) audio" (חובה להשתמש באודיו חד-ערוצי (מונו))

אם קיבלתם את ההודעה הזו:

Must use single channel (mono) audio, but WAV header indicates 2
channels.

קובץ האודיו מכיל יותר מערוץ אחד. כדי לתמלל את קובץ האודיו הזה, צריך להצהיר שלאודיו יש כמה ערוצים.

‫"Must use 16 bit samples for LINEAR_PCM" (חובה להשתמש בדגימות של 16 ביט עבור LINEAR_PCM)

אם קיבלתם את ההודעה הזו:

INVALID_ARGUMENT: Must use 16 bit samples for LINEAR_PCM, but the WAV
header indicates 8 bits per sample

יכול להיות שתצטרכו לשנות את הקידוד שציינתם בRecognitionConfig. מידע על קידודים נתמכים ב-Cloud STT מופיע במדריך בנושא קידודים.

‫"Sync input too long" (הקלט לסנכרון ארוך מדי)

אם קיבלתם את ההודעה הזו:

Sync input too long. For audio longer than 1 min use
LongRunningRecognize with a 'uri' parameter.

השיטה synchronous recognize של Cloud STT תומכת רק בתמלול של נתוני אודיו באורך של עד דקה. לנתוני אודיו ארוכים יותר, צריך להשתמש ב-asynchronous recognize.

‫"Invalid recognition 'config': bad encoding" (הגדרה לא תקינה של זיהוי: קידוד שגוי)

אם קיבלתם את ההודעה הזו:

Invalid recognition 'config': bad encoding.

יכול להיות שנתוני האודיו לא מקודדים בצורה נכונה, או שהם מקודדים באמצעות קודק שונה מזה שהצהרתם עליו בתג RecognitionConfig. בודקים את קלט האודיו ומוודאים שהגדרתם את השדה encoding בצורה נכונה.

‫"Request payload size exceeds the limit" (גודל המטען הייעודי של הבקשה חורג מהמגבלה)

אם קיבלתם אחת מההודעות האלה:

Request payload size exceeds the limit.
Inline audio exceeds duration limit. Please use a GCS URI.

חרגתם ממגבלת הגודל של 10MB לבקשה יחידה שנשלחת אל ה-API באמצעות קובץ מקומי. כדי לעקוף את המגבלה של 10MB, אפשר להעביר את קובץ האודיו לקטגוריה של Cloud Storage. מידע נוסף זמין במאמר מכסות ומגבלות.

‫"Quota exceeded" (חריגה מהמכסה)

אם קיבלתם את ההודעה הזו:

RESOURCE_EXHAUSTED: Quota exceeded.

הגעתם למכסה היומית או למכסה לדקה. כדאי לעיין במכסות והמגבלות של השימוש ב-Cloud STT.

אפשר לבקש להגדיל את המכסות דרך מסוףGoogle Cloud .