כאשר ה- PWA שלך מתחיל לדבר

באמצעות WaveNet להוסיף סינתזת דיבור למאמרים

על מה אנחנו מדברים כשאנחנו מדברים על דיבור

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

איך: סינתזת דיבור

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

  1. יישום הסינתזה באמצעות שירות הטקסט לדיבור של GCP באמצעות אפשרות ה- WaveNet (הרבה יותר) יקרה במקום האחת הרגילה
  2. אחסון קובץ ה- mp3 שנוצר ב- Firebase Storage, מערכת קבצים פשוטה המתארחת גם ב- GCP; שם הקובץ מורכב משבלול המאמר ומהמקום המשומש, המעניק לי מזהה משתמע ונמנע מהוספת מסמך נפרד השומר על התייחסות לכל כתובות ה- URL לנאום נתון
  3. ואז אני קורא לשני השלבים שלמעלה בשרת Vercel בעת יצירת או עדכון דף מאמרים, מה שקורה כרגע כל 24 שעות לכל היותר
  4. שימוש בטעינה עצלה עבור נגן האינטרנט במקרה שכתובת אתר אודיו זמינה

להיות עצלן זה חשוב

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

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

מדוע לא כל השפות (בינתיים)?

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

רק ההתחלה

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

טום