Cómo funciona Shazam?

Las matemáticas explican como la popular aplicación móvil es capaz de reconocer una canción, todo y el ruido o la lejanía del sonido original

La aplicación es capaz d’identificar prácticamente cualquier canción
La aplicación es capaz d’identificar prácticamente cualquier canción
Quico Domingo
25 de Junio de 2016
Hay algunas aplicaciones que encontramos instaladas a prácticamente cualquier teléfono móvil. Haced la prueba, miráis el móvil de alguno de vuestros amigos y seguro queencontraréis WhatsApp, Facebook, Google Maps, posiblemente Instagram y Shazam.

A buen seguro que esta app no necesita presentación, pero para resumir su funcionalidad de manera muy breve podríamos decir que es capaz de identificar prácticamente cualquier canción que suene sólo escuchándola unos segundos. Incluso, nos encontramos en ambientes con ruido de fondo o donde la música es lejos, Shazam lo acierta.

Si os habéis planteado en algún momento como funciona el app, la primera respuesta que os ha debido de venir a la mente es que lo tiene que hacer por arte de magia. Pero nada más alejado de la realidad. Realmente Shazam funciona gracias a un algoritmo de identificación complejo creado por Avery Li-Chun Wang, uno de los fundadores de la compañía y que a continuación intentaremos explicaros de manera sencilla.

De entrada, todo el sistema se basa en una base de datos en la que seguarda la huella digital de 8 millones de canciones aproximadamente. Cuando un usuario usa la aplicación para identificar un tema, el app graba unos segundos de audio –aproximadamente 10– ygenera la huella digital.

A partir de aquí, el dispositivo envía esta impronta a los servidores de Shazam, que la comparan con su base de datos. Y si se ha encontrado una coincidencia, el sistema devuelve toda la información de la canción.

Hasta aquí el proceso resulta relativamente lógico, pero cómo funciona y se genera esta "huella digital"? De hecho cuando Wang explicó su metodología a la comunidad científica, tildada de imposible para compilar la gran cantidad de información contenida en una canción en una sola firma única. Pero la aproximación de Wang tenía un truco: él preveía eliminar prácticamente todos los datos del tema y quedarse sólo con los momentos más "intensos" del audio.

Pues bien, para cada canción, Shazamgenera un gráfico tridimensional, donde un eje es el tiempo, el otro la frecuencia y el tercero la intensidad. Y lo llena de datos con un par de puntos cada segundo. Por lo tanto, cada punto de la gráfica representa la intensidad de una frecuencia en un momento concreto. Por ejemplo, una línea plana significaría un tono puro y continuo y una línea vertical una explosión instantánea de sonido. A partir de esta gráfica, el algoritmo de Shazam –que es secreto, está claro–, identifica los momentos de máxima intensidad yguarda su frecuencia y el tiempo desde el inicio de la canción en el cual se producen.

Así pues, cuando un usuario escucha una canción con la app, esta envía un par de puntos –generados con el mismo algoritmo– que los servidores de Shazam comparan con su base de datos. Y si hay coincidencia, se produce la magia.