ה-Cloud Speech API מאפשר להפעיל דיבור ותמלול טקסט מקובצי אודיו ביותר מ-80 שפות.
בשיעור Lab זה נקליט קובץ אודיו ונשלח אותו ל-Cloud Speech API לתמלול.
מה תלמדו
- יצירת בקשה של Speech API וקריאה ל-API באמצעות תלתל
- קריאה ל-Speech API עם קובצי אודיו בשפות שונות
מה תצטרך להכין
איך תשתמשו במדריך הזה?
איך היית מדרג את החוויה שלך ב-Google Cloud Platform?
הגדרת סביבה בקצב עצמי
אם עדיין אין לכם חשבון Google (Gmail או Google Apps), עליכם ליצור חשבון. נכנסים למסוף ב-Google Cloud Platform (console.cloud.google.com) ויוצרים פרויקט חדש:
חשוב לזכור את מזהה הפרויקט הוא שם ייחודי בכל הפרויקטים ב-Google Cloud (השם הקודם כבר תפוס, והוא לא יעבוד בשבילך.) נתייחס אליו מאוחר יותר ב-codelab הזה בתור PROJECT_ID
.
לאחר מכן, עליך להפעיל חיוב ב-Cloud Console כדי להשתמש במשאבים של Google Cloud.
התהליך של קוד Lab זה לא אמור לעלות יותר מדולר אחד, אבל יכול להיות שתצטרכו לשלם על משאבים נוספים או להשאיר אותו פעיל (עיינו בקטע "cleanup" בסוף המסמך).
משתמשים חדשים ב-Google Cloud Platform זכאים לתקופת ניסיון בחינם בשווי 300$.
לוחצים על סמל התפריט בפינה הימנית העליונה של המסך.
בוחרים את מרכז השליטה ממשקי API ושירותים מהתפריט הנפתח.
לוחצים על הפעלת ממשקי API ושירותים.
לאחר מכן, מחפשים את ה "Speech" בתיבת החיפוש. לוחצים על Google Cloud Speech API:
לוחצים על הפעלה כדי להפעיל את Cloud Speech API:
ממתינים מספר שניות עד שהיא תופעל. יוצג לך ברגע שהיא תופעל:
התכונה Google Cloud Shell היא סביבת שורת פקודה שפועלת ב-Cloud. המכונה הווירטואלית המבוססת על Debian נטענת עם כל כלי הפיתוח הדרושים לך (gcloud
, bq
, git
ואחרים) וספריית בית קבועה בנפח של 5GB. אנחנו נשתמש ב-Cloud Shell כדי ליצור את הבקשה שלנו ב-Speech API.
כדי להתחיל להשתמש ב-Cloud Shell, לוחצים על הסמל "הפעלת Google Cloud Shell" בפינה השמאלית העליונה של סרגל הכותרת
סשן של Cloud Shell ייפתח בתוך מסגרת חדשה בחלק התחתון של המסוף, ויציג הודעה בשורת הפקודה. יש להמתין עד שהדף user@project:~$ תופיע
אנחנו נשתמש ב-curl
כדי לשלוח בקשה ל-Speech API, ולכן נצטרך ליצור מפתח API כדי להעביר אותו לכתובת ה-URL של הבקשה. כדי ליצור מפתח API, נכנסים לקטע APIs & Services > Credentials (מרכזת המשתמשים) במרכז השליטה של הפרויקט:
לאחר מכן לוחצים על יצירת פרטי כניסה:
בתפריט הנפתח, בוחרים באפשרות מפתח API:
השלב הבא הוא להעתיק את המפתח שיצרת עכשיו ולבחור סגירה (אין להגביל את המפתח).
עכשיו, אחרי שיש לך מפתח API, עליך לשמור אותו במשתנה סביבה כדי להימנע מהוספת הערך של מפתח ה-API בכל בקשה. ניתן לעשות זאת ב-Cloud Shell. עליך להחליף את <your_api_key>
במפתח שהעתקת עכשיו.
export API_KEY=<YOUR_API_KEY>
ניתן ליצור את הבקשה ל-API של הדיבור בקובץ request.json
. כדי ליצור ולערוך את הקובץ הזה, אפשר להשתמש באחד מהעורכים המועדפים של שורת הפקודה (nano, vim, emacs) או להשתמש בעורך האינטרנט המובנה ב-Cloud Shell:
צור את הקובץ בספריית הבית כדי שתוכל להפנות אליו בקלות ולהוסיף את הקובץ הבא לקובץ request.json
:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
גוף הבקשה מכיל אובייקט config
ו-audio
. ב-config
, אנחנו מסבירים ל-Speech API איך לעבד את הבקשה. הפרמטר encoding
מציין ל-API איזה סוג של קידוד אודיו אתם משתמשים בקובץ האודיו שאתם שולחים ל-API. FLAC
הוא סוג הקידוד של קובצי .raw (לפרטים נוספים, יש לעיין בתיעוד עבור סוג הקידוד). יש פרמטרים נוספים שאפשר להוסיף לאובייקט config
, אבל הפרמטר encoding
הוא הפרמטר היחיד הנדרש. אם לא מגדירים את הבקשה, languageCode
יוגדר כברירת מחדל לאנגלית.
באובייקט audio
, אפשר להעביר את ה-API של קובץ האודיו שלנו ב-Cloud Storage או את האודיו עם הקידוד base64 כמחרוזת. השתמשת בכתובות URL של Cloud Storage. השלב הבא הוא קריאה ל-Speech API!
עכשיו אפשר להעביר את גוף הבקשה, יחד עם משתנה סביבת המפתח של ה-API ששמרתם קודם, ל-Speech API עם הפקודה curl
הבאה (הכול בשורת פקודה אחת):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
התגובה שמוחזרה על ידי הפקודה curl
הזו צריכה להיראות בערך כך:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
}
]
}
]
}
הערך transcript
יחזיר את תמליל הטקסט של Speech API של קובץ האודיו שלכם, והערך של confidence
מציין עד כמה ה-API תומלל את האודיו שלכם בצורה מדויקת.
לידיעתך, התקשרנו לשיטה recognize
בבקשה שלנו למעלה. ה-Speech API תומך גם בדיבור סינכרוני וגם בדיבור אסינכרוני לצורך תמלול טקסט. בדוגמה הזו שלחנו לך קובץ אודיו שלם, אבל אפשר להשתמש גם בשיטה longrunningrecognize
כדי לבצע דיבור בסטרימינג לתמליל טקסט בזמן שהמשתמש מדבר.
אתם דוברים כמה שפות? ה-Speech API תומך בתמלול של הודעות טקסט ביותר מ-100 שפות! ניתן לשנות את הפרמטר languageCode
בדף request.json
. כאן אפשר לראות רשימה של שפות נתמכות.
כדאי לנסות קובץ אודיו צרפתי (יש להאזין לו כאן אם רוצים תצוגה מקדימה). משנים את request.json כך:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "fr"
},
"audio": {
"uri":"gs://speech-language-samples/fr-sample.flac"
}
}
אתם אמורים לראות את התגובה הבאה:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
זהו משפט מתוך אגדה אהובה על ילדים. אם יש לך קובצי אודיו בשפה אחרת, אפשר לנסות להוסיף אותם ל-Cloud Storage ולשנות את הפרמטר languageCode
בבקשה שלך.
למדת איך לבצע דיבור ותמלול טקסט באמצעות Speech API. בדוגמה הזו העברתם את ה-API של Google Cloud Storage של קובץ האודיו שלכם. לחלופין, ניתן להעביר מחרוזת בקידוד base64 של תוכן האודיו.
באילו נושאים מדובר?
- העברת Speech API ל-URI של Google Cloud Storage של קובץ אודיו
- יצירת בקשה של Speech API וקריאה ל-API באמצעות תלתל
- קריאה ל-Speech API עם קובצי אודיו בשפות שונות
השלבים הבאים
- כדי לראות את התיעוד הזה, ניתן לעיין במדריכים של Speech API.
- כדאי לנסות את Vision API ואת Natral Language API!