Google explica cómo logra reconocer las canciones con tan solo tararearlas

Recientemente, Google lanzó una de las funciones más espectaculares hasta el momento: el reconocimiento de canciones a través del tarareo. Basta con preguntarle al Asistente de Google '¿qué canción es esta' y tararearle su melodía para que pueda reconocerla, todo a través de inteligencia artificial, como es costumbre en Google.

Vamos a contarte cómo Google ha logrado esto, ya que han querido explicarlo a fondo en su propio blog. De una melodía tarareada a un resultado de búsqueda exacto con la canción en la que estabas pensando. ¿Cómo es posible conseguirlo?

Aislar la melodía para lograr el resultado

La mayoría de modelos de reconocimiento musical funcionan cogiendo una muestra del sonido, la transforman en un espectograma (como el que ves arriba) y comparan dicho espectograma con los que tienen en la base de datos. El problema con los tarareos es que el espectograma tiene menos información, ya que tan solo contiene la melodía.

Espectograma completo a la derecha.

Un espectograma completo tiene instrumentos, letra, ritmo y todos los elementos clave en una canción. Como puedes ver en la imagen, correspondiente al espectograma de 'Bella Ciao', la diferencia entre el espectograma de estudio y el espectograma del tarareo es bastante clara. Para solucionar los problemas ante tal cantidad de información, Google se centra en la melodía, así no importa el resto de elementos de la canción.

En términos muy resumidos, para no entrar en tecnicismos, Google tiene una base de datos con más de 50 millones de espectograma, con los que puede encontrar las canciones que tarareamos, tan solo con la melodía dominante de la canción. Todo esto se logra incluso con ruido de fondo, ya que el modelo tan solo se centra en dicha melodía.

Un vistazo a…
10 APLICACIONES de GOOGLE que PODRÍAN HABER TRIUNFADO

Entrenando al modelo

Para lograr este propósito Google hizo ciertas modificaciones en el modelo de reconocimiento de Now Playing y Sound Search, los cuales nos acompañan desde hace tiempo. Para este entrenamiento, utilizó un sistema de pares (audo tarareado y audio grabado), generando distintas incrustraciones de cada uno. ¿En otras palabras?

Google expone su red neuronal millones y millones de veces a estos pares, hasta que es capaz de generar incrustraciones de tarareo similares a la grabación de referencia. Con este sistema, Google afirma que es capaz de reconocer 4 de cada 5 canciones y, en nuestras pruebas, la eficacia es bastante alta.

Para obtener canciones tarareadas, Google usó un software de extracción de audio, para aislar la melodía dominante en la canción

Como hemos dicho, Google necesita millones y millones de canciones tarareadas para compararlas con las originales, por lo que tuvo que simular tarareos, con un software llamado SPICE, capaz de extraer los tonos de las canciones. Para que te hagas una idea, este es el audio original y este el audio generado por el software. El output del software se refina mediante una red neuronal, lo que permite que sea aún más limpio.

Esta explicación también debe servirnos para entender que, al menos en este caso, Google no se vale de los datos de los usuarios para crear este sistema. Sin duda los nuevos tarareos servirán para seguir entrenando la red y hacerla más precisa, pero el método original es el que muestran: simular canciones tarareadas para compararlas con las originales.

Ver todos los comentarios en https://www.xatakandroid.com

VER 1 Comentario

Portada de Xataka Android