Huella digital acústica

Una huella digital acústica (en inglés: acoustic fingerprint) es un identificador para archivos de audio basados en el contenido del archivo. Con ella se puede 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 el equipo, y por la asignación de una identidad a cada señal de audio, para posteriormente ser tratada.
Basándose en la detección frecuencial, un algoritmo preciso de detección de huellas acústicas debe ser capaz de:
Dado un fragmento de audio y su correspondiente huella dactilar, se debe 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:
Se pueden detectar las huellas acústicas de un archivo de dos formas:
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, se consigue detectar los valores máximos de las frecuencias más representativas, consiguiendo evitar el ruido de fondo. Esto implica:
Para la detección de un archivo de audio, hay dos procesos. En primer lugar se extrae la información más característica de la señal se tratará para que pueda ser modificada. Después se enviará para comprobar si existe alguna información acerca de nuestra muestra.
Para la extracción de huellas digitales, se debe tener en cuenta que el proceso ha de ser capaz de:
Conseguir estos requisitos requiere un equilibrio entre la reducción de la dimensionalidad​ y la pérdida de información.
Dicho bloque está compuesto por los bloques front-end y modelado de huellas digitales. 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 digitales, para tratar estos datos y su respectiva representación, para su posterior acceso a la BD.
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:
En su interior se encuentran varios procesos que, en algunas aplicaciones, pueden contener By-Pass para preconfigurar el proceso.
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.
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 se puedan considerar estacionarias. El tamaño irá en función de la velocidad de variación de la señal.
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),​ pero al tratarse de técnicas computacionalmente complejas, se utilizan técnicas más sencillas como Lourens,​ Kurth,​ etc. La técnica más común es la Transformada rápida de Fourier (FFT), aunque también son utilizadas la transformada discreta de coseno (DCT) o la transformada Haar, entre otras.​
Una vez conseguida la representación tiempo-frecuencia, se deben 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.​
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.​​ También es común aplicar una resolución muy baja en la cuantificación.​ De este modo se gana robusteza a distorsiones. Así se preparan los datos para que sean empaquetados en función de como serán mostrados y/o consultados.
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 (recuérdese que se encuentran 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 se recibe la información referente a la muestra analizada. Actualmente se pueden encontrar diferentes programas.​​
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. Se deben tener en cuenta dos factores que repercuten directamente en este proceso:
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.
Por otro lado, se debe realizar de manera eficiente la búsqueda en la BD. Si después de crear un vector de dimensionalidad reducida, no se consigue 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.​ De esta forma se reduce considerablemente el rango de datos a consultar. Se puede encontrar diferentes técnicas de optimización de consulta de datos, basadas en índices, heurística, código de palabras,​ 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.
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​ se puede consultar toda la información y nomenclatura utilizada en este último proceso.
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).