# Query by Humming

El query by humming (en español "búsqueda por tarareo") es la recuperación de una canción mediante el "zumbido" o "tarareo" del tono o de la melodía de la canción, y la comparación con patrones previamente almacenados en la base de datos. En las nuevas generaciones de bases de datos, las cuales incluyen audio, imágenes, video y texto, es importante tener nuevos métodos (más apropiados y más naturales) de búsqueda, es así como por ejemplo en imágenes se pueden buscar estas por su forma, color, etc.

## Introducción

El sistema depende de la observación del contorno melódico de la canción, el cual es definido como la secuencia de la diferencia relativa de las alturas (pitch) en las notas sucesivas. Según Stephen Andel del MIT, el contorno melódico es una de las características más importantes usadas por las personas para determinar las similitudes entre melodías.
Se usa un alfabeto de tres letras de acuerdo a las posibles relaciones entre alturas (pitches). U, D, S; se usan si la nota esta por encima, por debajo o es la misma de la nota inmediatamente anterior. El sistema está dividido en un Pitch tracking (que hace el rastreo del tono), una base de datos con las melodías almacenadas y un motor de búsqueda.
La melodía "tarareada" es captada por el micrófono, luego se digitalizará, y pasará al módulo de pitch tracking. El resultado es un contorno que representa la melodía de entrada, la cual entra a un motor de búsqueda que arroja una lista ranqueada con las melodías coincidentes. La comparación se hace con melodías MIDI de dominio público, las cuales se procesan para extraer las notas de la melodía. El sistema para extraer el pitch, o notas musicales es implementado en MATLAB, y el motor de búsqueda usa un algoritmo por Approximate Pattern Matching para soportar errores en el humming (tarareo).
Uno de los sistemas implementados por Query by Humming convierte la entrada de usuario en una secuencia de transiciones relativas de la altura. Una nota en la entrada es clasificada de tres formas; S, si es igual a la nota anterior; U, si es más alta que la nota previa, y D si es más baja. Es así como la entrada es convertida en una cadena formada con la combinación de esas tres letras. Como ejemplo una melodía cualquiera podría ser convertida a una cadena – S S D U S S D; el primer tono se ignora ya que no hay nota con que compararlo.
Luego de que la cadena de caracteres es organizada, existe el problema de la afinación ya que no se sabe con certeza que nota (pitch) está contenida en la cadena. Para esto se usa la función de transferencia del tracto vocal.

## Aplicaciones

Algunas aplicaciones de un sistema QbH (Query by Humming) pueden ser:
* Búsqueda y/o recuperación de canciones con artista o título desconocido.
* Encontrar melodías similares entre sí en canciones diferentes.
* Actualización de las bases de datos.
El sistema se puede implementar en tiendas de discos y librerías musicales.

## Productos comerciales

* Queryhammer, basado en MATLAB y usando el estándar MPEG-7.
* Sloud, el cual es un applet ActiveX. Este complemento usa algoritmos de búsqueda difusos lo cual permite un rango de errores e imprecisiones en el canto. El éxito de la búsqueda depende de las habilidades para el canto, y para mejores resultados no se debe cantar con la letra de la canción, simplemente se "tararea" la melodía con sílabas "DA DA DA", la interfaz de usuario comprende una ventana de colores, entre más uniformes sean los colores, mejor están siendo identificados los tonos.
* A Tarter 2003, un applet que usa una base de datos de 10000 midis para cotejar la melodía, la cual es grabada directamente del navegador web. También se puede entrar la melodía por teclado MIDI.

## Grupos de investigación

The Working Group For Electronic Media Technology (AEMT) de la sociedad Fraunhofer en Ilmenau, Alemania; trabaja en diferentes campos del MIR, desde el manejo de metadatos (artista, título, tempo, etc), hasta el desarrollo del software "Query By Humming"; liderados por el Dr. Frank Klefenz.
El trabajo del instituto es resultado de la evolución del MP3, creado por ellos. En otro lado del Instituto Fraunhofer, en el Institute for integrated Circuits IIS, se trabaja en proyecto AudioID, el cual registra todas las características musicales de la canción, incluso diferencia entre versiones de la canción, y está basado en la tecnología MPEG7. Esto es de gran aplicación en tiendas de música, difusión, y protección de derechos de autor.
El College of Information Science and Technology (IST), en la PENN State, Pensilvania, actualmente se trabaja en proyectos de QbH orientados únicamente a MP3, los cuales son más difíciles de tratar. "A New Spectral Based Approach To Query By Humming For MP3 Songs Database" está basado el filtrado de la señal, procesamiento espectral (sub band), análisis por coeficientes MDCT y detección de energía pico para ignorar la música de fondo lo más posible; y finalmente un algoritmo de comparación para arrojar los resultados.
En la Universidad de Cornell, en Nueva York, Asif Ghias, Johnatan Logan, David Chamberlin y Brian Smith investigan y desarrollaron un sistema de QbH basados en algoritmos de pitch tracking, y alimentado la base de datos con melodías MIDI.
Charles Parker, del grupo de investigación de computación de la Universidad de Oregon State, en Corvallis, Oregón; desarrolló un método que usa técnicas de inteligencia artificial para solucionar el problema computacional de los algoritmos de QbH en su trabajo llamado "Applications of Binary Classification and Adaptive Boosting to the Query By Humming Problem".