MICROSOFT LOGO
MICROSOFT LOGO
קורס Azure

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

שירות הדיבור מספק ממשקי API שבהם באפשרותך להשתמש כדי לבנות יישומים התומכים בדיבור.
carmel website
carmel-website
carmel-website
שירות הדיבור מספק ממשקי 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 כדי לסנתז זרם שמע עבור כל שפה.

תוכן עניינים

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

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

carmel website
מגיעים אליכם

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

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

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

carmel website
תוכנית מותאמת

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

מתחיל ב-07.01.2025

3 מפגשים

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