במדריך הזה מוסבר איך לתמלל אודיו שהוקלט מטלפון באמצעות Cloud Speech-to-Text.
קבצי אודיו יכולים להגיע ממקורות שונים. נתוני אודיו יכולים להגיע מטלפון (למשל, דואר קולי) או מפסקול שכלול בקובץ וידאו.
Cloud STT יכול להשתמש באחד מכמה מודלים של למידת מכונה כדי לתמלל את קובץ האודיו, כך שהתמלול יתאים בצורה הטובה ביותר למקור האודיו המקורי. כדי לקבל תוצאות טובות יותר מתמלול הדיבור, צריך לציין את המקור של האודיו המקורי. כך Cloud STT יכול לעבד את קובצי האודיו שלכם באמצעות מודל של למידת מכונה שאומן על נתונים שדומים לקובץ האודיו שלכם.
מטרות
- שליחת בקשה לתמלול אודיו שהוקלט מטלפון (כמו דואר קולי) אל Cloud STT.
- מציינים מודל משופר לזיהוי דיבור לבקשה לתמלול אודיו.
עלויות
במדריך הזה נעשה שימוש ברכיבים של Cloud Platform שחלים עליהם חיובים, כולל:
- Cloud Speech-to-Text
אפשר להשתמש במחשבון עלויות כדי ליצור הערכת עלויות בהתאם לשימוש החזוי.
לפני שמתחילים
יש כמה דרישות מוקדמות למדריך הזה:
- הגדרתם פרויקט Cloud Speech-to-Text במסוף Google Cloud .
- הגדרתם את הסביבה באמצעות Application Default Credentials במסוף Google Cloud .
- הגדרתם את סביבת הפיתוח לשפת התכנות שבחרתם.
- התקנתם את ספריית הלקוח של Google Cloud לשפת התכנות שבחרתם.
שליחת בקשה
כדי לתמלל בצורה הכי טובה אודיו שצולם בטלפון, כמו שיחת טלפון או הודעה קולית, אפשר להגדיר את השדה model במטען הייעודי (payload) של RecognitionConfig לערך phone_call. השדה model מציין ל-Cloud Speech-to-Text API באיזה מודל לזיהוי דיבור להשתמש לבקשת התמלול.
כדי לשפר את התוצאות של תמלול אודיו משיחות טלפון, אפשר להשתמש במודל משופר. כדי להשתמש במודל משופר, צריך להגדיר את השדה useEnhanced לערך true במטען הייעודי (payload) של RecognitionConfig.
דוגמאות הקוד הבאות מדגימות איך לבחור מודל תמלול ספציפי כשמפעילים את Cloud STT.
פרוטוקול
פרטים נוספים זמינים בנקודת קצה ל-API של speech:recognize.
כדי לבצע זיהוי דיבור סינכרוני, שולחים בקשת POST ומספקים את גוף הבקשה המתאים. בדוגמה הבאה מוצגת בקשת POST באמצעות curl. בדוגמה נעשה שימוש ב-Google Cloud CLI כדי ליצור אסימון גישה. הוראות להתקנת ה-CLI של gcloud מופיעות במדריך למתחילים.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "enableWordTimeOffsets": false, "enableAutomaticPunctuation": true, "model": "phone_call", "useEnhanced": true }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }'
מידע נוסף על הגדרת גוף הבקשה מופיע במאמרי העזרה בנושא RecognitionConfig.
אם הבקשה מצליחה, השרת מחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON:
{ "results": [ { "alternatives": [ { "transcript": "Hi, I'd like to buy a Chromecast. I was wondering whether you could help me with that.", "confidence": 0.8930228 } ], "resultEndTime": "5.640s" }, { "alternatives": [ { "transcript": " Certainly, which color would you like? We are blue black and red.", "confidence": 0.9101991 } ], "resultEndTime": "10.220s" }, { "alternatives": [ { "transcript": " Let's go with the black one.", "confidence": 0.8818244 } ], "resultEndTime": "13.870s" }, { "alternatives": [ { "transcript": " Would you like the new Chromecast Ultra model or the regular Chromecast?", "confidence": 0.94733626 } ], "resultEndTime": "18.460s" }, { "alternatives": [ { "transcript": " Regular Chromecast is fine. Thank you. Okay. Sure. Would you like to ship it regular or Express?", "confidence": 0.9519095 } ], "resultEndTime": "25.930s" }, { "alternatives": [ { "transcript": " Express, please.", "confidence": 0.9101229 } ], "resultEndTime": "28.260s" }, { "alternatives": [ { "transcript": " Terrific. It's on the way. Thank you. Thank you very much. Bye.", "confidence": 0.9321616 } ], "resultEndTime": "34.150s" } ] }
Go
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Go API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Java API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Node.js API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Python API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Cloud STT ל- .NET.
PHP: צריך לפעול לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Cloud STT ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud STT ל-Ruby.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.
כדי למחוק את הפרויקט:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
מחיקת מכונות
כדי למחוק מכונה של Compute Engine:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
מחיקת כללי חומת אש ברשת שמוגדרת כברירת מחדל
כדי למחוק כלל חומת אש:
- In the Google Cloud console, go to the Firewall page.
- Select the checkbox for the firewall rule that you want to delete.
- To delete the firewall rule, click Delete.