>

miércoles, 11 de abril de 2012

Shazam hace magia o se sabe todas las canciones? No, tiene este truquito...



Había oído hablar de Shazam pero no lo había usado todavía. Así que lo descargué en un teléfono con Android y me dispuse a probarlo. Con la aplicación lista para identificar (o "taggear" según la jerga del app) sintonicé un canal de música, justo en el momento que un tema iba terminando (debo confesar que era un tema de Arjona, mea culpa) Cuando digo terminando me refiero a esos últimos segundos en fade. Y lo logró precisamente. Ya verán por qué.

Develando la magia

En primer lugar, una breve explicación de cómo funciona Shazam. La empresa cuenta con una biblioteca de más de 8 millones de canciones, y se ha ideado una técnica para romper cada pista en una simple firma, un código numérico que es único para cada pista. "Lo principal aquí es la creación de una ´huella digital´de cada tema", dice Andrew Fisher, CEO de Shazam. Cuando se acerca el teléfono a una canción que te gustaría identificar, Shazam convierte el clip en una firma utilizando el mismo método. Entonces es sólo una cuestión de coincidencia de patrones: Shazam busca en su biblioteca el código que crea a partir de su clip, si encuentra esa secuencia, sabe que ha encontrado su canción.

OK, pero ¿cómo hace Shazam, estas huellas digitales ?

Como Avery Wang, científico en jefe de Shazam y uno de sus co-fundadores, explicó a la revista Scientific American en 2003, el enfoque de la compañía fue considerado durante mucho tiempo computacionalmente inviable. Se consideraba que había demasiada información en una canción para compilarla en una simple firma. Pero mientras luchaba con el problema, Wang tuvo una brillante idea: ¿Y si se ignora casi todo en una canción y nos concentramos en unos pocos y relativamente "intensos" momentos? Así Shazam crea un espectrograma de cada canción en su base de datos. Un gráfico en tres dimensiones con las siguientes magnitudes de cada canción:  frecuencia + amplitud + tiempo. El algoritmo escoge sólo los puntos que representan los picos de la gráfica de las notas que contienen "mayor contenido de energía" que todas las demás notas a su alrededor, como Wang explica en un artículo académico que publicó para describir cómo funciona Shazam. En la práctica, esto parece funcionar con cerca de tres puntos de datos por segundo por canción ( he aquí por qué tuvo éxito mi prueba).
Se podría pensar que omitiendo casi toda la información de una canción se podrían obtener resultado inexactos, pero la técnica de toma de "huellas digital" de Shazam  es inmune a las perturbaciones, que pueden ocurrir en ambientes con mucho ruido o a través de conexiones celulares poco fieles. Fisher dice que la compañía también ha descubierto recientemente una manera aparear patrones de temas que se han sido acelerado imperceptiblemente (como hacen los disc-jockeys para que coincida con un ritmo específico). Además Shazam puede distinguir entre diferentes versiones de la misma canción.

Traducción: www.i-d-a.com.ar
Vía: @slate

No hay comentarios: