- Huella digital acústica
-
“Acoustic fingerprints” o huellas digitales acústicas, son identificadores para archivos de audio basados en el contenido del archivo. Con ellas podemos identificar un patrón o “firma” de un archivo de audio, para que este pueda ser reconocido desde una base de datos de audio, sin necesidad de disponer información acerca de este. Su uso se basa en la detección de una muestra de audio y posterior envío a una base de datos(BD), para una vez analizada buscar coincidencias en esta y devolvernos información acerca de la muestra analizada. Actualmente ha evolucionado considerablemente ya que resulta un sistema muy rápido y fiable en recuperación e indexación de datos, así como la reducción del tamaño de los contenidos almacenados al no ser necesario tenerlos en nuestro equipo, y por la asignación de una identidad a cada señal de audio, para posteriormente ser tratada.
Contenido
Requisitos de identificación
Basándonos en la detección frecuencial, un algoritmo preciso de detección de huellas acústicas debe ser capaz de:
- - Detectar con precisión un fragmento de audio, independientemente de la compresión, distorsión y/o interferencias del canal de transmisión.
- - Dependiendo de la aplicación, ser capaz de reconocer el título del archivo con una duración de unos pocos segundos, que irá determinado por el método de tratamiento de la señal y sincronización entre la muestra adquirida y la base de datos.
- - Reconocer la muestra incluso si está degradada/modificada por ecualización, pitch (velocidad de reproducción), efectos, ruidos externos, conversión y/o digitalización y codificación.
- - Sistema eficiente, en función del tamaño de la muestra adquirida, la complejidad del algoritmo de búsqueda y la extracción de las huellas del archivo.
Dado un fragmento de audio y su correspondiente huella dactilar, debemos buscar la vía más rápida para encontrar su mejor coincidencia. Desde el número de iteraciones en la búsqueda hasta la longitud de la muestra, pueden resultar computacionalmente costosos. Para que la búsqueda sea eficiente, el método de búsqueda debe ser:
- - Rápido: Capacidad de lectura en barrido en grandes bases de datos.
- - Validez: Devolución de un resultado correcto y preciso.
- - Eficiencia de la memoria: Necesidad de poco espacio en memoria.
- - Actualizable: debe permitir actualizaciones, modificaciones y/o eliminación de objetos.
Técnicas de detección
Podemos detectar las huellas acústicas de un archivo de dos formas:
- - Temporalmente: Reconocimiento del patrón del archivo en función de la intensidad del señal y el tiempo. Se basa en la forma de onda en función del tiempo.
- - Frecuencialmente: Reconocimiento del patrón del archivo en función de las frecuencias y sus picos de intensidad y el tiempo. Se basa en las características del sistema auditivo humano.
La principal diferencia entre las dos, se basa en la precisión. Un análisis temporal implica una detección de ruido bastante importante. El alto grado de varianza de las señales de audio hace muy complicado un análisis temporal preciso.
Utilizando el análisis frecuencial, conseguimos detectar los valores máximos de las frecuencias más representativas, consiguiendo evitar el ruido de fondo. Esto implica:
- - Mayor precisión y detección del archivo de audio.
- - Menor vulnerabilidad al ruido y elementos externos.
- - Menor valor máximo en detección (valor entrada).
Proceso de identificación de archivos
Para la detección de un archivo de audio, nos encontramos con dos procesos. En primer lugar extraeremos la información más característica de nuestra señal y la trataremos para que pueda ser modificada. Después la enviaremos para comprobar si existe alguna información acerca de nuestra muestra.
Extracción de huellas dactilares
Para la extracción de huellas dactilares, debemos tener en cuenta que el proceso ha de ser capaz de:
- - Capacidad de discriminación sobre un gran número de huellas.
- - Invariancia por distorsiones.
- - Compacto en ejecución.
- - Necesidad computacional baja.
Conseguir estos requisitos requiere un equilibrio entre la reducción de la dimensionalidad[1] y la pérdida de información.
Dicho bloque está compuesto por los bloques front-end y modelado de huellas dactilares. Front-end se encargará de realizar las medidas y cálculos necesarios para extraer la información más importante del archivo, donde una vez calculada, se enviará al modelado de huellas dactilares, para tratar estos datos y su respectiva representación, para su posterior acceso a la BD.
Front-End
Convierte la señal de audio en una secuencia de las características más relevantes de este. Para su correcto desarrollo se debe tener en cuenta que ha de conseguir:
- - Reducción de la dimensionalidad.
- - Parámetros significativos similares a los del sistema auditivo humano.
- - Invariancia por parámetros externos.
- - Correlación temporal.
En su interior encontramos varios procesos que, en algunas aplicaciones, pueden contener By-Pass para preconfigurar el proceso.
Preprocesado
El audio se digitaliza (si es necesario) y se convierte a un formato de audio genérico (normalmente PCM 16 bits). Se analizará en función del número de canales y el tipo de audio. Además se normalizará y filtrará por bandas para adecuar la señal al procesado.
Framing y Overlap
Las señales acústicas se consideran estacionarias cuando su duración es del orden de milisegundos. Se subdivide la señal en muestras de tamaño tal que las podamos considerar estacionarias. El tamaño irá en función de la velocidad de variación de la señal.
Transformada. Estimación de espectro
La idea de las transformadas es conseguir un nuevo conjunto de características para reducir la redundancia de la señal. Hay técnicas óptimas para la transformación, como Karhunen-Lo`eve (KL) o Singular Value Decomposition (SVD),[2] pero al tratarse de técnicas computacionalmente complejas, se utilizan técnicas más sencillas como Lourens,[3] Kurth,[4] etc. La técnica más común es la FFT o transformada rápida de Fourier, aunque también son utilizadas la transformada discreta de coseno (DCT) o la transformada Haar, entre otras.[5]
Extracción de características
Una vez conseguida la representación tiempo-frecuencia, debemos aplicar varios procesos para conseguir el vector característica final. El objetivo es nuevamente reducir la dimensionalidad e incrementar la invariancia por distorsiones. Se aplicarán diversas técnicas (Fig. 3) que aprovechan las limitaciones del sistema auditivo humano para conseguirlo, así como mediciones de energía, volumen, detectores de envolvente, etc.[6]
Post-procesado
La mayoría de las características descritas hasta ahora son medidas absolutas. Para mejorar la caracterización de la señal, se añaden derivadas de orden mayor. El vector de características se creará con dicho parámetro, que variará en función del algoritmo utilizado.[6] [7] También es común aplicar una resolución muy baja en la cuantificación.[8] De este modo se gana robusteza a distorsiones. Así preparamos los datos para que sean empaquetados en función de como serán mostrados y/o consultados.
Modelado de huellas dactilares
Dicho bloque recibe los vectores características creados en el proceso anterior. Este se encargará de procesar los vectores y transformarlos en un único vector característica (recordemos que encontramos diferentes vectores, para cada banda frecuencial, energías, filtros, etc.), para posteriormente ser enviado. Nuevamente es de vital importancia la dimensionalidad de los algoritmos, para evitar enviar grandes cantidades de información a la BD. La adaptación de los vectores variará en función de cada programa, los cuales gestionarán el tamaño de la muestra adquirida y los vectores que utilizarán, entre otros parámetros. Estos programas han sido diseñados para trabajar con Metadatos; mediante ellos recibiremos la información referente a la muestra analizada. Actualmente podemos encontrar diferentes programas.[9] [10]
Coincidencia
Una vez creada la huella digital acústica, el siguiente paso es buscar coincidencias para devolvernos información acerca de nuestra muestra. Se enviará nuestro “patrón” y toda la posible información adicional creada (metadatos, cabeceras, etc.) a una base de datos, para buscar cualquier coincidencia. Debemos tener en cuenta dos factores que repercuten directamente en este proceso:
Distancia
A la hora de relacionar las características de la muestra, es de vital importancia la distancia tomada entre características cercanas. Técnicas como la distancia Euclidiana, la longitud Manhattan o Hamming, son utilizadas para calcular estas distancias. Para una correcta búsqueda, tanto el vector característica creado como el vector característica de la BD deben utilizar las mismas técnicas, para que sus huellas coincidan sin error de distancia.
Búsqueda
Por otro lado, debemos realizar de manera eficiente la búsqueda en la BD. Si después de crear un vector de dimensionalidad reducida, no conseguimos un algoritmo de búsqueda eficiente, nuestro esfuerzo habrá sido en vano. La técnica más común se basa en la creación de índices, para estructurar la información.[11] De esta forma reducimos considerablemente el rango de datos a consultar. Podemos encontrar diferentes técnicas de optimización de consulta de datos, basadas en índices, heurística, código de palabras,[4] etc. Una vez encontrado (o no) la consulta, el sistema nos devolverá toda la información contenida en su BD acerca de nuestra muestra, incluyendo título, artista, año, álbum, etc.
Verificación hipótesis
Por último, durante la consulta en la BD, se crean resultados acerca del vector creado. Dichos resultados son utilizados para actualizar la BD. Con ellos se consigue actualizar resultados anteriores, añadir nuevos resultados y mejorar la precisión de las muestras almacenadas. En[1] podemos consultar toda la información y nomenclatura utilizada en este último proceso.
Aplicaciones
La mayoría de aplicaciones se encuentran en dispositivos móviles y equipos de sobremesa. Pese a esto se está empezando a aplicar en medicina e indexación de datos, por su alta velocidad de acceso a la información (consultas ADN, p.e).
Enlaces externos
- http://www.shazam.com/
- http://www.musicid2.com/
- http://www.wildbits.com/tunatic/
- http://www.springerlink.com/content/j2548107knlw130l/
- http://www.assta.org/sst/SST-96/cache/SST-96-Chapter10-p27.pdf
Referencias
- ↑ a b R. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval. Addison Wesley, 1999.
- ↑ S. Theodoris and K. Koutroumbas, Pattern Recognition. Academic Press, 1999.
- ↑ J. Lourens, “Detection and logging advertisements using its sound,” in Proc. of the COMSIG, Johannesburg, 1990.
- ↑ a b F. Kurth, A. Ribbrock, and M. Clausen, “Identification of highly distorted audio material for querying large scale databases,” in Proc. AES 112th Int. Conv., Munich, Germany, May 2002.
- ↑ S. Subramanya, R.Simha, B. Narahari, and A. Youssef, “Transformbased indexing of audio data for multimedia databases,” in Proc. of Int. Conf. on Computational Intelligence and Multimedia Applications, New Delhi, India, Sept. 1999.
- ↑ a b P. Cano, E. Batlle, H. Mayer, and H. Neuschmied, “Robust sound modeling for song detection in broadcast audio,” in Proc. AES 112th Int. Conv., Munich, Germany, May 2002.
- ↑ E. Allamanche, J. Herre, O. Helmuth, B. Fr¨oba, T. Kasten, and M. Cremer, “Content-based identification of audio material using mpeg-7 low level description,” in Proc. of the Int. Symp. of Music Information Retrieval, Indiana, USA, Oct. 2002.
- ↑ G. Richly, L. Varga, F. Kov´acs, and G. Hossz´u, “Short-term sound stream characterisation for reliable, real-time occurrence monitoring of given sound-prints,” in Proc. 10th Mediterranean Electrotechnical Conference, MEleCon, 2000.
- ↑ (2002) Etantrum. [Online]. Available: http://www.freshmeat.net/projects/songprint
- ↑ (2002) Musicbrainz trm. musicbrainz-1.1.0.tar.gz. [Online]. Available: ftp://ftp.musicbrainz.org/pub/musicbrainz/
- ↑ E. Chavez, G. Navarro, R. A. Baeza-Yates, and J. L. Marroquin, “Searching in metric spaces,” ACM Computing Surveys, vol. 33, no. 3, pp. 273–321, 2001.
Wikimedia foundation. 2010.