שיטות מומלצות

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

אם אתם פועלים בהתאם להנחיות האלה ולא מקבלים את התוצאות הרצויות מה-API, תוכלו לעיין במאמר בנושא פתרון בעיות ותמיכה.

כדי לקבל תוצאות אופטימליות... אם אפשר, כדאי להימנע מ…
הקלטת אודיו עם תדירות דגימה של 16,000 הרץ ומעלה. שיעורי דגימה נמוכים יותר עשויים להפחית את רמת הדיוק. עם זאת, מומלץ להימנע מדגימה מחדש. לדוגמה, בטלפוניה, התדירות היא בדרך כלל 8,000 הרץ, וזו התדירות שצריך לשלוח לשירות.
שימוש בקודק Lossless להקלטה ולשידור של אודיו. מומלץ להשתמש ב-FLAC או ב-LINEAR16. שימוש בפורמטים mp3, ‏ mp4, ‏ m4a, ‏ mu-law, ‏ a-law או בפורמטים אחרים עם דחיסה אובדת נתונים במהלך ההקלטה או השידור עלול להפחית את רמת הדיוק. אם האודיו שלכם כבר מקודד בקידוד שלא נתמך על ידי ה-API, צריך להמיר את הקידוד שלו ל-FLAC או ל-LINEAR16. אם האפליקציה שלכם חייבת להשתמש ב-codec עם אובדן נתונים כדי לחסוך ברוחב פס, מומלץ להשתמש ב-codec‏ AMR_WB, OGG_OPUS או SPEEX_WITH_HEADER_BYTE, לפי סדר העדיפות הזה.
הכלי לזיהוי דיבור נועד להתעלם מרעשי רקע ומקולות ברקע בלי סינון רעשים נוסף. עם זאת, כדי לקבל תוצאות אופטימליות, כדאי למקם את המיקרופון כמה שיותר קרוב למשתמש, במיוחד כשיש רעשי רקע. רעשי רקע והדים מוגזמים עלולים להפחית את הדיוק, במיוחד אם נעשה שימוש גם ב-codec עם אובדן נתונים.
אם אתם מקליטים אודיו מכמה אנשים, וכל אחד מהם מוקלט בערוץ נפרד, כדאי לשלוח כל ערוץ בנפרד כדי לקבל את תוצאות הזיהוי הטובות ביותר. עם זאת, אם כל הדוברים מעורבבים בהקלטה של ערוץ יחיד, שולחים את ההקלטה כמו שהיא. יכול להיות שהמערכת תפרש דיבור של כמה אנשים בו-זמנית או בעוצמות שונות כרעשי רקע, ותתעלם ממנו.
אפשר להשתמש בהצעות למילים ולביטויים כדי להוסיף שמות ומונחים לאוצר המילים ולשפר את הדיוק של מילים וביטויים ספציפיים. למערכת הזיהוי יש אוצר מילים גדול מאוד, אבל היא לא תזהה מונחים ושמות פרטיים שלא נמצאים באוצר המילים שלה.
לשאילתות או לפקודות קצרות, משתמשים ב-StreamingRecognize עם single_utterance שמוגדר כ-true. כך מתבצעת אופטימיזציה של הזיהוי לביטויים קצרים וגם מצמצמים את זמן האחזור. שימוש ב-Recognize או ב-LongRunningRecognize לשאילתות או לפקודות קצרות.

תדירות הדגימה

אם אפשר, מגדירים את קצב הדגימה של מקור האודיו ל-16,000 הרץ. אחרת, מגדירים את sample_rate_hertz כך שיתאים לקצב הדגימה המקורי של מקור האודיו (במקום לדגום מחדש).

גודל המסגרת

זיהוי בסטרימינג מזהה אודיו בזמן אמת כשהוא נקלט ממיקרופון או ממקור אודיו אחר. שידור האודיו מחולק למסגרות ונשלח בהודעות StreamingRecognizeRequest עוקבות. כל גודל של פריים מתקבל. מסגרות גדולות יותר יעילות יותר, אבל הן מוסיפות זמן אחזור. מומלץ להשתמש בגודל פריים של 100 מילי-שניות כדי להשיג איזון טוב בין זמן האחזור ליעילות.

עיבוד מקדים של אודיו

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

כדי לקבל את התוצאות הטובות ביותר:

  • ממקמים את המיקרופון קרוב ככל האפשר לאדם שמדבר, במיוחד כשיש רעשי רקע.
  • חשוב להימנע מחיתוך של אודיו.
  • אל תשתמשו בבקרה אוטומטית של עוצמת הקול (AGC).
  • צריך להשבית את כל העיבוד של הפחתת רעש.
  • להאזין לקטע אודיו לדוגמה. הצליל צריך להיות ברור, בלי עיוות או רעש לא צפוי.

בקשת הגדרה

חשוב לוודא שתיאור נתוני האודיו שנשלחים עם הבקשה אל Cloud Speech-to-Text API מדויק. כדי לקבל תמלול מדויק וחיוב נכון של הבקשה, חשוב לוודא שהתיאור של RecognitionConfig בבקשה כולל את sampleRateHertz, encoding וlanguageCode הנכונים.