כיצד פועלים אפליקציות לזיהוי מוסיקה
מאז שהתחילה ב -1999, Shazam כבר משמש לזיהוי שירים מעל חמישים מיליארד פעמים, וזה אפילו לא לספור את תעודות הזהות של Soundhound, MusicID, ושאר יישומים הכרה קול.
מנקודת המבט של המשתמש, זה פשוט: הפעל את היישום, לחץ על כפתור, והנח לטלפון להאזין לשיר. לאחר מספר שניות, אפילו עם רעש רקע ועיוות, האפליקציה תספר לך מה השיר. זה עובד כל כך מהר כל כך טוב שזה כמעט נראה כמו קסם - אבל, כמו עם רוב הדברים קסום בימים אלה, זה מנוהל בעיקר על ידי אלגוריתמים.
מה הרעיון שמאחורי האפליקציות האלה?
Shazam, Soundhound ושירותי זיהוי מוסיקה אחרים פועלים באופן בסיסי באותה צורה: יש להם מסד נתונים גדול של מידע על שירים, אלגוריתם שיכול לחלץ מידע במהירות מדגימת השירים שלך, ואפליקציה שתאפשר לך לממשק עם הדברים האלה. מבחינה טכנית, אתה אפילו לא צריך טלפון חכם.
Shazam היה שמיש במקור על טלפונים מיושנים להעיף ידי רק להקליט שיר texting אותו לשירות. Soundhound הלכה למעשה כמה צעדים נוספים על ידי גם מאפשר לך לשיר או לזמזם לתוך האפליקציה שלהם אשר הם תואמים נגד המשתמש שנשלחו מסד נתונים של שירים אחרים / הזמזום הקלטות.
איך הם עובדים?
במילים פשוטות, התהליך נראה כך:
- במסד הנתונים של האפליקציה יש אוסף מאסיבי של "טביעות אצבע", או פיסות קטנות של נתונים על דפוסי הצליל הייחודיים של השיר.
- כאשר משתמש מגיע ללחצן "הקלט", האפליקציה מקשיבה למוסיקה ויוצרת טביעת אצבע בהתבסס על מספר השניות של השמע שהיא שומעת.
- טביעת אצבע זו מסומנת כנגד מסד הנתונים של טביעות האצבעות הקיימות. אם טביעת האצבע של עשר שניות שלך מתאימה לחלק משיר, תקבל את התוצאה שלך (בתקווה נכונה). אם לא, תקבל בחזרה שגיאה.
אם אתה רק מחפש הסבר ברמת פני השטח, זה כל מה שאתה צריך לדעת. החלק המעניין באמת הוא איך אתה באמת מקבל את טביעת האצבע.
טביעות אצבעות
הכל מתחיל בספקטרוגרמה, כמו זו שבגרף לעיל, שנלקחה מנייר שנכתב על ידי אחד ממקימיו של שיזם, אייברי וואנג. זהו למעשה גרף עם הזמן על ציר x (אופקי), תדר על ציר y (אנכי), משרעת המיוצג על ידי רמות שונות של עוצמת צבע. כל רצף של צלילים יכול להיות כל כך להפוך spectrogram, וכל נקודה על spectrogram יכול להיות מוקצה קבוצה של קואורדינטות. בדיוק כך, הערות יכולות להיות מספרים.
אם כל מה שאתה צריך לעשות זה להתאים כמה צלילים זה לזה, אתה יכול לעצור כאן. אם אתה רוצה להסתכל דרך מסד נתונים מלא של מיליוני שירים, אם כי, פירוט מלא spectrogram יש יותר מדי נקודות נתונים להסתכל על כל סוג של מהירות.
פריצת הדרך הגדולה בהכרה במוזיקה היתה ההכרה שאתה יכול לזהות צלילים עם רק כמה פיסות נתונים: הפסגות, או החלקים החזקים ביותר. לא רק להיפטר רוב החלקים של אנרגיה נמוכה של שיר להקטין את הגודל של spectrogram, אבל זה עושה את היישומים פחות רגישים לזיהוי רעש רקע עמום, עקבי כחלק קולות היעד. תארו לעצמכם קו הרקיע של העיר - החלקים המזוהים ביותר הם צמרות הבניינים, לא הקומות האמצעיות, וזה מה שאתה יכול לראות מרחוק.
אז כל שנייה של כל שיר הוא חשוף למטה רק כמה נקודות נתונים אינטנסיבי ביותר; הכל על קו הרקיע של העיר מוסר למעט העליון מאוד. אבל זה עדיין לא ממש יעיל מספיק כדי להיות מיד לחיפוש, ולכן השלב הבא הוא "חשיש" זה רצף של פסגות. ההשתלטות פשוט לוקחת קבוצה של תשומות, מפעילה אותם באמצעות אלגוריתם ומקצה להם פלט שלם. במקרה זה חשיש נוצרת על ידי לקיחת שני פסגות בעוצמה גבוהה, מדידת את הזמן ביניהם, והוספת שני תדרים שלהם יחד.
התוצאה היא מחרוזת של מספרים, לאחסון בקלות וניתן לחיפוש. כאשר מחשב קורא את ה- Hash, הוא יזהה אותם כמייצג תדירות ומרחק-זמן. לאחר שכל הפסגות בשיר מזוהות ומשופרות, הטרנספורמציה הושלמה: לשיר יש כעת מספר ייחודי של 32 סיביות המשמש כמזהה שלו במסד הנתונים. חשוב יותר, כל שנייה של השיר מיוצג על ידי המספרים.
כאשר הטלפון שלך שומע מוסיקה, הוא עובר את התהליך המדויק הזה: הוא מסנן את הכל אבל את הנקודות הגבוהות ביותר, hashes אותם, ויוצר טביעת אצבע עבור כמה שניות היא רשמה. ברגע שזה הושלם, הטלפון שלך רק צריך לראות איפה מחרוזות המתאימות של מספרים מופיעים במסד הנתונים, ומאפשר לו להתאים את התדרים שזוהו תזמון לשיר הנכון והחזרתו אליך בתוך שניות.
מוסיקה ועוד
טכנולוגיה זו כבר בשימוש נרחב ביותר עבור זיהוי מוסיקה, אבל יישומי הכרה קול יכול גם לעבוד עם סרטים, פרסומות, תוכניות טלוויזיה, שירי ציפורים, ועוד. Shazam ו Soundhound הם הידועים ביותר, אבל אתה יכול גם לשאול את Google מה השיר הוא משחק ולקבל תגובה מדויקת.
ואם אתם תוהים, "האם החברות האלה עוקבות אחרי איזה שירים נשאלות?" התשובה היא "כן". סטטיסטיקת זיהוי המוזיקה אכן הצליחה לחזות את הצלחתם של שירים ואמנים ברמה גבוהה למדי של דיוק, וכן תוויות שיא גדול כמו וורנר יש חוזה עם יישומים כמו Shazam כדי לעזור למצוא מעלה ו-בא אמנים. אז, אם אתה רוצה לתמוך אמן, אתה יכול גם לעשות את החלק שלך ולחפש את השיר שלהם! אתה יכול רק לעזור להם להמריא.