איך עובדות אפליקציות שמזהות שירים, כמו Shazam?

ספקטרוגרם

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

ספקטרוגרפיה, העמוד החיוני

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

הכל עניין של השוואה

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

ספקטרוגרם

שאזאם הוא ספקטרוגרף

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

מסד הנתונים הוא המורכב ביותר

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

הפעולה הלא מקוונת שלו פשוטה מאוד

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

האלגוריתם חיוני

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


  1.   אלקליניקו דיג'ו

    חזאם מבאס. זה הרבה יותר טוב Soundhound או מזהה רצועה של סוני.


  2.   הביטל דיג'ו

    מעניין ...