Gracias al procesamiento de sonidos y el análisis de audio actualmente podemos contar con aplicaciones en nuestros dispositivos móviles que nos indican el título de una canción, el nombre del artista y hasta la letra de la canción. Algunas de las aplicaciones que pueden hacer tales funciones son SoundHound y Shazam.
Viendo las grandes posibilidades que tenemos actualmente los informáticos, me he dado a la tarea de investigar un poco en cómo trabajan dichas aplicaciones para poder replicar dicha funcionalidad pero ahora aplicándola a otras cosas que no sea la música que tenemos en la computadora. Primeramente veamos a qué le llamamos huella digital ( fingerprint ) y no hay que confundir a dicho término con la imagen visible que deja un dedo sobre una superficie ( huella dactilar ) ya que la huella digital es un mecanismo que permite identificar a un individuo.
De lo anterior podríamos decir que una huella digital acústica es es un pequeño resumen de un archivo de audio, por lo tanto una función f de la huella digital debe coincidir con un archivo de audio x, esto consiste en ir de un gran número de bits a una huella digital de sólo un número limitado de bits.
Actualmente en la UNSIJ estamos trabando en implementar algún algoritmo para crear hullas digitales acústicas de audio para poder almacenarlas en una base de datos, para después poder buscar coincidencias de audios similares.
Existen diversos métodos o técnicas para la identificación de contenido basada en una única y compacta firma ( hash ) derivada de los aspectos relevantes de una grabación de audio. Una función hash es una función que mapea un dato ( posiblemente grande y de tamaño arbitrario ) de un conjunto U a un dato pequeño, usualmente un número entero comprendido entre 0 y M − 1, el cual puede utilizarse como índice en un arreglo, por ejemplo. Al dato a mapear suele llamársele clave, mensaje o cualquier otro nombre dependiendo de la aplicación, mientras que al dato mapeado se le puede llamar valor hash, código hash, o simplemente hash.
Puesto que las funciones hash pueden mapear elementos de un conjunto más grande a uno más pequeño, es posible que dos o más claves sean mapeadas al mismo valor hash. En este caso se habla de una colisión. Una función hash optima sería aquella que no genere colisiones o que la probabilidad de éstas sea muy baja.
Más adelante intentaremos poner más información al respecto, pero por lo pronto podría servir que se visiten las siguientes ligas:
hash : U −→ {0, 1, 2, 3, ..., M − 1}
Puesto que las funciones hash pueden mapear elementos de un conjunto más grande a uno más pequeño, es posible que dos o más claves sean mapeadas al mismo valor hash. En este caso se habla de una colisión. Una función hash optima sería aquella que no genere colisiones o que la probabilidad de éstas sea muy baja.
Más adelante intentaremos poner más información al respecto, pero por lo pronto podría servir que se visiten las siguientes ligas:
Por último, me gustaría agradecer a todos los que han visitado Cosmos y Caos haciendo posible las casi 30,000 visitas desde que inició el 16 de Marzo de 2011 ya que eso motiva a que siga publicando la información que podría ser de utilidad para todos ustedes.
Si quieres obtener más información sobre el trabajo de huellas digitales acústicas que estamos haciendo pues no dudes en leer el documento completo.
No hay comentarios:
Publicar un comentario