Wie funktionieren Musikidentifikations-Apps?
Seit dem Start im Jahr 1999 wurde Shazam verwendet, um Songs über fünfzig Milliarden Mal zu identifizieren, und das zählt nicht einmal die IDs von Soundhound, MusicID und anderen Geräuscherkennungs-Apps.
Aus der Sicht eines Benutzers ist es einfach: Starten Sie die App, drücken Sie eine Taste und lassen Sie Ihr Telefon den Song anhören. Nach ein paar Sekunden, sogar mit Hintergrundrauschen und Verzerrung, wird die App Ihnen sagen, was das Lied ist. Es funktioniert so schnell und so gut, dass es fast wie Magie erscheint - aber wie bei den meisten magischen Dingen heutzutage, wird es meistens von Algorithmen ausgeführt.
Was ist die Idee hinter diesen Apps?
Shazam, Soundhound und andere Musikidentifikationsdienste funktionieren alle auf die gleiche Weise: Sie haben eine große Datenbank mit Songinformationen, einen Algorithmus, der schnell Informationen aus Ihrem Song-Sample extrahieren kann, und eine App, mit der Sie mit diesen Dingen interagieren können. Technisch benötigen Sie nicht einmal ein Smartphone.
Shazam war ursprünglich auf altmodischen Flip-Telefonen verwendbar, indem man einfach einen Song aufzeichnete und ihn zum Dienst textete. Soundhound ist sogar noch ein paar Schritte weiter gegangen, indem es Ihnen auch erlaubt hat, in ihre App zu singen oder zu summen, die sie mit einer von Benutzern eingereichten Datenbank anderer Gesangs- / Brumm-Aufnahmen vergleichen.
Wie arbeiten Sie?
Der Prozess sieht einfach so aus:
- Die Datenbank der App enthält eine riesige Sammlung von Songs "Fingerabdrücken" oder kleine Datenstücke über die einzigartigen Klangmuster des Songs.
- Wenn ein Benutzer auf die Schaltfläche "Aufzeichnen" klickt, hört die App die Musik ab und erstellt einen Fingerabdruck basierend auf den wenigen Sekunden, die das Audio hört.
- Dieser Fingerabdruck wird mit der Datenbank der vorhandenen Fingerabdrücke verglichen. Wenn Ihr Zehn-Sekunden-Fingerabdruck mit einem Teil eines Songs übereinstimmt, erhalten Sie Ihr (hoffentlich korrektes) Song-Ergebnis. Wenn nicht, erhalten Sie einen Fehler zurück.
Wenn Sie nur nach einer Erklärung auf Oberflächenebene suchen, ist dies alles, was Sie wissen müssen. Der wirklich interessante Teil ist, wie Sie diesen Fingerabdruck tatsächlich bekommen.
Song-Fingerabdrücke
Alles beginnt mit einem Spektrogramm, wie es in der Grafik oben zu sehen ist. Es stammt aus einem Papier von Shazams Gründer Avery Wang. Dies ist im Wesentlichen ein Diagramm mit der Zeit auf der x-Achse (horizontal), der Frequenz auf der y-Achse (vertikal) und der Amplitude, die durch unterschiedliche Intensitäten der Farbintensität dargestellt wird. Jede Tonfolge kann somit in ein Spektrogramm umgewandelt werden, und jedem Punkt auf dem Spektrogramm kann eine Menge von Koordinaten zugewiesen werden. Genau so können Noten Zahlen sein.
Wenn Sie nur ein paar Geräusche aufeinander abstimmen müssten, könnten Sie hier aufhören. Wenn Sie jedoch durch eine Datenbank voller Millionen von Titeln schauen möchten, hat ein detailreiches Spektrogramm viel zu viele Datenpunkte, um in irgendeiner Art von Geschwindigkeit durchzusehen.
Der große Durchbruch bei der Musikerkennung war die Erkenntnis, dass man Klänge mit nur wenigen Daten identifizieren kann: die Spitzen oder die intensivsten Teile. Nicht nur, dass die meisten der energieärmeren Teile eines Songs verschwinden, sondern auch die Größe des Spektrogramms, aber es macht die Apps weniger anfällig für das Erkennen dumpfer, konsistenter Hintergrundgeräusche als Teil der Zielgeräusche. Stellen Sie sich eine Stadtskyline vor - die identifizierbarsten Teile sind die Gebäudespitzen, nicht die mittleren Stockwerke, und das ist es, was Sie von weit her sehen können.
So wird jede Sekunde jedes Songs auf wenige der intensivsten Datenpunkte reduziert; Alles auf der Skyline der Stadt ist bis auf die Spitze entfernt. Aber das ist immer noch nicht effizient genug, um sofort durchsuchbar zu sein, also besteht der nächste Schritt darin, diese Peaks zu "hacken". Hashing nimmt einfach eine Reihe von Eingaben, führt sie durch einen Algorithmus und ordnet ihnen eine ganzzahlige Ausgabe zu. In diesem Fall wird der Hash erzeugt, indem zwei der hochintensiven Peaks genommen werden, die Zeit zwischen ihnen gemessen wird und ihre zwei Frequenzen zusammenaddiert werden.
Das Ergebnis ist eine Zahlenfolge, die leicht speicherbar und durchsuchbar ist. Wenn ein Computer diesen Hashwert liest, erkennt er sie als Darstellung von Frequenz und Zeit-Entfernung. Sobald alle Peaks im Song identifiziert und gehackt sind, ist die Transformation abgeschlossen: Der Song hat jetzt eine eindeutige 32-Bit-Nummer, die als ID in der Datenbank dient. Noch wichtiger ist, dass jede Sekunde des Liedes durch die Nummern repräsentiert wird.
Wenn Ihr Telefon Musik hört, durchläuft es genau diesen Prozess: Es filtert alles außer den höchsten Punkten heraus, hasht sie und erstellt einen Fingerabdruck für die wenigen Sekunden, die es aufgenommen hat. Sobald dies abgeschlossen ist, muss Ihr Telefon nur noch nachsehen, wo die entsprechenden Zahlenfolgen in der Datenbank erscheinen. So kann es die erkannten Frequenzen und das Timing dem richtigen Lied zuordnen und es Ihnen in Sekundenschnelle zurückgeben.
Musik und mehr
Diese Technologie wurde am häufigsten für Musikerkennung verwendet, aber Anwendungen zur Sounderkennung können auch mit Filmen, Werbespots, Fernsehsendungen, Vogelstimmen und mehr verwendet werden. Shazam und Soundhound sind die bekanntesten, aber Sie können Google jetzt auch fragen, welches Lied gerade gespielt wird und eine genaue Antwort erhalten.
Und wenn Sie sich fragen: "Behalten diese Firmen den Überblick über welche Songs gefragt werden?" Lautet die Antwort "Ja". Musikidentifikationsstatistiken konnten den Erfolg von Liedern und Künstlern mit einer ziemlich hohen Genauigkeit vorhersagen, und große Plattenfirmen wie Warner haben Verträge mit Apps wie Shazam geschlossen, um aufstrebende Künstler zu finden. Also, wenn Sie einen Künstler unterstützen möchten, können Sie auch Ihren Teil tun und ihr Lied nachschlagen! Sie können ihnen einfach helfen, abzuheben.