
Cómo funciona Shazam para identificar canciones
Shazam es una aplicación muy popular que puede identificar canciones en cuestión de segundos, incluso en entornos con mucho ruido de fondo. Pero, ¿cómo lo hace? La respuesta está en la tecnología y los algoritmos que utiliza.
La aplicación no escucha las canciones como nosotros. En su lugar, utiliza una operación matemática llamada Transformada de Fourier para descomponer la onda sonora en frecuencias. De esta manera, puede identificar las frecuencias clave que componen una canción, sin importar el ruido de fondo.
El secreto detrás de Shazam
Shazam no analiza la onda sonora completa. En su lugar, aplica una Transformada de Fourier para convertir la canción del dominio del tiempo al dominio de la frecuencia. Esto le permite interpretar un gráfico de las frecuencias que componen el sonido, en lugar de ver una línea que sube y baja con el volumen.
Es como si la aplicación reconociese una tarta por los ingredientes que lleva, en lugar de por su aspecto externo. De esta manera, puede identificar las frecuencias clave que componen una canción, sin importar el ruido de fondo.
Cómo se genera una huella digital
Una vez que la aplicación tiene el mapa de frecuencias, realiza un filtrado para seleccionar exclusivamente los picos de frecuencia más relevantes. Estos picos son los puntos de mayor energía en momentos específicos de la canción, lo que permite generar una huella digital de la música en cuestión.
Esta huella es única para cada grabación y es lo que permite a Shazam comparar el patrón con su base de datos de millones de canciones en cuestión de milisegundos.
La importancia de la Transformada de Fourier
La Transformada de Fourier es una herramienta fundamental en la ingeniería de telecomunicaciones. Permite descomponer una señal compleja en frecuencias, lo que es esencial para identificar patrones en señales de audio.
En el caso de Shazam, la Transformada de Fourier es lo que permite a la aplicación identificar canciones en segundos, sin importar el ruido de fondo. Es un ejemplo de cómo la tecnología puede ser utilizada para resolver problemas complejos de manera eficiente.
