כיצד לממש‏ ממשק משתמש קולי ביחידות MCU מוגבלות-משאב

באדיבות ‎DigiKey's North American Editors

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

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

יצרני שבבים מגיבים על ידי הצגת טכניקה מבוססת על פונמות (phonemes) המצמצמת מאוד את דרישות העיבוד. התוצאה היא מדויקת ביותר ותוכנת VUI יעילה יכולה לרוץ על מיקרו-בקרים (MCUs) ‏‎32-bit מוכרים ונתמכת על ידי כלי תכנון קלים לשימוש.

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

האתגרים בבניית VUI

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

תמונה של טכנולוגיית VUI המאומצת באופן נרחבאיור 1‏: טכנולוגיית VUI מאומצת באופן נרחב בבתים ובניינים חכמים כי היא נוחה וגמישה. (מקור תמונה: Renesas)

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

עתה‏, טכניקה חדשה מפשטת את תוכנת VUI במידה שהיא יכולה לרוץ על מיקרו-בקרים (MCUs) קטנים ויעילים כמו התקני Arm® Cortex®-M. טכניקה זו מסתמכת על העובדה שכל המילים בכל שפה מדוברת בנויות מצלילים לשוניים הנקראים פונמות. ישנן הרבה פחות פונמות ממילים; לאנגלית יש 44, לאיטלקית יש 32‏ ולשפה המסורתית של הוואי יש רק 14. אם‏ VUI משתמשת בסט פקודות באנגלית של 200 מילים, כל מילה ניתנת לפירוק לפונמות הקשורות ‏שלה מהסט של ה-44.

בתוכנת VUI, כל פונמה ניתנת לזיהוי על ידי קוד נומרי (או “סמל” (“token”)), כשהסמלים השונים יוצרים את השפה. אחסון מילים כצלילים דורש משאבי חישוב נרחבים, ותופס הרבה יותר מקום בזיכרון מפונמות המאוחסנות כסמלים. עיבוד סמלי פונמה (ובכך מילות פקודה) בסדר‏ צפוי מפשט עוד יותר את החישוב ומאפשר להריץ תוכנת VUI מקומית על MCU צנוע (איור 2‏).

תמונה של ייצוג מילים תוך שימוש בפונמותאיור 2: ייצוג מילים תוך שימוש בפונמות דורש פחות משאבי מיקרו-בקר. (מקור תמונה: Renesas)

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

Renesas הציגה חבילת תוכנה ‏VUI מסחרית המבוססת על עיקרון הפונמה כחלק‏ מהמערכת האקולוגית שלה. התוכנה, שנקראת Cyberon DSpotter, יוצרת אלגוריתם VUI יעיל מספיק כדי לרוץ על יחידות MCU מסדרת Renesas RA הכוללות ליבות Arm Cortex-M4‏ ו-M33.

פיתוח עם Cyberon DSpotter

Cyberon DSpotter בנויה על ספרייה של פונמות וצרופי‏ פונמה. זו גישה חלופית למסורתית של אימון עתיר מחשוב של אלגוריתמים לזיהוי מילים ספציפיות. כדי לפרק מילים לפונמות ואחר כך לייצג אותן כסמלים, המפתח יכול להשתמש ב-DSpotter Modeling Tool.

DSpotter‏ היא תוכנה משובצת (לא-ענן) העובדת כגורם מפעיל קולי מקומי וכפתרון זיהוי פקודות עם הפחתת רעש משמעותית. היא צורכת משאבים מינימליים ומדויקת ביותר. בהתאם ל-MCU הנבחר, ניתן ליישם גם העברת נתונים מאובטחת.

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

כלי ה-DSpotter יוצר “סטים של פקודות” ("CommandSets") היכולים להיות מחוברים לוגית על ידי תוכנית המפתח ליצירת VUI עם רמות שונות. זה מאפשר פקודות מרובות-רמות כגון, "אני רוצה שהנורה תהיה מכוונת לעוצמה גבוהה, בבקשה”: מילות הפקודה הן "נורה", לאחריה “מכוונת”, ו“גבוהה”. לכל פקודה בקבוצה יש את האינדקס שלה, כמו גם לכל פקודה באותה הרמה (איור 3‏).

תמונה של כלי DSpotter המאפשר את היצירה של “CommandSets”איור 3: כלי ה-DSpotter מאפשר את היצירה של "CommandSets" היכולים להיות מחוברים לוגית על ידי תוכנית המפתח ליצירת VUI עם רמות שונות. (מקור תמונה: Renesas)

ספריית ה-DSpotter מעבדת קול נכנס ומחפשת פונמות התואמות לפקודות בבסיס הנתונים. כשמוצאת התאמה, היא חוזרת עם האינדקס ומספרי הקבוצה. סידור כזה‏ מאפשר לקוד היישום העיקרי ליצור‏ הצהרת מתג הירארכית לעיבוד מילות/ביטויי הפקודה איך שהם באים. ספריית התוצאה יכולה להיות קטנה מספיק כדי להתאים ב-MCU עם זיכרון Flash של 256 קילו-בייט ו-32 קילו-בייט SRAM בלבד. ה-CommandSet יכול לגדול אם קיים יותר זיכרון‏.

חשוב למפתח להעריך שישנן מגבלות לשיטת הפונמה עבור VUI. המשאבים המוגבלים יחסית של ה-MCU מכתיבים שה-Cyberon DSpotter הוא זיהוי דיבור להבדיל מזיהוי קול. זה אומר שהתוכנה אינה יכולה לבצע עיבוד שפה טבעית. לכן, אם מילות הפקודה אינן מהוות רצף לוגי (לדוגמה, “גבוהה”, “נורה”, “מכוונת” במקום‏ “נורה”, “מכוונת”, “גבוהה”), המערכת לא תזהה את הפקודה ותתאפס אחורה לרמה העליונה.

הצעת תכנון אחת היא להוסיף מחוון ויזואלי ל-VUI (לדוגמה,‏ נורית LED‏) כדי להציג כשהמעבד מניח שהוא נמצא ברמה העליונה של ה-CommandSet, כדי לבקש מהמשתמש לחזור על הפקודה ברצף הלוגי (איור 4‏).

תמונה של הטבע הסדור‏ של Cyberon DSpotterאיור 4‏: הטבע הסדור‏ של Cyberon DSpotter דורש שהפקודות יפעלו לפי רצף לוגי, אחרת הן לא יזוהו. (מקור תמונה: Renesas)

הרצת VUI‏ לא-ענן עם משאבים מוגבלים

היעילות של Cyberon DSpotter מאפשרת לה לרוץ על משפחות RA2,‏ RA4 ו-RA6 של יחידות Arm Cortex-M MCU מבית Renesas. משפחות אלו הן נפוצות לרוחב מגוון רחב של יישומי צרכנים, תעשיה ו-‏IoT‏. הן נתמכות על ידי כלי תכנון קלים-לשימוש, מה שעושה את הבנייה של VUI פשוט לפשוטה יחסית ללא ניסיון נרחב בקידוד או מומחיות פנים ארגונית.

הבחירה ב-MCU ממשפחת RA‏ ספציפית מסתכמת בעיקר במורכבות של פקודות וגודל ספריית ה-Cyberon. מתג תאורה חכם, הדורש סט פקודות צנוע וכוח חישוב מוגבל כדי לפעול ביעילות, יכול להיות מבוסס על ה-R7FA4W1AD2CNG ממשפחת ה-RA4. למיקרו-בקר זה יש ליבת Arm Cortex-M4‏ 48 מגה-הרץ ‏(MHz) ידידותית-סוללה הנתמכת על ידי 512 קילו-בייט זיכרון Flash ו-96 קילו-בייט SRAM. הוא כולל‏ בקר LCD‏ סגמנטים, יחידת חישה מגע קיבולי,‏קישוריות אלחוטית Bluetooth Low-Energy‏ (Bluetooth LE‏), USB 2.0‏ מהירות מלאה, ממיר אנלוגי-לדיגיטלי (ADC)‏ bit‏-14‏, ממיר דיגיטלי-לאנלוגי (DAC‏)‏ bit‏-12, ועוד מאפייני בטיחות ואבטחה (איור 5‏).

תרשים של Renesas R7FA4W1AD2CNG MCUאיור 5‏: ה-R7FA4W1AD2CNG MCU מספק משאבים רבים כדי לבנות VUI‏ לא-ענן עבור יישומים כמו‏ מתג תאורה חכם. (מקור תמונה: Renesas)

ספריית‏ Cyberon DSpotter נרחבת יותר וליבה עוצמתית יותר נחוצות עבור יישום כמו רמקול חכם. ‏מועמד מתאים הוא‏ ה-R7FA6M4AF3CFM. יחידת מיקרו-בקר זו ממשפחת ה-RA6 כוללת את הליבה החזקה יותר 200‎ MHz Arm Cortex-M33 הנתמכת על ידי 1 מגה-בייט (Mbyte) זיכרון Flash ו-256 קילו-בייט SRAM. יש לה‏ אפיק CAN,‏ Ethernet‏, I²C‏, אפיק LIN, ‏יחידת חישה מגע קיבולי, וממשקים ורכיבים היקפיים רבים אחרים.

משפחות ה-RA4‏ ו-RA6‏ נתמכות על ידי לוחות הערכה, ה-RTK7EKA4W1S00000BJ וה-RTK7EKA6M4S00001BE, בהתאמה, כדי לאפשר‏ למפתח לממש את היכולות של יחידות המיקרו-בקר (MCUs). לכל לוח הערכה יש את ה-MCU יעד ומנפה שגיאות (Debugger) משולב.

Renesas מציעה גם פתרון‏ VUI כדי להאיץ פיתוח. הערכה‏ דומה ללוחות ההערכה בכך שהיא משלבת את התקן היעד ומנפי שגיאות (Debuggers). הלוח גם כולל מספר ממשקי I/O‏ ויש לו ארבעה מיקרופונים: שניים אנלוגיים ושניים דיגיטליים.

גישה אל התוכנה הדרושה עבור פיתוח עם ערכת פתרון ה-VUI קיימת באתר האינטרנט של Cyberon. זה כולל גישה חינם לכלי מידול Cyberon Dspotter‏ וכולל פרויקט סטודיו e2 עם‏ CommandSet קולי עובד (סטודיו ‏e2 הוא סביבת פיתוח משולבת (IDE) מבוססת-Eclipse עבור יחידות Renesas MCU). סט פקודות הדוגמה CommandSet יכול לשמש כתבנית עבור פיתוח סדרות פקודות קול מותאמות-במיוחד. אחר כך ניתן לנטר את תגובות המערכת על ידי שימוש בחלון מסוף (terminal window). באופן כללי לוקח כ-15 דקות כדי ליצור את מבנה ה-VUI המוצג באיור 4‏.

תכנון תוכנת יישום מתוחכמת יותר עבור חבילת ה-Cyberon‏ נתמך על ידי ה-Renesas Flexible Software Package‏ (FSP) של החברה עבור תכני מערכת משובצת תוך שימוש במשפחות ה-RA. ה-FSP‏ מבוססת על מערכת אקולוגית‏ של תוכנה פתוחה וכוללת Azure RTOS‏ או FreeRTOS,‏ קוד מורשת (legacy code), ומערכות אקולוגיות של צד-שלישי. היא יכולה לרוץ במספר סביבות פיתוח משולבות (IDE), כולל e2 studio.

עד כמה טובים ביצועי VUI?

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

כדי לשפר ביצועים בסביבת‏ האזנה קשה, תוכנת Cyberon DSpotter הרצה על משפחת Renesas RA‏ של יחידות MCU כוללת מאפייני חסינות לרעש הדורשים משאבי מעבד מינימליים. כדי להדגים את היעילות שלה, נעשו בדיקות האזנה לפקודות עם Cyberon DSpotter VUI תוך חשיפה למקורות רעש רקע שונים במרחקים של 1.5 ו-3‏ מ' (m), ועם יחסי אות-לרעש (SNRs) של‏ 0,‏5‏ ו-‏10 דציבלים (dB‏). בכל המקרים, ביצועי ה-VUI עלו על אמת המידה Amazon Alexa‏ (טבלה 1‏).

SNR רעש רקע מרחק שיעור פגיעה דרישות Alexa‏
(נקי) אין 1.5 מ' %100.00 %90
(נקי) אין 3 מ' %100.00 %90
‎10 dB פטפוט 1.5 מ' %98.55 %‏80
‎10 dB פטפוט 3 מ' %98.84 %‏80
‎10 dB מוזיקה 1.5 מ' %98.26 %‏80
‎10 dB מוזיקה 3 מ' %98.55 %‏80
‎10 dB TV 1.5 מ' %98.84 %‏80
‎10 dB TV 3 מ' %98.55 %‏80
‎5 dB פטפוט 1.5 מ' %98.84 %‏80
‎5 dB פטפוט 3 מ' %96.24 %‏80
‎5 dB מוזיקה 1.5 מ' %98.84 %‏80
‎5 dB מוזיקה 3 מ' %97.08 %‏80
‎5 dB TV 1.5 מ' %93.37 %‏80
‎5 dB TV 3 מ' %90.72 %‏80

טבלה 1‏: תוצאות בדיקת הצלחה של פקודות עבור VUI‏ מופעל-Cyberon עם מקורות שונים של רעש רקע‏. בכל המקרים, ביצועי ה-VUI עלו על אמת המידה Amazon Alexa‏. (מקור תמונה: Renesas)

סיכום

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

DigiKey logo

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות מוציא לאור זה

DigiKey's North American Editors