איך עובד שזאם

כיצד מצליח הישום הסלולרי הפופולרי לזהות כמעט כל שיר שתזרקו עליו?

שזאם
שזאם | צילום: צילום מסך

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

 

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

 

ספקטוגרמה - לא מילה גסה

תהליך חיפוש היצירה הוא פשוט למדי:

  1. המשתמש משמיע לישום לפחות 10 שניות של יצירה כלשהי
  2. הישום מעבד את הדגימה ומחלץ ממנה מעין חתימה דיגיטלית של הצליל
  3. המערכת משווה את החתימה שהתקבלה מדגימת היצירה שהשמיע המשתמש לאלו בבסיס הנתונים הנרחב של החברה
  4. המשתמש מקבל את שם האמן והשיר ולעתים גם קישור לרכישת האלבום או לחילופין, מתקבלת הודעת שגיאה

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

 

ספקטוגרמה
ספקטוגרמה | צילום: Avery Li-Chun Wang

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

 

חיפוש

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

 

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

 

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