¿Cómo sabe Shazam qué canción suena?

¿Cómo puede una ‘app’ como Shazam saber la canción que estás grabando en solo 15 o 20 segundos? Es una de esas cosas ‘mágicas’ de la tecnología que aún nos cuesta entender, pero por suerte tenemos expertos y divulgadores a los que les da por explicárnoslo de forma muy sencilla.

Ese es el caso de Jaime Altozano, un ‘youtuber’ español experto en música que es conocido en internet, explica todo tipo de conocimientos sobre este arte a través de contenidos sencillos y didácticos. Su último vídeo lo ha dedicado a desentrañar los secretos de Shazam y explicar para todos los públicos el algoritmo que creó uno de los fundadores de Shazam, Avery Wang, y que explicó en este ‘paper’.

Explica cómo para conseguir que que el sistema encontrase la canción correcta en un tiempo récord Wang decidió apostar por desmembrar las canciones y convertir las melodías en imágenes, tirando de sus frecuencias. Una vez hecho eso, el sistema convierte las canciones en datos tomando pequeñas huellas digitales sacadas de los picos que muestra cada sintonía y los guarda así en una base de datos.

Pero el algoritmo no guarda los picos de cualquier forma sino que los registra apuntando su frecuencia, la frecuencia del siguiente pico más cercano y el tiempo que pasa entre ambos puntos. Así, consigue construir huellas casi únicas (como las de nuestros dedos) que le ayudan a encontrar coincidencias comparando lo que grabas con su base de datos.

Tal es el éxito del trabajo de Wang que, para bien o para mal, cómo explica el youtuber, este algoritmo ya no solo lo usa Shazam sino que se ha generalizado y lo utilizan sitios como YouTube para cazar a todos los creadores de contenido que se saltan sus leyes de ‘copyright’ metiendo alguna canción con derechos en sus vídeos.

La razón de su popularización es tan simple como que para conseguir un controlador eficaz solo tienes que invertir en una gran base de datos. El resto lo puede hacer un algoritmo de forma automática. Por cierto, no solo funciona con música sino que en contenidos visuales también se podría utilizar convirtiendo los clips en datos y cogiendo puntos únicos de estos vídeos.

«Lo más sorprendente de que Shazam funcione así, es que es un algoritmo bastante entendible por un humano. Cada vez estamos más acostumbrados a sistemas montados con redes neuronales en las que nadie puede ya saber qué hace cada capa de la red. Como la red neuronal que te recomienda vídeos en Youtube. O la que detecta tu cara cuando subes una foto a Facebook. Y sin embargo Shazam (también por ser tan antiguo) funciona de una manera mucho más… artesanal. Y eso es muy divertido de entender».

Vuelve al inicio