¿Cómo reconoce Shazam las canciones?

Shazam trabaja analizando el sonido capturado y buscando una coincidencia basada en una huella digital acústica en una base de datos de más de 11 millones de canciones.

Shazam identifica canciones basadas en una huella digital de audio basada en un gráfico de frecuencia de tiempo llamado espectrograma.
Shazam almacena un catálogo de huellas digitales de audio en una base de datos. El usuario etiqueta una canción durante 10 segundos y la aplicación crea una huella digital de audio.
Una vez que crea la huella digital del audio, Shazam comienza la búsqueda de coincidencias en la base de datos. Si hay una coincidencia, devuelve la información al usuario; de lo contrario, devuelve un diálogo de “canción desconocida”.

Shazam puede identificar la música pregrabada que se transmite desde cualquier fuente, como una radio, televisión, cine o música en un club, siempre que el nivel de ruido de fondo no sea lo suficientemente alto como para evitar que se tome una huella acústica y que la canción esté presente en la base de datos del software

fuente: Shazam (servicio)

Shazam tiene una biblioteca que contiene más de 8 millones de canciones y para cada canción Shazam crea un espectograma ( un gráfico que traza tres dimensiones de la música: frecuencia, amplitud y tiempo ). Cuando sostienes tu teléfono con una canción, Shazam convierte la canción en una única firma numérica (algún tipo de código único específico para cada canción) y recoge las dimensiones de la canción y crea un gráfico rápido y la combina con una canción que ya está en la base de datos y le da el resultado, y todo esto sucede en cuestión de segundos.

Utiliza la tecnología especial del motor de búsqueda de “huellas digitales”, cuya función principal es grabar un fragmento de 10 segundos de la canción y compararlo con las otras “huellas digitales” que se encuentran en los servidores de Shazam.

Esas “huellas digitales” están trabajando con espectrogramas especiales: gráficos de frecuencia de tiempo que se comparan en el servidor y luego coinciden con la canción real según el análisis de constelación 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 otros usos prácticos como la detección de derechos de autor.

Esta es casi toda la información que conozco sobre el mecanismo de detección de canciones de Shazam.

Si está interesado en obtener más detalles sobre el desarrollo de la aplicación como Shazam, le sugiero que lea este artículo del blog:

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

Espero que te ayude .

Buena suerte,

John

Lo más probable es que, aunque su método exacto sea exclusivo, Shazam convierte el audio de la canción que usted graba en vectores de audio con diferentes dimensiones de acuerdo con las diferentes propiedades de la canción. Uso de manipulación matricial / álgebra lineal con transformada rápida de Fourier.

Esta es una descripción general de la coincidencia de patrones de sonido para Windows Phone de Nokia, pero debe ser similar al algoritmo utilizado por Shazam / SoundHound. Serán ligeramente diferentes, de nuevo, porque son software patentado.

Este artículo tiene la respuesta: https://www.acrcloud.com/blog/ho

No creo que la tecnología subyacente exacta sea algo que Shazam probablemente anuncie en este momento, pero básicamente cada canción se convierte en un montón de “huellas digitales” (la cantidad necesaria probablemente depende de la complejidad de la canción) que son básicamente “resúmenes” por el audio en ellos. Cuando su teléfono recoge una canción, utiliza el mismo proceso para producir estas huellas digitales y enviarla a los servidores de Shazam para ver si se encuentra una coincidencia.

More Interesting

Cómo crear una aplicación iOS de brújula simple con Swift 2.1 usando la vista de imagen y el acelerómetro

¿Cómo puedes crear un sistema de pago móvil?

¿Steve Jobs habría aprobado alguna vez los 'consejos' / recordatorios de iOS 8 sobre cómo usar iOS 8, como con una notificación?

¿Consejos para un desarrollador de iOS independiente que sabe básicamente cero diseño de interfaz de usuario?

¿Qué necesito aprender para codificar una aplicación iOS?

Parece que el desarrollo de iOS / Swift se basa más en kits de herramientas y clases incorporadas que en otros lenguajes de programación. ¿Dirías que es verdad?

¿Qué sabes sobre el desarrollo de aplicaciones iOS?

¿Por qué Apple hace que cada vez sea más complicado crear una aplicación sin usar guiones gráficos con cada lanzamiento de Xcode?

¿Por qué Objective-C ha tenido una versión 2.0 desde hace mucho tiempo, e incluso Apple ha aumentado rápidamente Swift, de Swift 2.0 a Swift 3.0?

¿Qué tipo de trabajo implica diseñar y crear personajes animados en 3D como estos para la plataforma iOS?

¿Por qué iOS funciona tan lento?

¿Cuáles son las buenas compañías de desarrollo de iOS estadounidenses y qué cobran por hora para hacer una aplicación para alguien?

Desarrollo de iOS: ¿Dónde puedo encontrar un desarrollador de aplicaciones iOS con experiencia en Rusia?

¿Cuál debería ser el costo ideal de contratar a un desarrollador de iOS?

Como desarrollador de iOS, ¿cuál es su API favorita de Objective-C Cocoa (no hay bibliotecas de terceros)?