קורסי מיקרוסופט לארגונים – כרמל הדרכה

Microsoft Partner

קורס Azure – יצירת אפליקציות המותאמות לשימוש בדיבור בבינה מלאכותית

תוכן עניינים

שירות הדיבור מספק ממשקי API שבהם באפשרותך להשתמש כדי לבנות יישומים התומכים בדיבור.

באופן ספציפי, שירות הדיבור תומך ב:

  • דיבור לטקסט: API המאפשר זיהוי דיבור שבו היישום שלך יכול לקבל קלט מדובר.
  • טקסט לדיבור: API המאפשר סינתזת דיבור שבה היישום שלך יכול לספק פלט מדובר.
  • תרגום דיבור: API שבו באפשרותך להשתמש כדי לתרגם קלט מדובר לשפות מרובות.
  • זיהוי רמקולים: API המאפשר ליישום שלך לזהות רמקולים בודדים על סמך קולם.
  • זיהוי כוונות: API המשתלב עם  שירות הבנת השפה כדי לקבוע את המשמעות הסמנטית של קלט מדובר.

מודול זה מתמקד בזיהוי דיבור ובסינתזת דיבור, שהן יכולות הליבה של כל יישום התומך בדיבור.

מטרות הלמידה

  • הקצאת משאב Azure עבור שירות הדיבור
  • שימוש ב- API של דיבור לטקסט כדי ליישם זיהוי דיבור
  • השתמש ב- API של טקסט לדיבור כדי ליישם סינתזת דיבור
  • קביעת תצורה של פורמט שמע וקולות
  • שימוש בשפת סימון של סינתזת דיבור (SSML)

היחידות במודול כוללות מידע מושגי חשוב על שירות הדיבור וכיצד להשתמש ב- API שלו באמצעות אחת מערכות פיתוח התוכנה (SDK) הנתמכות, ולאחר מכן תוכל לנסות את שירות הדיבור בעצמך בתרגיל מעשי. כדי להשלים את התרגיל המעשי, תזדקק למנוי של Microsoft Azure. אם עדיין אין לך תוכנית כזו, תוכל להירשם לגירסת ניסיון ללא תשלום ב-https://azure.com/free.

הקצאת משאב Azure לדיבור

לפני שתוכל להשתמש בשירות הדיבור, עליך ליצור משאב דיבור במנוי Azure שלך. באפשרותך להשתמש במשאב דיבור ייעודי  או במשאב שירותים קוגניטיביים מרובה שירותים  .

לאחר יצירת משאב Azure, תזדקק למידע הבא כדי להשתמש בו מיישום לקוח באמצעות אחת מערכות ה- SDK הנתמכות:

  • המיקום שבו המשאב נפרס (לדוגמה, eastus)
  • אחד המפתחות שהוקצו למשאב שלך.

באפשרותך להציג ערכים אלה בדף מפתחות ונקודות קצה עבור המשאב שלך בפורטל Azure.

שימוש ב- API של דיבור לטקסט

שירות הדיבור תומך בזיהוי דיבור באמצעות שני ממשקי API של REST:

  • ה- API של דיבור לטקסט , שהוא הדרך העיקרית לביצוע זיהוי דיבור.
  • ה-API של שמע קצר דיבור לטקסט , הממוטב לזרמים קצרים של שמע (עד 60 שניות).

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

באפשרותך לקבל מידע נוסף על ממשקי ה- API של REST בתיעוד ממשקי ה- API של REST של דיבור לטקסט של Azure. בפועל, רוב היישומים האינטראקטיביים התומכים בדיבור משתמשים בשירות הדיבור באמצעות SDK ספציפי לשפה (תיכנות).

שימוש בערכת ה-SDK של דיבור לטקסט

בעוד הפרטים הספציפיים משתנים, בהתאם ל- SDK שבו נעשה שימוש (Python, C#, וכן הלאה); יש תבנית עקבית לשימוש ב  – API של דיבור לטקסט:

  1. השתמש באובייקט SpeechConfig כדי לתמצת את המידע הדרוש להתחברות למשאב הדיבור שלך. באופן ספציפי, המיקום שלה ואת המפתח.
  2. לחלופין, השתמש ב – AudioConfig כדי להגדיר את מקור הקלט עבור השמע שיש לתמלל. כברירת מחדל, זהו מיקרופון המערכת המוגדר כברירת מחדל, אך באפשרותך גם לציין קובץ שמע.
  3. השתמש ב- SpeechConfig  וב- AudioConfig כדי ליצור  אובייקט SpeechRecognizer. אובייקט זה הוא לקוח proxy עבור  ה- API של דיבור לטקסט.
  4. השתמש בשיטות של אובייקט SpeechRecognizer כדי לקרוא לפונקציות ה- API המשמשות כבסיס. לדוגמה,  פעולת השירות RecognizeOnceAsync משתמשת בשירות הדיבור כדי לתמלל באופן אסינכרוני אמירה מדוברת אחת.
  5. עבד את התגובה משירות הדיבור. במקרה של פעולת השירות RecognizeOnceAsync, התוצאה היא  אובייקט SpeechRecognitionResult הכולל את המאפיינים הבאים:
    • משך
    • אופסטInTicks
    • מאפייני
    • למה
    • תוצאהאיד
    • טקסט

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

שימוש ב- API של טקסט לדיבור

בדומה לממשקי  API של דיבור לטקסט, שירות הדיבור מציע שני ממשקי API של REST לסינתזת דיבור:

  • ה- API של טקסט לדיבור , שהוא הדרך העיקרית לבצע סינתזת דיבור.
  • ה- API של טקסט לדיבור Long Audio,  שנועד לתמוך בפעולות אצווה הממירות כמויות גדולות של טקסט לשמע – לדוגמה, כדי ליצור ספר שמע מטקסט המקור.

באפשרותך לקבל מידע נוסף על ממשקי ה- API של REST בתיעוד ממשקי ה- API של REST של טקסט לדיבור של Azure. בפועל, רוב היישומים האינטראקטיביים התומכים בדיבור משתמשים בשירות הדיבור באמצעות SDK ספציפי לשפה (תיכנות).

שימוש בערכת ה- SDK של טקסט לדיבור

בדומה לזיהוי דיבור, בפועל רוב היישומים האינטראקטיביים התומכים בדיבור בנויים באמצעות ה- Speech SDK.

התבנית ליישום סינתזת דיבור דומה לזו של זיהוי דיבור:

  1. השתמש באובייקט SpeechConfig כדי לתמצת את המידע הדרוש להתחברות למשאב הדיבור שלך. באופן ספציפי, המיקום שלה ואת המפתח.
  2. לחלופין, השתמש ב – AudioConfig כדי להגדיר את התקן הפלט עבור הדיבור להיות מסונתז. כברירת מחדל, זהו רמקול המערכת המוגדר כברירת מחדל, אך באפשרותך גם לציין קובץ שמע, או על-ידי הגדרה מפורשת של ערך זה לערך Null, באפשרותך לעבד את אובייקט זרם השמע המוחזר ישירות.
  3. השתמש ב- SpeechConfig  וב- AudioConfig כדי ליצור  אובייקט SpeechSynthesizer. אובייקט זה הוא לקוח proxy עבור  ה- API של טקסט לדיבור.
  4. השתמש בשיטות של אובייקט SpeechSynthesizer כדי לקרוא לפונקציות ה- API המשמשות כבסיס. לדוגמה,  פעולת השירות SpeakTextAsync משתמשת בשירות הדיבור כדי להמיר טקסט לשמע מדובר.
  5. עבד את התגובה משירות הדיבור. במקרה של פעולת השירות SpeakTextAsync, התוצאה היא  אובייקט SpeechSynthesisResult המכיל את המאפיינים הבאים:
    • נתוני אודיו
    • מאפייני
    • למה
    • תוצאהאיד

לאחר שהדיבור סונתז בהצלחה, המאפיין סיבה מוגדר כ SynthesizingAudioCompleted והמאפיין AudioData מכיל את זרם השמע (אשר, בהתאם ל- AudioConfig,  ייתכן שנשלח באופן אוטומטי לרמקול או לקובץ).

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

פורמט שמע

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

  • סוג קובץ שמע
  • קצב דגימה
  • עומק סיביות

הפורמטים הנתמכים מצוינים ב- SDK באמצעות ספירת SpeechSynthesisOutputFormat. לדוגמה, SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm.

כדי לציין את תבנית הפלט הנדרשת, השתמש  בפעולת השירות SetSpeechSynthesisOutputFormat של אובייקט SpeechConfig:

speechConfig.SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm);

לקבלת רשימה מלאה של תבניות נתמכות וערכי הספירה שלהן, עיין בתיעוד של Speech SDK.

קולות

שירות הדיבור מספק קולות מרובים שבהם באפשרותך להשתמש כדי להתאים אישית את היישומים התומכים בדיבור שלך. ישנם שני סוגים של קול שניתן להשתמש בהם:

  • קולות סטנדרטיים – קולות סינתטיים שנוצרו מדגימות שמע.
  • קולות עצביים – קולות נשמעים טבעיים יותר הנוצרים באמצעות רשתות עצביות עמוקות.

קולות מזוהים על ידי שמות המציינים אזור ושם של אדם – לדוגמה  en-GB-George.

כדי לציין קול לסינתזת דיבור ב- SpeechConfig, הגדר את  המאפיין SpeechSynthesisVoiceName לקול שבו ברצונך להשתמש:

speechConfig.SpeechSynthesisVoiceName = "en-GB-George";

שימוש בשפת סימון של סינתזת דיבור

בעוד שערכת ה- SDK של הדיבור מאפשרת לך לשלוח טקסט רגיל לסינתזה לדיבור (לדוגמה, באמצעות פעולת השירות SpeakTextAsync, השירות תומך גם בתחביר מבוסס XML לתיאור מאפייני הדיבור שברצונך ליצור.  תחביר זה של שפת סימון סינתזת דיבור (SSML) מציע שליטה רבה יותר על האופן שבו הפלט המדובר נשמע, ומאפשר לך:

  • ציין סגנון דיבור, כגון "נרגש" או "עליז" בעת שימוש בקול עצבי.
  • הוסף הפסקות או שתיקה.
  • ציין פונמות (הגייה פונטית), לדוגמה כדי לבטא את הטקסט "SQL" כ-"sequel".
  • התאם את הפרוזודיה של הקול (המשפיעה על גובה הצליל, הגוון וקצב הדיבור).
  • השתמש בכללי "say-as" נפוצים, לדוגמה, כדי לציין שמחרוזת נתונה צריכה להיות מבוטאת כתאריך, שעה, מספר טלפון או צורה אחרת.
  • הוסף דיבור או שמע מוקלטים, לדוגמה כדי לכלול הודעה מוקלטת רגילה או לדמות רעשי רקע.

לדוגמה, שקול את ה- SSML הבא:

<Speak Version="1.0" xmlns ="https://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US"> <Sound name="en-US-AriaNeural"> <mstts:express-as-style ="cheerful">           I say tomatoes         </mstts:express-as>     </voice> <Sound name="en-US-GuyNeural"> I say <phoneme alphabet="sapi"ph="t ao m ae t ow"> tomato </phoneme>.          <Break power = "weak"/>Let's read the whole thing!     </voice> </speak>

SSML זה מציין דיאלוג מדובר בין שני קולות עצביים שונים, כך:

  • אריאנה (בעליזות): "אני אומרת עגבנייה:
  • גיא: "אני אומר עגבנייה (מבוטא טום-אה-בוהן) … בואו נפסיק את כל העניין!"

כדי לשלוח תיאור SSML לשירות הדיבור, באפשרותך להשתמש בפעולת השירות SpeakSsmlAsync באופן הבא:

speechSynthesizer.SpeakSsmlAsync(ssml_string);

לקבלת מידע נוסף אודות SSML, עיין בתיעוד של Speech SDK.

תרגום דיבור באמצעות שירות הדיבור

תרגום דיבור מתבסס על זיהוי דיבור על-ידי זיהוי ותמלול קלט מדובר בשפה מסוימת , והחזרת תרגומים של התמלול בשפה אחת או יותר.

  • קצאה של משאבי Azure לתרגום דיבור.
  • תרגום טקסט מדיבור.
  • סינתזה של תרגומים מדוברים.

היחידות במודול כוללות מידע מושגי חשוב על שירות הדיבור וכיצד להשתמש ב- API שלו באמצעות אחת מערכות פיתוח התוכנה (SDK) הנתמכות, ולאחר מכן תוכל לנסות את שירות הדיבור בעצמך בתרגיל מעשי. כדי להשלים את התרגיל המעשי, תזדקק למנוי של Microsoft Azure. אם עדיין אין לך תוכנית כזו, תוכל להירשם לגירסת ניסיון ללא תשלום ב-https://azure.com/free

הקצאת משאב Azure לתרגום דיבור

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

לפני שתוכל להשתמש בשירות הדיבור, עליך ליצור משאב דיבור במנוי Azure שלך. באפשרותך להשתמש במשאב דיבור ייעודי  או במשאב שירותים קוגניטיביים מרובה שירותים  .

לאחר יצירת משאב Azure, תזדקק למידע הבא כדי להשתמש בו מיישום לקוח באמצעות אחת מערכות ה- SDK הנתמכות:

  • המיקום שבו המשאב נפרס (לדוגמה, eastus)
  • אחד המפתחות שהוקצו למשאב שלך.

באפשרותך להציג ערכים אלה בדף מפתחות ונקודות קצה עבור המשאב שלך בפורטל Azure.

תרגום דיבור לטקסט

התבנית לתרגום דיבור באמצעות ה- Speech SDK דומה לזיהוי דיבור, עם תוספת של מידע אודות שפות המקור ושפת היעד לתרגום:

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

  1. השתמש באובייקט SpeechTranslationConfig כדי לציין את שפת זיהוי הדיבור (השפה שבה דיבור הקלט) ואת שפות היעד שאליהן יש לתרגם אותו.
  2. לחלופין, השתמש ב – AudioConfig כדי להגדיר את מקור הקלט עבור השמע שיש לתמלל. כברירת מחדל, זהו מיקרופון המערכת המוגדר כברירת מחדל, אך באפשרותך גם לציין קובץ שמע.
  3. השתמש ב- SpeechConfig, SpeechTranslationConfig ו- AudioConfig כדי ליצור  אובייקט TranslationRecognizer. אובייקט זה הוא לקוח proxy עבור ה- API של תרגום שירות דיבור.
  4. השתמש בשיטות של אובייקט TranslationRecognizer כדי לקרוא לפונקציות ה- API המשמשות כבסיס. לדוגמה,  פעולת השירות RecognizeOnceAsync משתמשת בשירות הדיבור כדי לתרגם באופן אסינכרוני אמירה מדוברת אחת.
  5. עבד את התגובה משירות הדיבור. במקרה של פעולת השירות RecognizeOnceAsync, התוצאה היא  אובייקט SpeechRecognitionResult הכולל את המאפיינים הבאים:
    • משך
    • אופסטInTicks
    • מאפייני
    • למה
    • תוצאהאיד
    • טקסט
    • תרגומים

אם הפעולה הצליחה, המאפיין סיבה כולל את הערך הממוספר RecognizedSpeech, המאפיין טקסט מכיל  את התעתיק בשפת המקור, והמאפיין  תרגומים  מכיל מילון של התרגומים (באמצעות קוד שפת ISO בן שני תווים, כגון "en" עבור אנגלית, כמפתח).

סינתזה של תרגומים

ה- TranslationRecognizer מחזיר תמלולים מתורגמים של קלט מדובר – ובעצם מתרגם דיבור קולי לטקסט.

באפשרותך גם לסנתז את התרגום כדיבור כדי ליצור פתרונות תרגום דיבור לדיבור. ישנן שתי דרכים להשיג זאת.

סינתזה מבוססת אירועים

כאשר ברצונך לבצע תרגום 1:1 (תרגום משפת מקור אחת לשפת יעד אחת), באפשרותך להשתמש בסינתזה מבוססת אירועים כדי ללכוד את התרגום כזרם שמע. לשם כך, עליך:

  1. ציין את הקול הרצוי עבור הדיבור המתורגם ב – TranslationConfig.
  2. צור מטפל באירועים עבור אירוע הסינתזה של אובייקט TranslationRecognizer.
  3. במטפל באירועים, השתמש  בשיטה GetAudio של  הפרמטר Result כדי לאחזר את זרם הבתים של שמע מתורגם.

הקוד הספציפי המשמש ליישום מטפל באירועים משתנה בהתאם לשפת התיכנות שבה אתה משתמש. ראה את הדוגמאות C# ו – Python בתיעוד של Speech SDK.

סינתזה ידנית

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

סינתזה ידנית של תרגומים היא למעשה רק שילוב של שתי פעולות נפרדות שבהן אתה:

  1. השתמש ב – TranslationRecognizer כדי לתרגם קלט מדובר לתמלולי טקסט בשפת יעד אחת או יותר.
  2. חזור על כך באמצעות מילון התרגומים כתוצאה מפעולת התרגום, תוך שימוש  ב– SpeechSynthesizer כדי לסנתז זרם שמע עבור כל שפה.

 

 

 

 

 

 

 

 

 

 

 

 

 

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

בעלי ניסיון הדרכתי ומעשי עשיר

מגיעים אליכם

אתם קובעים את מיקום הקורס והמועד

תאוריה ותרגול

חומרי לימוד ומעבדות רשמיות של מיקרוסופט הזמינים בענן

תוכנית מותאמת

התאמה מלאה ואישית לדרישות ולצרכי הארגון

למדו מהמומחים שלנו
Azure Security Microsoft learning
קורס Azure Security

בשנים האחרונות אנו חווים שינויים גדולים בניהול משאבי המחשוב בארגונים גדולים כקטנים. בין השינויים הבולטים – המעבר ממערכות המחשוב לסביבת הענן. מיקרוסופט מובילה צעדים אלו בבניית Data Centers ברחבי העולם ומספקת כלים, אפליקציות וסביבות המותאמות לכל ארגון.

קרא עוד »
קורס Azure
קורס Azure – יצירת סביבת עבודה של Microsoft Sentinel

לאחר עיצוב ארכיטקטורת סביבת העבודה, היכנס לפורטל Azure. בסרגל החיפוש, חפש את סנטינל ולאחר מכן בחר Microsoft Sentinel. סביבות העבודה של Microsoft Sentinel מציגות רשימה של סביבות העבודה הנוכחיות. בחר בלחצן + הוסף כדי להתחיל בתהליך היצירה.

קרא עוד »
קורס Azure
קורס Azure – חיבור מקורות של Microsoft Office 365

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

קרא עוד »

מתחיל ב-06.06.2024

1 מפגש

16:00 - 09:00
Azure AI Fundamentals
דילוג לתוכן