Esta publicación continúa detrás de The Tap, una serie que explora la mecánica oculta de la tecnología cotidiana, desde Uber hasta Spotify y los motores de búsqueda. Me sumergiré debajo del capó para desmitificar los sistemas que dan forma a su mundo digital.
La primera relación con la escucha de la música comenzó a las 6, girando a través de los álbumes en el reproductor de 6 discos Onkyo de la sala de estar. Gato stevens, Ranura Armada, Cesco. Siempre había una canción a la que seguía rebobinando, aunque no sabía su nombre. 10 años después, los momentos de la canción volvieron a la memoria. Busqué en los foros ‘,’Vieja melodía de saxofón ‘‘Canción vintage sobre dunas de arena‘, buscando años sin éxito. Entonces, un día en la universidad, estaba en el dormitorio de mi amigo Pegler cuando lo jugó:
Esa larga búsqueda me enseñó lo importante que es poder encontrar la música que amas.
Antes de transmitir y asistentes inteligentes, el descubrimiento de música se basaba en la memoria, la suerte o un amigo con buen gusto musical. Ese coro pegadizo podría perderse en el éter.
Luego vino el milagro de un amante de la música.
Unos segundos de sonido. Un botón presione. Y un nombre en tu pantalla.
Shazam hizo reconocible la música.
El origen: 2580
Shazam se lanzó en 2002, mucho antes de que las aplicaciones fueran una cosa. En aquel entonces funcionó así:
Marcarías 2580# En su móvil (solo en el Reino Unido).
Mantenga su teléfono hasta el altavoz.
… espera en silencio …
Y recibir un SMS diciéndote el nombre de la canción.
Se sintió como magia. El equipo fundador, Chris Barton, Philip Inghelbrecht, Avery Wang y Dhiraj Mukherjee, pasó años construyendo esa ilusión.
Para construir su primera base de datos, Shazam contrató a 30 jóvenes Para ejecutar turnos de 18 horas, cargando manualmente 100,000 CD en computadoras y utilizando software personalizado. Debido a que los CD no contienen metadatos, tuvieron que escribir los nombres de las canciones manualmente, refiriéndose a la manga de CD, para eventualmente crear las primeras huellas digitales de audio de la compañía, un proceso minucioso que llevó meses.
En una época ante teléfonos inteligentes o aplicaciones, cuando Nokia y BlackBerry no pudieron manejar las demandas de procesamiento o memoria, Shazam tuvo que mantenerse con vida lo suficiente como para que la tecnología se pusiera al día con su idea. Esta fue una lección de tiempo en el mercado.
Esta publicación se trata de lo que sucede en el momento entre el TAP y el título, el procesamiento de la señal, el hashing, la indexación y la coincidencia de patrones que permite a Shazam escuchar lo que no puede nombrar.
El algoritmo: huellas digitales de audio
En 2003, el cofundador de Shazam Avery Wang publicado El plan para un algoritmo que todavía alimenta la aplicación hoy. La idea central del periódico: si los humanos pueden entender la música por superpuesto Capas de sonido, una máquina también podría hacerlo.
Caminemos cómo Shazam se rompe suena a algo que una máquina puede reconocer al instante.
1. Captura de la muestra de audio
Comienza con un toque.
Cuando presiona el botón Shazam, la aplicación registra un fragmento de 5 a 10 segundos del audio a su alrededor. Esto es lo suficientemente largo como para identificar la mayoría de las canciones, aunque todos hemos esperado minutos sosteniendo nuestros teléfonos en el aire (o escondidos en nuestros bolsillos) para la identificación.
Pero Shazam no almacena esa grabación. En cambio, lo reduce a algo mucho más pequeño y más inteligente: un huella dactilar.
2. Generación del espectrograma
Antes de que Shazam pueda reconocer una canción, debe entender qué Las frecuencias están en el sonido y cuando ocurren. Para hacer esto, utiliza una herramienta matemática llamada Transformación rápida de Fourier (FFT).
El FFT Rompe una señal de audio en sus frecuencias de componentes, revelando qué notas o tonos constituyen el sonido en cualquier momento.
Por qué importa: Las formas de onda son frágiles, sensibles al ruido, los cambios de tono y la compresión del dispositivo. Pero las relaciones de frecuencia con el tiempo siguen siendo estables. Ese es el oro.
Si estudiaste las matemáticas en la universidad, recordarías las luchas de aprender el Proceso discreto de transformación de Fourier.Transformación rápida de Fourier (FFT) es una versión más eficiente que nos permite descomponer una señal compleja en sus componentes de frecuencia, como escuchar todas las notas en un acorde.
La música no es estática. Las notas y los armónicos cambian con el tiempo. Entonces, Shazam no solo ejecuta FFT una vez, lo ejecuta repetidamente sobre ventanas pequeñas y superpuestas de la señal. Este proceso se conoce como el Transformación de Fourier a corto plazo (STFT) y forma la base del espectrograma.
El resultante espectrograma es una transformación del sonido del dominio de tiempo de amplitud (forma de onda) en el dominio de tiempo de frecuencia.
Piense en esto como convertir una forma de onda de audio desordenada en un mapa de calor musical.
En lugar de mostrar lo fuerte que es el sonido, se muestra un espectrograma Que frecuencias están presentes a que momentos.
Un espectrograma mueve el análisis del dominio de tiempo de amplitud a dominio de tiempo de frecuencia. Muestra tiempo en el eje horizontal, la frecuencia en el eje vertical, y usa brillo para indicar la amplitud (o volumen) de cada frecuencia en cada momento. Esto le permite ver no solo qué frecuencias están presentes, sino también cómo evoluciona su intensidad, lo que permite identificar patrones, eventos transitorios o cambios en la señal que no son visibles en una forma de onda de dominio de tiempo estándar.
Espectrogramas se utilizan ampliamente en campos como el análisis de audio, el procesamiento del habla, la sismología y la música, proporcionando una herramienta poderosa para comprender las características temporales y espectrales de las señales.
3. Desde el espectrograma hasta el mapa de la constelación
Los espectrogramas son densos y contienen demasiados datos para comparar entre millones de canciones. Shazam filtra frecuencias de baja intensidad, dejando los picos más fuertes.
Esto crea un mapa de constelación, un diagrama de dispersión visual de frecuencias sobresalientes con el tiempo, similar a la partitura, aunque me recuerda a una caja de música mecánica.
4. Creación de la huella digital de audio
Ahora viene la magia, convirtiendo puntos en una firma.
Shazam toma cada punto de anclaje (un pico dominante) y lo combina con picos objetivo en una pequeña ventana de tiempo por delante, formando una conexión que codifica tanto el par de frecuencia como la diferencia de sincronización.
Cada uno de estos se convierte en una tupla hash:
(Anchor_frequency, Target_Frequency, Time_delta)
¿Qué es un hash?
Un hash es la salida de una función matemática, llamada función hash, que transforma los datos de entrada en una cadena de números y/o caracteres de longitud fija. Es una forma de convertir datos complejos en un identificador corto y único.
Chava se usa ampliamente en informática y criptografía, especialmente para tareas como la búsqueda de datos, la verificación e indexación.
Para shazam, un típico hash es 32 bits largo, y podría Estar estructurado así:
- 10 bits para la frecuencia de anclaje
- 10 bits para la frecuencia objetivo
- 12 bits por el tiempo delta entre ellos
Esta pequeña huella digital captura la relación entre dos picos de sonido y qué tan separados están a tiempo, y es lo suficientemente fuerte como para identificar la canción y lo suficientemente pequeño como para transmitir rápidamente, incluso en conexiones de bajo ancho de banda.
5. Matriota contra la base de datos
Una vez que Shazam crea una huella digital de su fragmento, necesita encontrar rápidamente una coincidencia en su base de datos que contiene millones de canciones.
Aunque Shazam no tiene idea de de dónde provenía su clip: introducción, verso, coro, puente, no importa, busca el tiempo relativo entre los pares de hash. Esto hace que el sistema sea robusto para las compensaciones de tiempo en el audio de entrada.
Shazam compara los hashes de su grabación con su base de datos e identifica la canción con el mayor número de partidos, la huella digital que mejor se alinea con su muestra, incluso si no es una coincidencia exacta debido al ruido de fondo.
Cómo busca tan rápido
Para hacer este rayo, Shazam usa un mapache, Una estructura de datos que permite una búsqueda casi instantánea.
Un hashmap puede encontrar una coincidencia en el tiempo O (1), eso significa que el tiempo de búsqueda permanece constante, incluso si hay millones de entradas.
En contraste, un índice ordenado (como el árbol B en el disco) toma el tiempo O (log n), que crece lentamente a medida que crece la base de datos.
Este equilibrio de tiempo y complejidad espacial se conoce como Big O notaciónteoría No estoy preparado para molestarse en enseñar. Consulte un científico informático.
6. Escalando el sistema
Para mantener esta velocidad a escala global, Shazam hace más que solo usar estructuras de datos rápidos, optimiza cómo y dónde viven los datos:
- Fragmentos La base de datos: dividirla por rango de tiempo, prefijo hash o geografía
- Mantiene fragmentos calientes en la memoria (RAM) para acceso instantáneo
- Descarga datos más fríos al disco, que es más lento pero más barato de almacenar
- Distribuye el sistema por región (por ejemplo, EE. UU. East, Europa, Asia), por lo que el reconocimiento es rápido sin importar dónde se encuentre
Este diseño es compatible Más de 23,000 reconocimientos por minutoincluso a escala global.
Impacto y aplicaciones futuras
La aplicación obvia es el descubrimiento de música en su teléfono, pero hay otra aplicación importante del proceso de Shazam.
Shazam facilita Insights del mercado. Cada vez que un usuario etiqueta una canción, Shazam recopila metadatos geo-temporales anónimos (donde, cuándo y con qué frecuencia se está identificando una canción).
Las etiquetas, artistas y promotores usan esto para:
- Spot Breakout pistas antes de que lleguen a las listas.
- Identifique las tendencias regionales (un remix que gane tracción en Tokio antes de LA).
- Guiar el gasto de marketing basado en la atracción orgánica.
A diferencia de Spotify, que utiliza el comportamiento de escucha de los usuarios para refinar las recomendaciones, Shazam proporciona datos en tiempo real sobre canciones que las personas identifican activamente, ofreciendo la industria de la música temprana información sobre las tendencias emergentes y las pistas populares.
Lo que Spotify escucha antes de hacerlo
La recomendación de la ciencia de los datos de la músicaMedium.com
En diciembre de 2017, Manzana compró shazam para un reportado $ 400 millones. Según los informes, Apple usa los datos de Shazam para aumentar el motor de recomendación de Apple Music, y los sellos de registro ahora monitorean las tendencias de Shazam como solían monitorear Radio giros.
En el futuro, hay evolución esperada en áreas como:
- Shazam visual: Ya pilotado, apunte su cámara a un objeto o obra de arte para identificarlo, útil para un futuro de realidad aumentada.
- Modo de concierto: Identifique las canciones en vivo durante los conciertos y sincronizado con una lista de canciones en tiempo real.
- Tendencias hiperlocales: Superficie lo que está en tendencia ‘en esta calle’ o ‘en este lugar’, expandiendo el gusto musical compartido de la comunidad.
- Integración generativa de IA: PFragmentos de audio aéreo con generación lírica, sugerencias de remix o acompañamiento visual.
Outro: el algoritmo que perdura
En un mundo de pilas tecnológicas siempre cambiantes, es raro que un algoritmo se mantenga relevante por más de 20 años.
Pero el método de huellas dactilares de Shazam no solo ha soportado, se escala, evoluciona y se convierte en un plan para los sistemas de reconocimiento de audio en todas las industrias.
La magia no es solo que Shazam pueda nombrar una canción. Así es como lo hace, convirtiendo el sonido desordenado en matemáticas elegantes y hacerlo de manera confiable, instantánea y global.
Así que la próxima vez que estés en un bar alto y basura que sostiene tu teléfono hasta el altavoz tocando Lola Young ‘desordenada’ Solo recuerde: detrás de ese grifo hay una hermosa pila de procesamiento de señales, hashing y búsqueda, diseñado tan bien que apenas tuvo que cambiar.