¿Cómo funciona Shazam?

Slate publicó un artículo en octubre respondiendo a esta pregunta:

Esa melodía, llamada:

¿Cómo funciona su magia la aplicación de identificación de música Shazam?

Por Farhad Manjoo

Publicado el lunes 19 de octubre de 2009 a las 5:14 p.m. ET

Shazam es lo más cerca que un teléfono celular puede llegar a la magia. Digamos que estás en un restaurante, suena una canción y no puedes ubicar la melodía. En el pasado, sus opciones eran limitadas; podría intentar pedirle una pista a su cónyuge o al camarero, pero ese enfoque se arriesgó a revelar su ignorancia. (Eso es “Sex Machine”, idiota tonto). Shazam, que se lanzó en el Reino Unido en 2002 como un servicio de llamadas y se hizo ampliamente conocido en los Estados Unidos el año pasado cuando golpeó el iPhone, resuelve el dilema en unos pocos clics . Presione un botón en su teléfono, y en segundos obtendrá el título del artista y la canción. Además de jugar videojuegos, es lo más útil que puede hacer en su teléfono.

La semana pasada, Shazam anunció que más de 50 millones de personas en todo el mundo han utilizado el servicio, en comparación con los 35 millones a principios de año. La compañía también dijo que recibió una inversión no revelada de la legendaria firma de capital de riesgo de Silicon Valley, KPCB. El éxito de Shazam parece justificado: es la única aplicación que puede mostrar a los escépticos del iPhone para que reconsideren su posición (aunque Shazam también está disponible en Android, BlackBerry, Windows Mobile y prácticamente cualquier otro teléfono). Sin embargo, a pesar de toda la aclamación que produce, el funcionamiento interno de Shazam es bastante misterioso. ¿Cómo identifica realmente tu canción? ¿Cómo gana dinero la empresa? (Aquí hay una pista: los usuarios de iPhone deberían esperar ver una versión paga pronto). ¿Y cuáles son las perspectivas a largo plazo para una empresa cuyo único propósito es satisfacer una necesidad aguda y muy ocasional?

Primero, una breve explicación de cómo funciona Shazam. La compañía tiene una biblioteca de más de 8 millones de canciones, y ha ideado una técnica para dividir cada pista en una firma numérica simple, un código que es único para cada pista. “Lo principal aquí es crear una ‘huella digital’ de cada actuación”, dice Andrew Fisher, CEO de Shazam. Cuando sostienes tu teléfono con una canción que deseas identificar, Shazam convierte tu clip en una firma usando el mismo método. Entonces es solo una cuestión de coincidencia de patrones: Shazam busca en su biblioteca el código que creó a partir de su clip; cuando encuentra ese bit, sabe que ha encontrado tu canción.

Bien, pero ¿cómo hace Shazam estas huellas digitales? Como Avery Wang, el científico principal de Shazam y uno de sus cofundadores, explicó a Scientific American en 2003, el enfoque de la compañía se consideró durante mucho tiempo poco práctico desde el punto de vista informático: se pensaba que había demasiada información en una canción para compilar una firma simple. Pero mientras luchaba con el problema, Wang tuvo una idea brillante: ¿qué pasaría si ignoraba casi todo en una canción y se concentraba en unos pocos momentos relativamente “intensos”? Así, Shazam crea un espectrograma para cada canción en su base de datos, un gráfico que traza tres dimensiones de la música: frecuencia vs. amplitud vs. tiempo. Luego, el algoritmo selecciona solo aquellos puntos que representan los picos del gráfico: notas que contienen “mayor contenido de energía” que todas las otras notas a su alrededor, como explicó Wang en un artículo académico que publicó para describir cómo funciona Shazam (PDF). En la práctica, esto parece funcionar a unos tres puntos de datos por segundo por canción.

Se podría pensar que ignorar casi toda la información de una canción daría lugar a coincidencias inexactas, pero la técnica de huellas dactilares de Shazam es notablemente inmune a las perturbaciones: puede combinar canciones en entornos ruidosos a través de malas conexiones celulares. Fisher dice que la compañía también ha encontrado recientemente una manera de combinar la música que se ha acelerado de manera imperceptible (como los DJ de los clubes a veces hacen coincidir un tempo específico o los DJ de radio lo hacen para encajar en una canción antes de un descanso publicitario). Y puede notar la diferencia entre diferentes versiones de la misma canción. Lo probé en tres versiones diferentes de “Landslide”, el original de Fleetwood Mac y las portadas de Smashing Pumpkins y Dixie Chicks, y clavó cada una.

Fisher se negó a decirme la tasa general de aciertos y fallas de Shazam. Todo lo que diría es que el servicio es lo suficientemente bueno como para que la gente regrese por más: el usuario promedio busca canciones ocho veces al mes. La razón más común por la que Shazam no puede identificar una canción es porque no tiene suficientes datos. El sistema necesita al menos cinco segundos de música para hacer una combinación, y a veces la gente lo enciende justo cuando la canción está terminando. También hay errores frecuentes cuando las personas buscan actuaciones en vivo: si sostienes tu teléfono en tu televisor durante el segmento musical en Saturday Night Live, Shazam probablemente no identificará la canción. (Si obtienes una coincidencia de SNL, probablemente estés viendo ese episodio con Ashlee Simpson: Shazam es una excelente manera de atrapar a los sincerizadores de labios en el acto). Fisher dice que Shazam es técnicamente capaz de trabajar en presentaciones en vivo, pero han desactivado esa capacidad por lo que él llama “razones comerciales”. “En este momento, la gente confía en la marca; tratar de combinar canciones en vivo no obtendría una precisión muy alta”, dice. (Si tiene una melodía atascada en su cabeza, intente usar Midomi, un rival de Shazam que puede identificar canciones en función de su tarareo o canto).

La versión para iPhone de Shazam ha sido un éxito de taquilla, pero todavía representa solo el 20 por ciento de la base de clientes del servicio, que abarca más de 150 países y casi todos los operadores de telefonía móvil del mundo. La versión para iPhone también marcó un cambio para la compañía: fue la primera versión que Shazam ofreció de forma gratuita. Fisher dice que esto resultó ser una buena idea; trajo el reconocimiento instantáneo de Shazam, y la compañía ahora tiene una base de clientes suficiente para que pueda ganar dinero decente a través de anuncios en la aplicación y al obtener un corte de cada compra de canciones que la gente hace a través de la aplicación. Pero mantenerse completamente libre para siempre no es sostenible, dice Fisher. La compañía presentó recientemente una versión de Windows Mobile de su aplicación que opera bajo un modelo de precios “freemium”: los usuarios que descargan la versión gratuita pueden buscar cinco canciones al mes, mientras que una versión premium que cuesta una tarifa única de $ 5 será permitir búsquedas ilimitadas de canciones. Fisher dice que la versión de $ 5 para el iPhone (y la mayoría de las otras plataformas) se lanzará a finales de año.

La compañía también planea agregar muchos más servicios a sus aplicaciones: un motor de recomendaciones, una forma de permitirle compartir sus gustos musicales con sus amigos y gráficos que muestren las canciones que la gente está buscando. Todos los lunes, Shazam envía sus listas de éxitos a los sellos discográficos, y se sabe que los ejecutivos firman artistas en función de los datos. Esto ha llevado a una nueva forma para que los artistas entren en la corriente principal: aparecer en los anuncios de televisión. En 2005, por ejemplo, Volkswagen publicó un anuncio en Europa para el Golf GTI que presentaba una versión remezclada de “Singin ‘in the Rain” de Mint Royale. La canción inspiró muchas búsquedas en Shazam, y llevó al sello de la banda a lanzar la canción, que luego llegó a la cima de las listas europeas. “Probablemente vemos eso al menos una vez al mes en todo el mundo”, dice Fisher. En otras palabras, Shazam no solo ayuda a una audiencia a encontrar música. A veces ayuda a la música a encontrar una audiencia.

Fuente: http://www.slate.com/id/2232914/

Avery Wang publicó un artículo sobre cómo funciona el algoritmo. Puedes leerlo aquí: http://www.ee.columbia.edu/~dpwe… .

Abstracto:

Hemos desarrollado e implementado comercialmente un motor de búsqueda de audio flexible. El algoritmo es resistente al ruido y la distorsión, computacionalmente eficiente y masivamente escalable, capaz de identificar rápidamente un segmento corto de música capturado a través del micrófono de un teléfono celular en presencia de voces de primer plano y otro ruido dominante, y mediante compresión de códec de voz, fuera de una base de datos de más de un millón de pistas. El algoritmo utiliza un análisis de constelación de frecuencia de tiempo combinada combinada del audio, produciendo propiedades inusuales como la transparencia, en las que se pueden identificar múltiples pistas mezcladas entre sí. Además, para aplicaciones como el monitoreo de radio, se alcanzan tiempos de búsqueda del orden de unos pocos milisegundos por consulta, incluso en una base de datos de música masiva.

He respondido la pregunta similar aquí
Aquí está la tecnología de Shazam:

Las dos cosas más valiosas que componen la aplicación Shazam son la enorme base de datos de audio (alrededor de 11 millones de canciones) y el algoritmo de búsqueda de audio . Para hacer una aplicación de identificación de música como Shazam, necesitaría construir un motor de búsqueda similar utilizando las llamadas ‘huellas digitales’ . Para audio esto significa espectrogramas – gráficos de frecuencia de tiempo.

Una muestra de 10 segundos es suficiente para que la aplicación Shazam combine e identifique una canción. Dice mucho sobre su algoritmo de audio, que es masivo y escalable, basado en el análisis de constelaciones de frecuencia. Para hacer una aplicación como Shazam con menos esfuerzo, uno puede usar servicios de código abierto, como EchoPrint . Por supuesto, es principalmente para la identificación de música, aunque también son posibles otros usos prácticos como la detección de derechos de autor. Tenga en cuenta que se requiere instalar un servidor.

Como servicio de base de datos, Shazam usa Amazon DynamoDB y Amazon S3 :

  • El primero es una base de datos NoSQL que también es un servicio basado en la nube para cualquier tipo de aplicación. Se adapta muy bien para aplicaciones móviles y web, juegos y cosas de IoT.
  • En segundo lugar, Simple Storage Service de Amazon (Amazon S3) es el sistema de almacenamiento de objetos con interfaz web con un 99% de durabilidad y confiabilidad.
  • Servicio web de Amazon Route 53 DNS además.

Espero que lo tengas 🙂

Para obtener más información sobre Shazam, consulte este artículo:

¿Cuánto cuesta hacer una aplicación como Shazam?