במסמך הזה מפורטות המלצות לאספקת נתוני דיבור ל-Speech-to-Text API. ההנחיות האלה נועדו לשפר את היעילות והדיוק של השירות ולקצר את זמני התגובה. השימוש ב-Speech-to-Text API יעיל במיוחד כשנתונים שנשלחים לשירות נמצאים בתוך הפרמטרים שמתוארים במסמך הזה.
אם אתם פועלים בהתאם להנחיות האלה ולא מקבלים את התוצאות הרצויות מה-API, תוכלו לעיין במאמר בנושא פתרון בעיות ותמיכה.
| כדי לקבל תוצאות אופטימליות... | אם אפשר, כדאי להימנע מ… |
|---|---|
| הקלטת אודיו עם תדירות דגימה של 16,000 הרץ ומעלה. | שיעורי דגימה נמוכים יותר עשויים להפחית את רמת הדיוק. עם זאת, מומלץ להימנע מדגימה מחדש. לדוגמה, בטלפוניה, התדירות המקורית היא בדרך כלל 8,000 הרץ, וזו התדירות שצריך לשלוח לשירות. |
שימוש בקודק Lossless להקלטה ולשידור של אודיו. מומלץ להשתמש ב-FLAC או ב-LINEAR16. |
שימוש בפורמטים mp3, mp4, m4a, mu-law, a-law או בפורמטים אחרים עם דחיסה אובדת נתונים במהלך ההקלטה או השידור עלול להפחית את רמת הדיוק. אם האודיו שלכם כבר מקודד בקידוד שלא נתמך על ידי ה-API, צריך להמיר את הקידוד שלו ל-FLAC או ל-LINEAR16. אם האפליקציה שלכם חייבת להשתמש ב-codec עם אובדן נתונים כדי לחסוך ברוחב פס, מומלץ להשתמש ב-codecs AMR_WB או OGG_OPUS, לפי סדר העדיפות הזה. |
| הכלי לזיהוי דיבור נועד להתעלם מרעשי רקע ומקולות ברקע בלי סינון רעשים נוסף. עם זאת, כדי לקבל תוצאות אופטימליות, כדאי למקם את המיקרופון כמה שיותר קרוב למשתמש, במיוחד כשיש רעשי רקע. | רעשי רקע והדים מוגזמים עלולים להפחית את הדיוק, במיוחד אם נעשה שימוש גם ב-codec עם אובדן נתונים. |
| אם אתם מקליטים אודיו מכמה אנשים, וכל אחד מהם מוקלט בערוץ נפרד, כדאי לשלוח כל ערוץ בנפרד כדי לקבל את תוצאות הזיהוי הטובות ביותר. עם זאת, אם כל הדוברים מעורבבים בהקלטה של ערוץ יחיד, שולחים את ההקלטה כמו שהיא. | יכול להיות שהמערכת תפרש דיבור של כמה אנשים בו-זמנית או בעוצמות שונות כרעשי רקע, ותתעלם ממנו. |
| אפשר להשתמש בהצעות למילים ולביטויים כדי להוסיף שמות ומונחים לאוצר המילים ולשפר את הדיוק של מילים וביטויים ספציפיים. | למערכת הזיהוי יש אוצר מילים גדול מאוד, אבל היא לא תזהה מונחים ושמות פרטיים שלא נמצאים באוצר המילים שלה. |
תדירות הדגימה
אם אפשר, מגדירים את קצב הדגימה של מקור האודיו ל-16,000 הרץ.
במקרה של קודקים ללא כותרת, צריך להשתמש בהגדרה explicit_decoding_config ב-RecognitionConfig כדי להגדיר את sample_rate_hertz כך שיתאים לתדירות הדגימה המקורית של מקור האודיו (במקום לבצע דגימה מחדש).
עבור קודקים עם כותרת, משתמשים בהגדרה auto_decoding_config ב-RecognitionConfig כדי לבחור אוטומטית את קצב הדגימה הנכון.
גודל המסגרת
זיהוי בסטרימינג מזהה אודיו בזמן אמת כשהוא נקלט ממיקרופון או ממקור אודיו אחר. שידור האודיו מחולק למסגרות ונשלח בהודעות StreamingRecognizeRequest עוקבות. כל גודל של פריים מתקבל.
מסגרות גדולות יותר יעילות יותר, אבל הן מוסיפות זמן אחזור. מומלץ להשתמש בגודל פריים של 100 מילי-שניות כדי להשיג איזון טוב בין זמן האחזור ליעילות.
עיבוד מקדים של אודיו
מומלץ לספק אודיו נקי ככל האפשר באמצעות מיקרופון איכותי ומוצב היטב. עם זאת, עיבוד אותות להפחתת רעשים באודיו לפני שליחתו לשירות בדרך כלל מפחית את דיוק הזיהוי. השירות מיועד לטפל באודיו עם רעשי רקע.
כדי לקבל את התוצאות הטובות ביותר:
- ממקמים את המיקרופון קרוב ככל האפשר לאדם שמדבר, במיוחד כשיש רעשי רקע.
- חשוב להימנע מחיתוך של אודיו.
- לא להשתמש בבקרה אוטומטית של עוצמת הקול (AGC).
- צריך להשבית את כל העיבוד של הפחתת רעש.
- להאזין לקטע אודיו לדוגמה. הצליל צריך להיות ברור, בלי עיוות או רעש לא צפוי.
בקשת הגדרה
חשוב לוודא שתיארתם בצורה מדויקת את נתוני האודיו שנשלחים עם הבקשה ל-Speech-to-Text API. כדי לקבל את התמלול המדויק ביותר ולחייב אתכם בצורה נכונה על הבקשה, חשוב לוודא שרכיב RecognitionConfig של הבקשה מתאר את הערכים הנכונים של sampleRateHertz ושל encoding, ושהשתמשתם ב-Recognizer עם הערכים הנכונים של language_codes ושל model.
המאמרים הבאים
- אפשר להשתמש בספריות לקוח כדי לתמלל אודיו באמצעות שפת התכנות המועדפת עליכם.
- איך מתמללים קובצי אודיו קצרים
- איך מתמללים אודיו בסטרימינג
- איך מתמללים קובצי אודיו ארוכים