Buscadores_canciones_05

Buscadores_canciones_05

Tecnología

Así funcionan Shazam, SoundHound y otros buscadores de canciones

31 marzo, 2013 20:57

Noticias relacionadas

Estás una noche en tu garito habitual tomando unas copas con los de siempre, y de repente suena una canción que te distrae levemente de la conversación, no sabes qué canción es, pero suena tan bien que darías la mitad de tu copa por conocer el título y el artista. Entonces sacas tu smartphone, y con dos toques en la pantalla tienes toda la información que necesitas de esa canción, media copa que no has tenido que sacrificar, y una nueva conversación sobre el temazo que acaba de sonar.

Hay varios buscadores de canciones disponibles para cualquier smartphone en la actualidad: SoundHound, Shazam o el propio Google Music son algunos ejemplos. ¿Te has preguntado alguna vez cómo funciona esta tecnología? Pues todos utilizan un procedimiento muy parecido y es relativamente sencillo, así que vamos a tratar de comprender cómo funciona, pero antes, debemos conocer lo que es un espectrograma.

El espectrograma

Un espectrograma es una representación visual del espectro de frecuencias que comprende un sonido. Es un registro que indica qué frecuencia es emitida en cada instante durante la producción de un sonido, de manera que a cada momento en el tiempo le corresponde una única frecuencia. En ocasiones también puede introducirse una tercera variable como la amplitud del sonido, aunque no es nuestro caso. Los espectrogramas son excelentes herramientas que se utilizan para resolver muchos problemas, se usan espectrogramas para reconocer la llamada de determinados animales (en la naturaleza, no en los garitos), son la base de tecnologías como el sonar, y sirven incluso para resolver problemas de sismología.

Buscadores_canciones_05

Buscadores_canciones_05

¿Cómo funciona?

Familiarizados con el concepto de espectrograma, es fácil comprender el funcionamiento de este tipo de software. Estos son los pasos básicos:

1. La compañía desarrolladora del software realiza los espectrogramas de un gran catálogo de música, canción a canción, etiquetando estos con los respectivos datos de cada pista (título, artista, álbum, etc) generando una gran base de datos.
2. El usuario activa el reconocimiento de canción desde su smartphone, grabando un determinado fragmento de la canción.
3. El software de reconocimiento utiliza este fragmento para generar un espectrograma que representa la canción que queremos identificar, y lo envía a los servidores para compararlo con los espectrogramas registrados anteriormente en la base de datos.
4. Si nuestro espectrograma, tras ser examinado, coincide con alguno de los registrados en la base de datos, el software devuelve los datos asociados al mismo, de lo contrario, nos mostrará un error.

¿Cómo se comparan los espectrogramas?

En los servidores de la compañía desarrolladora, nuestro espectrograma es analizado intensivamente para encontrar ciertos puntos de referencia, los cuales sirven para facilitar la comparación con los espectrogramas almacenados en la base de datos. El objetivo es encontrar un espectrograma en la base de datos que contenga un patrón idéntico al que estamos estudiando, con los mismos valores de frecuencia en las proporciones de tiempo determinadas. Una vez encontrado ese patrón, ya está localizada la canción y tan solo hay que devolver todos los datos disponibles al cliente: título, artista, álbum, biografía del artista, próximos conciertos, etc.

Buscadores_canciones_06

Buscadores_canciones_06

Así que cada vez que vuelvas a intentar identificar una canción con tu smartphone, recuerda que en realidad estás comparando espectrogramas de diferentes sonidos, de esta manera tendrás no una, sino dos conversaciones interesantes que tratar con tus colegas, lo cual probablemente se merezca otra ronda más…