c't 21/2018
S. 174
Know-how
Audio-Fingerprinting
Aufmacherbild
Bild: Rudolf A. Blaha

Akustische Sternbilder

Wie Shazam Songs erkennt

In der Kneipe läuft ein toller Song, aber keiner am Tisch weiß, wie er heißt. Shazam identifiziert den Song mit einer kurzen Aufnahme vom Handy, selbst wenn der Nebentisch lautstark über Fußball diskutiert. Wir erklären die raffinierten Ideen hinter Shazams Audio-Fingerprinting.

Audio-Fingerprinting hat Avery Li-Chun Wang, einer der Shazam-Gründer, zuerst 2003 in einem Whitepaper [1] präsentiert. Darin stellt er einen Algorithmus zur Identifizierung von Musiktiteln mittels kurzer Aufnahmen von Mobiltelefonen vor. Ein Mobiltelefon war im Jahr 2000 tatsächlich nur ein mobiles Telefon und in jeder Beziehung weit vom späteren Smartphone entfernt. Mikrofonqualität, Signalverarbeitungsmöglichkeiten im Gerät und die Übertragungsqualität von GSM waren nur einige der technischen Hürden, die seinerzeit als unüberwindbar galten. Einer der Gründer und früherer CEO Chris Barton erzählt das unterhaltsam in einem Video (siehe ct.de/yc4w). Shazam hielt trotz aller Bedenken an der Idee fest und engagierte Li-Chun Wang, der die Aufgabe zunächst selbst für unmöglich hielt. Ihm kam jedoch die Idee für einen raffinierten neuen Algorithmus, der das Problem bereits ein Jahr später lösen sollte. 2001 nutzte man den mit einem Anruf, heute verwendet man eine App.

Das Prinzip des Algorithmus ist einfach: Er bestimmt die charakteristischen Audioeigenschaften der Probe – ihren Audiofingerabdruck – und sucht damit nach Übereinstimmungen in einer Datenbank mit den Audiofingerabdrücken der Originalmusikstücke. Shazam hat zwar nicht alle Aspekte des Audio-Fingerprinting neu erfunden, jedoch das Problem gelöst, mit stark verrauschten Aufnahmen und geringen Datenraten bei der Datenbankabfrage zurechtzukommen.