Sei sulla pagina 1di 85

Desarrollo de una Aplicacin Mvil para la Recuperacin de Informacin

Musical por Similitud de Audio en Productos Musicales de los Laboratorios


Sociales de Cultura y Emprendimiento (LASO)

RODRIGO ARANGO AYALA


rarango@academia.usbbog.edu.co

FREDDY ANDRS LOZANO OLIER


flozano@academia.usbbog.edu.co

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERAS
INGENIERA DE SONIDO
BOGOT D.C.
2016

Desarrollo de una Aplicacin Mvil para la Recuperacin de Informacin


Musical por Similitud de Audio en Productos Musicales de los Laboratorios
Sociales de Cultura y Emprendimiento (LASO)

RODRIGO ARANGO AYALA

FREDDY ANDRS LOZANO OLIER

Proyecto de Grado para optar al ttulo de Ingeniero de Sonido


Tutor
Luis Alejandro Carrillo Flrez
Ingeniero de Sonido

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERAS
INGENIERA DE SONIDO
BOGOT D.C.
2016

Nota de Aceptacin
________________________________
________________________________
________________________________
________________________________
________________________________

________________________________
Firma del Presidente del Jurado

________________________________
Firma del Jurado

________________________________
Firma del Jurado

Bogot D.C., xx de xxxx de 2016

AGRADECIMIENTOS
A nuestros padres y hermanos por ser nuestros guas y ejemplos de vida, aquellos
que pese a las dificultades ofrecieron su amor y apoyo incondicional en todas
nuestras decisiones.
Al doctor Marcelo Herrera por habernos retroalimentado de una manera
constructiva en la presentacin del anteproyecto, de no haber sido por su opinin y
crtica no hubiramos incursionado en el rea de Music Information Retrieval.
A Julin Beltrn de LASO por proveernos de informacin y sugerencias acerca de
la viabilidad del proyecto a emprender.
A nuestros amigos, compaeros, colegas y todas las personas que compartieron
su valioso tiempo con nosotros y que da a da nos brindaron sus mejores
energas para la consecucin de nuestras metas.

CONTENIDO
INTRODUCCIN..............10
1. PLANTEAMIENTO DEL PROBLEMA.................11
1.1. ANTECEDENTES....11
1.2. DESCRIPCIN Y FORMULACIN DEL PROBLEMA..........13
1.2.1. PREGUNTA PROBLEMA.14
1.3. JUSTIFICACIN...14
1.4. OBJETIVOS.......................................................................16
1.4.1. OBJETIVO GENERAL......................................................................16
1.4.2. OBJETIVOS ESPECFICOS.............................................................16
1.5. HIPTESIS.....................16
1.6. ALCANCES Y LIMITACIONES...................................................................17
1.6.1. ALCANCES.......................................................................................17
1.6.2. LIMITACIONES.................................................................................17
2. MARCO DE REFERENCIA18
2.1. MARCO
TERICO......................................................................................18
2.1.1. PROCESAMIENTO DIGITAL DE SEALES....18
2.1.1.1. CONVERSIN ANLOGA-DIGITAL..18
2.1.1.2. PROCESADORES DE SEALES DIGITALES19
2.1.1.3. FILTRACIN..20
2.1.1.3.1.
FILTROS DIGITALES...21
2.1.1.4. MODULACIN...22
2.1.1.5. CONVOLUCIN....22
2.1.1.6. CORRELACIN....23
2.1.1.7. TRANSFORMADA DE FOURIER...23
2.1.1.7.1.
TRANSFORMADA DE FOURIER SHORT-TIME..
24
2.1.1.8. ESPECTROGRAMA.26
2.1.1.9. VENTAJAS Y DESVENTAJAS DEL PROCESAMIENTO
DIGITAL....................27
2.1.2. RECUPERACIN DE INFORMACIN MUSICAL...28
2.1.2.1. HUELLA DIGITAL ACSTICA.28
2.1.2.2. FUNCIONES
HASH...28
2.1.2.3. TABLAS HASH...29
2.1.3. SISTEMA OPERATIVO ANDROID.30
2.1.3.1. ARQUITECTURA DE ANDROID.31
2.1.3.2. LIBRERAS.31

2.1.3.3. APLICACIONES.31
2.1.3.4. DISPOSITIVOS MVILES
32
2.1.3.5. GOOGLE PLAY..32
2.2. MARCO LEGAL.................................................................32
2.2.1. LEY
1341
DE
2009.32
2.2.2. PNMC DE 2003..33
3. METODOLOGA..33
3.1. ENFOQUE DEL PROYECTO.33
3.2. LNEA
DE
INVESTIGACIN
DE
LA
USB.....33
3.2.1. SUBLNEAS DE INVESTIGACIN.....
33
3.3. CONSIDERACIONES INICIALES DE DISEO...
34
3.4. TCNICAS
DE
RECOLECCIN
DE
DATOS...35
4. DESARROLLO INGENIERIL.35
4.1. MUSIC INFORMATION RETRIEVAL23
4.1.1. EXTRACCIN DE HUELLA ACSTICA86
4.1.1.1. FRONT-END..56
4.1.1.1.1.
PREPROCESAMIENTO...67
4.1.1.1.2.
VENTANEO Y SOLAPAMIENTO78
4.1.1.1.3.
TRANSFORMADA DE FOURIER
45
4.1.1.1.4.
EXTRACCIN
DE
PICOS
DE
ALTO
NIVEL..47
4.1.1.2. MODELADO DE HUELLAS DIGITALES34
4.1.2. BASE
DE
DATOS
Y
MOTOR
DE
BSQUEDA..34
4.1.2.1. BIBLIOTECA MUSICAL34
4.1.2.2. RESULTADO..36
4.2. DESARROLLO
DE
APLICACIN
MVIL.56
4.3. DISEO DEL SISTEMA DE MEDICIN
56
4.4. IMPLEMENTACIN EN GOOGLE PLAY.34

5. PRESENTACIN Y ANLISIS DE RESULTADOS23


6. CONCLUSIONES87
7. RECOMENDACIONES.100
8. BIBLIOGRAFA..110
9. ANEXOS.110
10. GLOSARIO.110
LISTA DE IMGENES
Figura 1. Modelado de procesamiento de seales A/D y D/A .
Figura 2.
Figura 3.
Figura 4.
Figura 5.
Figura 6.
Figura 7.
Figura 8.
Figura 9.
Figura 10.
Figura 11.
Figura 12.
Figura 13.
Figura 14.
Figura 15.
Figura 16.
Figura 17.
Figura 18.
Figura 19.
Figura 20.
Figura 21.
Figura 22.
Figura 23.
Figura 24.
Figura 25.
Figura 26.
Figura 27.
Figura 28.
Figura 29.

Figura 30.
Figura 31.
Figura 32.
Figura 33.
Figura 34.
Figura 35.
Figura 36.
Figura 37.
LISTA DE TABLAS
TABLA 1.
TABLA 2.

LISTA DE GRFICAS
GRFICA 1.
GRFICA 2.
GRFICA 3.
GRFICA 4.

INTRODUCCIN
El hecho de poder capturar en un instante un fragmento de una cancin que te ha
causado curiosidad, a travs de un software que graba los patrones sonoros que
se estn reproduciendo, realiza las correcciones correspondientes y, de inmediato
te ofrece la respuesta con toda la informacin contenida alrededor de la cancin 1,
proporciona una herramienta efectiva para la circulacin y preservacin de
contenidos que giran en torno al desarrollo de las prcticas musicales en el
mundo.
La recuperacin de informacin musical o Music Information Retrieval (MIR), es un
rea de investigacin interdisciplinaria que abarca la informtica y la recuperacin
de informacin, la musicologa y teora de la msica, ingeniera de audio y
procesamiento de seal digital, la ciencia cognitiva, la bibliotecologa, entre otras.
Principalmente se encarga del problema de consultar y clasificar colecciones
musicales en base a contenidos de audio y/o documentos almacenados en una
base de datos.
El objetivo de esta investigacin es desarrollar un proyecto aplicado que resuelva
un problema de alto impacto en los Laboratorios Sociales de Cultura y
Emprendimiento (LASO2), donde se pretende programar una aplicacin para
1 Downie, J. Stephen. Music information retrieval (Chapter 7). In Annual Review of Information
Science and Technology 37, ed. Blaise Cronin, 295-340. Medford, NJ: Information Today, 2003.

2 Laboratorios Sociales de Cultura y Emprendimiento (LASO) es un proyecto de organizacin


estratgica y comunicacional para jvenes implementado a partir del ao 2009 por el Ministerio de
Cultura de Colombia, implementado del Plan Nacional de Msica para la Convivencia, basado en el
concepto de emprendimiento cultural en red para impulsar la formacin tcnica en produccin de
contenidos artsticos y digitales ejecutado a travs de sus 6 componentes de desarrollo para
poblaciones y organizaciones de actividad informal: Formacin de jvenes y formadores,

10

dispositivos mviles Android que denominaremos Lasopedia app para que sirva
como extensin para los medios de comunicacin digital del Ministerio de Cultura.
El principal funcionamiento de esta herramienta se basa en implementar un
sistema de recuperacin de informacin musical que permita ofrecer informacin
documentada de artistas, productores y emprendedores vinculados a la red LASO,
a partir de la interaccin en una plataforma mvil de contenidos musicales de
acceso libre.
1. PLANTEAMIENTO DEL PROBLEMA
1.1. ANTECEDENTES
El estudio de sistemas que permiten el desarrollo de formas de gestin para la
conservacin, el acceso, la investigacin y coleccin de material musical, se
remonta a la dcada de los aos 60, cuando Kassler (1966) fue la primera
persona en mencionar y realizar publicaciones utilizando la terminologa de Music
Information Retrieval. A raz de este esfuerzo, en las siguientes dcadas
incrementaron las investigaciones345 sobre el desarrollo de tecnologas que
permiten identificar y comprimir grandes colecciones de material en formato digital
(bibliotecas digitales), mediante el anlisis de algunas caractersticas de las
seales de audio, tales como: meloda6, ritmo7, timbre, estructura, entre otros.
circulacin de artistas y productores, sostenibilidad, organizacin y vnculos, infraestructura,
comunicacin y visibilidad.

3 Moorer, J. On the Segmentation and Analysis of Continuous Musical Sound by Digital


Computer, Stanford University, CA, USA, July 1975.

4 Dowland, S. Computer Tools for Music Information Retrieval, Oxford, New College, UK, 1988.

5 Maher, R. An Approach for the Separation of Voices in Composite Musical Signals, University of
Illinois, IL, USA, 1989.

11

Dcadas ms tarde, para el ao 1999 se organizaron los primeros eventos


independientes sobre la temtica pero no obtuvieron el alcance deseado en varias
ocasiones consecutivas durante el mismo ao. Bast con pasar un ao para que
la National Science Foundation8 decidiera destinar recursos para organizar un
mdulo de trabajo formal sobre MIR, como mecanismo de incubamiento al
proyecto piloto ejecutado anteriormente. Finalmente en Octubre de 2000, nace el
primer Simposio Internacional sobre Recuperacin de Informacin Musical (ISMIR)
en Massachusetts. A partir de all, esta organizacin proporciona toda la
informacin relativa a los avances e innovacin en los mtodos, algoritmos e
investigaciones realizados en este campo. Los resultados son presentados y
publicados en las convenciones MIREX (Music Information Retrieval Evaluation
eXchange) organizadas por ISMIR.
A consecuencia de esto, la industria musical ha encontrado en algunos productos 9
que implementan servicios de recuperacin de informacin musical, un
mecanismo sencillo y eficaz de acceso a contenidos musicales, brindando una
mayor intimidad entre los artistas y usuarios, lo cual ha permitido a nuevos canales
6 GMEZ, L. SOSSA, Humberto, BARRN, Ricardo. CUEVAS, Francisco. JIMENEZ, Julio.
Comparacin de Representaciones Intervlicas Hansonianas para Recuperacin de Informacin
Musical, Revista Iberoamericana de Inteligencia Artificial, No.34 (2007), pp. 7-15.

7 E. Tsunoo, G. Tzanetakis, N. Ono and S. Sagayama. Audio Genre Classification Using


Percussive Pattern Clustering Combinated With Timbral Features. Graduate School of Information
Science and Technology, The University of Tokyo, Japan.

8 La NSF es la agencia gubernamental de los Estados Unidos, que impulsa investigacin y


educacin fundamental en todos los campos no mdicos de la Ciencia y la Ingeniera.

9 Los sistemas de recuperacin de informacin musical ya se estn utilizando en diversas


plataformas como Shazam, GraceNote, Google Music, Last.fm, Pandora, Spotify, Echonest,
entre otras, las cuales requieren de amplias bases de datos para sus procesos de identificacin y
clasificacin de documentos.

12

de distribucin, promocin y reproduccin, posicionarse en un mercado que cada


da trasciende su accionar, en base a procesos de innovacin en el manejo de las
tecnologas de la informacin y las comunicaciones.
Un ejemplo de aplicaciones comerciales, fue el desarrollado por Wang (2006) para
la empresa Shazam Entertainment, donde implement y despleg comercialmente
un motor de bsqueda de audio flexible que utiliza un algoritmo resistente al ruido
y la distorsin, computacionalmente eficiente, capaz de identificar rpidamente un
corto segmento de msica capturada, a travs de un micrfono de celular y brindar
informacin de una biblioteca digital de ms de un milln de canciones. Hoy en da
Shazam es uno de los motores de bsqueda de msica ms utilizado en el
mundo.
Como adicin a lo anterior, cabe mencionar que en el informe sobre la indstria
digital que realiza la IFPI (2014), se resalta la creciente importancia de los
mercados emergentes como motores de la recuperacin de la industria y enfatiza
la relevancia de un mercado en desarrollo y ampliacin a travs de la internet, est
permitiendo que los canales digitales de comercializacin de servicios musicales
experimenten una participacin del 39% de ingresos sobre el ingreso total del
consumo de la msica en el mundo (cifra que asciende a los USD 5,900 millones).
En la actualidad, a nivel nacional no existen empresas que desarrollen productos
relacionados con MIR, por lo tanto, el desarrollo de este proyecto presenta un
fuerte componente de innovacin en la investigacin de esta rea del
procesamiento digital de seales para la Universidad de San Buenaventura.
1.2. DESCRIPCIN Y FORMULACIN DEL PROBLEMA
En el poco tiempo de accin que lleva el programa LASO (2009) se han logrado
consolidar algunos procesos muy importantes para la formacin y ejecucin de
proyectos musicales, entre los cuales cabe destacar: 18 laboratorios LASO en el
pas, programa educativo en auxiliar de produccin de audio, 320 grupos
musicales vinculados, 480 grupos artsticos y creativos, 1 manual de produccin
de audio, entre otros.
En la actualidad, el programa LASO ha obtenido grandes resultados en sus
procesos de accin y esto se debe, en gran medida, a que ha habido un esfuerzo
por parte de lo ltimos gobiernos de promover la construccin y fortalecimiento de

13

la paz en Colombia, a travs del aumento de asignacin de recursos para las


instituciones encargadas de implementar los modelos desarrollo social en el pas.
Otro punto importante a resaltar, es que se realiz una bsqueda en diferentes
plataformas de descarga de aplicaciones mviles, y se encontr que en Colombia
solo hay una aplicacin de contenidos culturales llamada Turismo Colombia. Es
necesario contribuir al desarrollo de este tipo de tecnologas, ya que permiten
conformar una interaccin personalizada con los usuarios objetivos e incentiva al
fcil acceso a los contenidos que se desean ofrecer.
Se identific en la pgina web del Grupo de Emprendimiento Cultural del Ministerio
de Cultura una herramienta denominada LASOPEDIA que consiste en crear el
directorio de usuarios, contenidos y laboratorios de emprendimiento con los que
cuenta el proyecto para incentivar, motivar y apoyar procesos creativos y
organizativos en red para el emprendimiento cultural, y la produccin de
contenidos culturales mediante el uso de nuevas tecnologas en los distintos
municipios del pas.
A pesar de esto, Lasopedia an no ha logrado su completo desarrollo e
implementacin, puesto que hasta el momento solo existe un espacio de
visualizacin de contenidos10 y como consecuencia de esto, una de las grandes
problemticas que se encuentran es que muchos de los productos musicales que
se desarrollan en el programa no han logrado trascender en el mercado para la
autosostenibilidad de los artistas vinculados. Esto fenmeno se debe a que
algunos de los contenidos que se desarrollan en el programa carecen de
estrategias y herramientas digitales que permitan una ptima visibilizacin de los
procesos, brindando toda la informacin referente a los emprendedores y artistas,
asimismo a los servicios y productos que se ejecutan en LASO.
1.2.1. PREGUNTA PROBLEMA
Cmo desarrollar una herramienta de visualizacin artstica involucrando un
sistema de recuperacin de informacin musical en una plataforma de dispositivo
mvil para productos artsticos de la red LASO?
1.3. JUSTIFICACIN
10 Mas informacin se encuentra disponible en:
http://emprendimientocultural.org/lasopedia/Paginas/default.aspx

14

Para nosotros es muy importante que la gente est informada sobre lo que pasa
con la msica que es de ac, porque es muy importante proteger, cuidar y proveer
esta msica de unas condiciones propicias para continuar 11.
El desarrollo de este proyecto aplicado sirve a un propsito social, principalmente
al afectar a una organizacin gubernamental que fomenta el desarrollo social de
una poblacin a travs de la produccin de contenidos artsticos y culturales,
interviniendo en sus procesos de circulacin y comunicacin.
Las aplicaciones mviles utilizadas en celulares inteligentes, tablets y diferentes
dispositivos; adems de ofrecer un acceso directo y sencillo para la navegabilidad
en plataformas de contenidos digitales, se han convertido en herramientas
esenciales para el entretenimiento y la productividad, adems de utilizarse como
canales de distribucin y visibilizacin de productos comerciales.
La finalidad del proyecto es construir una herramienta para fortalecer los procesos
de visibilizacin y distribucin de productos y servicios artsticos llevados a cabo
en esta organizacin, a travs de una plataforma mvil de libre acceso y fcil
navegabilidad, que le permita al usuario interactuar con la plataforma y red de
contactos, ofreciendo la oportunidad de fomentar la generacin de una cultura de
apoyo y formacin de audiencias en torno a los productos desarrollados en LASO.
Los ingenieros de sonido somos personas directamente involucradas con la
msica, y por ello pensamos que esta herramienta podra generar un nicho para la
identificacin y formalizacin de la industria musical en Colombia, debido a que
este tipo de aplicaciones tecnolgicas brindan la facilidad a los usuarios para
encontrar a sus artistas y msica favorita, asimismo como les permite a los
agentes de la cadena de valor de la msica que identifiquen un sector de mercado
objetivo, que les contribuya a desarrollar y subsistir de los contenidos artsticos.
Como evidencia de lo anterior, el Ministerio de Cultura en un comunicado de
prensa afirma: Este programa pretende construir redes de msicos locales y
establecer puentes a travs de una plataforma WEB, que permita el intercambio
de experiencias. Tambin manifest que de acuerdo a las demandas del sector
11 Entrevista a Luca Ibaez, Co-fundadora Corporacin Sonidos Enraizados, 20 de Marzo de
2014: http://i.letrada.co/post/corrientealterna/138/musica-y-resistencia-en-colombia

15

musical, ha puesto a disposicin de los creadores y autogestores espacios donde


se puedan apropiar y experimentar las nuevas tecnologas de la msica 12.
En este sentido, estamos llamados a actuar como agentes en busca de la creacin
y transformacin de todo aquello que lleve a desarrollar productos de vanguardia e
innovacin, por ello le apostamos al fortalecimiento de programas como LASO que
permitan generar desarrollo al sector musical en Colombia.

1.4. OBJETIVOS
1.4.1. OBJETIVO GENERAL

Desarrollar y evaluar una aplicacin mvil con un sistema de Recuperacin


de Informacin Musical (MIR) como herramienta para la visibilizacin de
productos musicales llevados a cabo en los Laboratorios Sociales de
Emprendimiento (LASO).

1.4.2. OBJETIVOS ESPECFICOS

Crear una base datos compuesta por los espectrogramas de las canciones
a utilizar en la aplicacin.

Disear y desarrollar una aplicacin mvil para la plataforma Android donde


se implemente el sistema MIR por similitud de audio.

12 Comunicado de prensa del Ministerio de Cultura sobre la industria musical:


http://www.mineducacion.gov.co/cvn/1665/w3-article-202761.html

16

Validar la eficiencia de la aplicacin mvil a travs de la medicin del acierto


para clasificar y recuperar contenido de audio musical por correlacin.

Implementar la aplicacin en la plataforma Google Play para descarga


gratuita.

Evaluar el impacto de la aplicacin mvil en la red LASO a travs de la


realizacin de una encuesta estadstica de preguntas cerradas a una
muestra de usuarios.

1.5. HIPTESIS
La aplicacin lograr un 70% de efectividad en el reconocimiento e identificacin
musical bajo los parmetros analizados por similitud y as afectar positivamente
el proceso de visibilizacin de los productos musicales de los laboratorios de
emprendimiento LASO.

1.6. ALCANCES Y LIMITACIONES


1.6.1. ALCANCES

La base de datos de archivos musicales se extender hasta los artistas


vinculados a la red LASO.

El apoyo del ministerio de cultura al proyecto permitir la bsqueda de


organizaciones nacionales e internacionales interesadas en el desarrollo
cultural y tecnolgico de la regin.

La aplicacin se dispondr a usuarios de manera gratuita debido a su


carcter acadmico.

1.6.2. LIMITACIONES

17

La implementacin de bases de datos de organizaciones comerciales son


de difcil acceso por su precio y derechos de autor.

La aplicacin mvil ser implementada nicamente para dispositivos


Android, esto implica que el acceso de usuarios sea restringido.

2. MARCO DE REFERENCIA
2.1. MARCO TERICO
2.1.1. PROCESAMIENTO DIGITAL DE SEALES
El procesamiento digital de seales es un rea de investigacin ingenieril que se
encarga del anlisis y procesamiento de seales, sin importar su naturaleza. Este
proceso se basa en la modificacin de parmetros encontrados en la naturaleza
del comportamiento fsico en un mbito de modelacin digital mediante
herramientas matemticas provistas por softwares de edicin, programacin y
compilacin, aunque su utilizacin no est sujeta a este tipo de plataformas.
Las seales de audio, son obtenidas mediante transductores, micrfonos para
este caso y representadas digitalmente mediante secuencias de muestras, este
proceso es conocido como Conversin Anloga-Digital (A/D). Asimismo este
proceso puede llevarse a cabo inversamente, convirtiendo una seal digital a una
seal anloga mediante conversores digital-analgico.
2.1.1.1.

CONVERSIN ANLOGA-DIGITAL

18

Una seal digitalizada es tratada en el procesador digital de seales (tratado en el


siguiente inciso) que realizarn tareas de procesamiento deseadas. No obstante,
han sido las configuraciones programables tanto en software como en hardware, o
sistemas embebidos, los que han brindado al procesamiento digital una flexibilidad
inalcanzable mediante el uso de sistemas anlogos equivalentes.
En la actualidad el procesamiento digital de seales ha alcanzado hasta los mas
pequeos dispositivos mviles utilizando algoritmos complejos que hace tan solo
15 aos hubieran requerido computadores de gran tamao y costo.
En la Figura 1 se puede observar el comportamiento de una seal x(t) que viene
de un medio anlogo y es capturada por un transductor de entrada a un sistema
de conversin digital; En la casilla ocurre la conversin A/D, en el cual la seal es
sampleada y cuantizada con la finalidad de transcribirla al dominio discreto x(n).
Luego pasa por un sistema de procesamiento DAFX, en el cual la seal ser
operada y modificada de acuerdo a los requerimientos del caso. Por ltimo, la
seal procesada y(n) es llevada a un sistema conversor D/A en donde es
reconstruida nuevamente a seal anloga (t).

Figura 1. Modelado de procesamiento de seales A/D y D/A

19

Fuente: DAFX (Digital Audio Effects).


2.1.1.2.

PROCESADORES DE SEALES DIGITALES

Un procesador digital de seales se define como cualquier sistema electrnico


capaz de procesar digitalmente una seal, aplicando operaciones matemticas a
seales en su representacin digital.
El corazn de un sistema de procesado digital puede ser un microcontrolador, un
procesador de propsito general o un procesador digital de seales (DSP). en la
actualidad los cuatro grandes fabricantes de DSP son Texas Instruments, con la
serie TMS320; Motorola, con las series DSP56000, DSP56100, DSP56300,
DSP56600 y DSP96000; Lucent Technologies (anteriormente AT&T), con las
series DSP1600 y DSP3200; y Analog Devices, con las series ADSP2100 y
ADSP21000.

20

Los DSP utilizan arquitecturas especiales para acelerar los clculos matemticos
intensos implicados en la mayora de sistemas de procesado de seal en tiempo
real. Tienen diversas aplicaciones que van desde el uso en sistemas de radar,
aplicaciones
automotrices,
industriales,
instrumentacin,
medicina,
telecomunicaciones, hasta la electrnica de consumo. Cada DSP tiene uno o
varios enfoques especficos, ya que sera muy dispendioso construir dispositivos
que pretendiera abarcar todas las funcionalidades de este tipo de sistemas.
2.1.1.3.

FILTRACIN

La filtracin es una de las operaciones complejas ms usadas en aplicaciones de


todo tipo. La filtracin es usada para pasar ciertos componentes frecuenciales de
una seal a travs de un sistema sin ninguna distorsin y bloquear cierto rango o
grupo de componentes frecuenciales. Esta implementacin es llamada filtro. El
rango de frecuencia que pasa a travs del filtro es llamado banda de paso
(passband), y el rango de frecuencias que es bloqueado es llamado banda de
detencin (de la traduccin del ingls stopband). Se pueden definir varias clases
de filtros, dependiendo de la naturaleza de la operacin del filtro. En la mayora de
los casos, la operacin de filtracin para seales anlogas es lineal y es descrita
por la siguiente integral:

h(t) x ( )d

Donde x(t) es la seal de entrada y y(t) es la seal de salida del filtro, y h(t) es la
respuesta al impulso.
Un filtro pasa bajo, permite el paso de componentes frecuenciales debajo de una
frecuencia especfica llamada frecuencia de corte (fc), y bloquea todas las
frecuencias por encima de esta. De igual manera existen el filtro pasa altos, pasa
banda, entre otros, que a travs de frecuencias de corte definen los rangos de
frecuencia de paso o de bloqueo.
Figura 2. Filtro anlogo de segundo orden Sallen & Key y respuesta en frecuencia.

21

Fuente: DAFX (Digital Audio Effects).


Los componentes (R1, R2 y C ) estn relacionados con los parmetros de ajuste
fc y , as:
f c=

1
2 C R 1 R2

R 1+ R 2
2 R 1 R2

Estas relaciones son sencillas, sin embargo ambos coeficientes de ajuste estn
acoplados. Por lo tanto, es difcil variar uno mientras el otro permanece constante.
A consecuencia de esto, esta estructura no se recomienda cuando los parmetros
han de ser sintonizado de forma dinmica y cuando se desean bajos factores de
amortiguacin.
2.1.1.3.1.

FILTROS DIGITALES

Los filtros digitales son sistemas utilizados para modificar el espectro de una
seal,
igual que sus equivalentes analgicos, permite el paso de ciertas frecuencias en el
espectro y bloqueando otras. Mediante el uso de hardware digital como bloque
funcional bsico (DSP o FPGA, por ejemplo). Son apropiados para un amplio

22

campo de aplicaciones, como compresin de datos, procesamiento de seales


biomdicas, procesamiento de seales de audio, entre otras.
Consiste fundamentalmente en un algoritmo mediante el cual una seal digital o
secuencia numrica denominada entrada se transforma en una segunda
secuencia de nmeros denominada seal digital de salida. Son sistemas
predecibles, flexibles, simulables, consistentes y precisos.
2.1.1.4.

MODULACIN

A partir de las seales x[n] y y[n] conocidas, efectuando el producto de estas en


cada instante de tiempo se genera una nueva secuencia w 1[n] definida as:
w1[n]= x[n] . y[n]
Es posible minimizar los efectos del ruido y la interferencia en seales mediante la
modulacin usando cierto tipo de esquemas. Generalmente, dichos esquemas
requieren un ancho de banda de transmisin mucho mayor que el de la seal del
mensaje. De esta manera se intercambia ancho de banda por reduccin de ruido,
un aspecto importante en el tratamiento de seales.
2.1.1.5.

CONVOLUCIN

Para el caso de sistemas lineales e invariantes en el tiempo, la integral de


convolucin permite determinar la respuesta del sistema ante cualquier entrada, a
partir del conocimiento de la respuesta del sistema ante una nica entrada
particular, el impulso. Si la respuesta del sistema ante un impulso se nota como h
(t), la salida de un sistema lineal e invariante en el tiempo excitado con una
entrada cualquiera x (t) est dada por la expresin:

y (t)= x ( ) h(t ) d= x(t )h ( )d

y se dice que la funcin y (t) es la convolucin de las funciones x (t) y h (t), que se
nota x(t) h(t).

23

2.1.1.6.

CORRELACIN

Existen aplicaciones en las cuales es necesario comparar una seal de referencia


con una o ms seales para determinar similitud entre ellas y determinar
informacin adicional basada en la similitud. La correlacin es altamente
susceptible a cambios temporales, por esto, si se requiere una exacta correlacin
entre seales, el sistema debe ser LTI.
En sistemas digitales de comunicacin, un arreglo de datos es representado por
un nico arreglo discreto en el tiempo. Si una de estas secuencias es transmitida
el receptor debe determinar cul secuencia en particular ha recibido mediante la
comparacin de la seal recibida con cada elemento de posibles secuencias del
arreglo. Similarmente, en aplicaciones de radio y sonar, la seal recibida reflejada
desde el objetivo es la versin retrasada de la seal transmitida y al medir este
retraso, es posible determinar la localizacin del objetivo. Los problemas de
deteccin se vuelven ms complicados en la prctica.
2.1.1.7.

TRANSFORMADA DE FOURIER

La transformada de Fourier es una de las herramientas principales para el anlisis


en ciencia y tecnologa, ya que permite establecer la relacin entre puntos de vista
muy diferentes relativos a un mismo problema. Gracias a esto es posible utilizar
diferentes anlisis para la resolucin de un problema.
La integral de Fourier es una relacin que nos permite pasar del dominio del
tiempo al dominio de la frecuencia, para realizar un anlisis espectral de la seal
capturada y ingresada al sistema. De este modo, se define la transformada de
Fourier como:

H(f)=

h(t )e ( j 2 ft) dt

24

Entre las propiedades de la transformada de Fourier se encuentran la linealidad,


simetra, escalamiento, corrimiento en tiempo y frecuencia, entre otras.
Figura 3. Anlisis espectral de seales digitales: Se toman N muestras de audio y
se realiza una transformada discreta de Fourier para producir N muestras del
espectro de la seal.

Fuente: DAFX (Digital Audio Effects).


2.1.1.7.1.

TRANSFORMADA DE FOURIER SHORT-TIME

Esta transformada consiste bsicamente en dividir la seal de entrada en trozos


donde se pueda asumir que la seal es estacionaria. Esto con el fin de reducir un
problema de anlisis de seales no estacionarias mediante la transformada de
Fourier. Para este propsito la funcin se multiplica por una funcin ventana que
inicialmente estar localizada en t=0, cuya anchura corresponde a la longitud de la
seal que se quiere considerar estacionaria.

25

STFT (t ' , f )= [ x (t ) w (tt ' ) ] e j2 ft dt


w
x

donde
x(t): Seal original.
w *: funcin ventana conjugada.
f: frecuencia.
t: tiempo.
En cada instante de tiempo t y frecuencia f se calcula un nuevo coeficiente de la
transformada de Fourier.
Figura 4. Transformada de Fourier en tiempo corto STFT.

Fuente:http://earchivo.uc3m.es/bitstream/handle/10016/7888/PFC_Begona_Moya_
Ignacio.pdf?sequence=1
En la Figura 15 se muestra un ejemplo de una funcin ventana. La primera funcin
tiene la ventana localizada en t=t1, la segunda en t=t2 y la tercera en t=t3. Estas
ventanas corresponden a tres transformadas de Fourier en tiempos distintos. Por
lo tanto, se obtendr una buena representacin tiempo-frecuencia de la seal de
entrada.

26

De acuerdo a lo mencionado anteriormente, se puede llevar a cabo una


representacin de la STFT de una seal en tres dimensiones (tiempo, frecuencia y
amplitud), lo cual se denominada espectrograma, con la que no slo se conocern
las componentes de frecuencia de la seal, sino tambin su localizacin en el
tiempo.

2.1.1.8.

ESPECTROGRAMA

A la hora de representar visualmente la energa del contenido frecuencia segn va


variando el tiempo, se hace necesario establecer lo visto en la teora de anlisis de
Fourier para luego obtener las variaciones de frecuencia de una seal limitada. A
esta representacin se le denomina espectrograma y puede expresarse
tridimensionalmente si se agregan los niveles de potencia y su intensidad.
El objetivo principal de los espectrogramas es analizar parmetros como la
sonoridad, duracin, frecuencia, estructura, intensidad, el ritmo entre otro tipo de
variaciones en una seal.
Figura 5. Espectrograma de una seal; Los niveles de intensidad se determinan
desde el azul oscuro como los puntos de menor energa, hasta el rojo que son los
puntos de mayor concentracin energtica.

27

Fuente: Carbajal, E. Reduccin de Ruido en seales mediante la STFT y


espectrogramas.

2.1.1.9. VENTAJAS Y DESVENTAJAS DEL PROCESAMIENTO


DIGITAL
Para poder representar una seal analgica por medio de una seal digital sin que
sufra prdidas considerables, esta debe ser digitalizada con una tasa alta de
muestreo. La tecnologa digital impone lmites de velocidad de procesamiento que,
aunque cada vez son menos restrictivas, determinan los anchos de banda de
seales que se pueden tratar digitalmente. Podramos considerar esto una
desventaja, ya que debido a esto los sistemas anlogos siguen siendo
irremplazables en aplicaciones con seales de anchos de banda por el orden de
los Gigahertz. Otro mbito de dominio analgico son sistemas de bajo consumo de
potencia en el orden de los microwatts. Tanto los mdulos de conversin A/D como
D/A, as como los microcontroladores o microprocesadores digitales siempre
tendrn un mayor consumo de potencia en la implementacin de filtros digitales

28

que filtros homlogos analgicos, o de capacitores conmutados, implementados


en tecnologas integradas.
Se encuentran ventajas de estos sistemas en los casos contrarios, donde las
seales pueden ser digitalizadas sin perder una cantidad importante de
informacin por varias razones: su costo y confiabilidad los pone por encima de los
sistemas analgicos, son sistemas reprogramables, lo que quiere decir que
mediante cambios en sus algoritmos pueden modificarse sus caractersticas,
dando flexibilidad al diseo, adems, las precisiones alcanzadas con sistemas
digitales son mucho ms altas que las alcanzadas con sistemas analgicos en los
que el error acumulado en forma de ruido aumenta en cada etapa del proceso. El
desgaste de los dispositivos es mucho menor para los sistemas digitales que para
los sistemas analgicos.
A pesar de lo dicho anteriormente, una de las ventajas fundamentales del
procesamiento digital es la complejidad que los algoritmos pueden alcanzar, para
los cuales incluso, puede no existir equivalentes analgicos.

2.1.2. RECUPERACIN DE INFORMACIN MUSICAL


2.1.2.1.

HUELLA DIGITAL ACSTICA

La huella digital acstica es un vector que contiene un conjunto de informacin


sobre las caractersticas que identifican una seal de audio. Esta es sin duda la
caracterstica ms importante a la hora de identificar canciones con respecto a una
coleccin de archivos de audio agrupados y almacenados en una base de datos.
Las tecnologas que utilizan huellas digitales acsticas han atrado recientemente
la atencin, debido a su capacidad para vincular el audio sin marcar a los
metadatos (nombre, ttulo, gnero, entre otros) y permiten la monitorizacin de
audio independientemente de su formato (wav, mp3, flac, entre otros).
2.1.2.2.

FUNCIONES HASH

29

Las funciones hash o algoritmos Hash, tambin llamados algoritmos de resumen,


son un sistema que logra codificar unos datos de entrada, entregando una cadena
de bits o una salida alfanumrica de longitud normalmente fija. Esta entrada puede
ser texto, una contrasea, archivo, matriz, entre otros. Las funciones hash son
funciones unidireccionales, lo que quiere decir que este algoritmo asegura con su
respuesta, es que nunca se podr saber cules fueron los datos de entrada.
Existen dos tipos de algoritmos Hash: MD5 y SHA. El MD5 (Message-Digest
Algorithm 5) es un algoritmo de reduccin criptogrfico de 128 bits ampliamente
usado.
Figura 6. Asignacin de Hash.

Fuente:
2.1.2.3.

TABLAS HASH

Muchas aplicaciones utilizan sistemas dinmicos que les permiten almacenar


grandes cantidades de informacin compilada y categorizada por identificadores
clave, que permiten organizar informacin proveniente de herramientas, tales
como: diccionarios, bases de datos, colecciones y bibliotecas, entre otras; Es de
vital importancia contener toda una serie de datos que caracterizan un objeto en
estudio, mediante la implementacin de un arreglo matricial que permita mantener
organizadas las grandes cantidades de informacin y que permitan el acceso a los
elementos que la conforman.
Las tablas hash son estructuras de datos no lineales que se utilizan para
almacenar un nmero elevado de datos sobre los que se necesitan operaciones

30

de bsqueda e insercin muy eficientes. En otras palabras, una tabla hash


almacena un conjunto de pares (clave, valor). Esta clave se asigna a un nmero
entero que se utiliza como un ndice para almacenar el elemento en la tabla hash.
El elemento clave se convierte en un nmero entero por medio de una funcin
llamada hash function13.
Figura 7. Esquema del proceso de clasificacin de colecciones (hashing). La
columna (a) contiene los elementos 1,2,3,...,n que contienen la informacin
sugerida por el usuario para indexar en la base de datos. En el siguiente bloque
(b) la funcin hash se encarga de generar las claves que asignan un nmero al
elemento n para almacenar en la tabla hash (c).

Fuente: R. Sridhar, A. Amudha, S. Karthiga and Geetha T V. Comparison of


Modified Dual Ternary Indexing and Multi-key Hashing Algorithms for Music
Information Retrieval. International Journal of Artificial Intelligence & Applications
(IJAIA), Vol.1, No.3, July 2010, pp. 63.
2.1.3. SISTEMA OPERATIVO ANDROID

13 R. Sridhar, A. Amudha, S. Karthiga and Geetha T V. Comparison of Modified Dual Ternary


Indexing and Multi-key Hashing Algorithms for Music Information Retrieval, International Journal of
Artificial Intelligence & Applications (IJAIA), Vol.1, No.3, July 2010, pp. 62.

31

Android es un sistema operativo libre desarrollado por google pensado


inicialmente para dispositivos mviles, que lo distingue de los dems al estar
basado en Linux, un ncleo de sistema operativo libre, gratuito y multiplataforma.
El sistema permite programar aplicaciones en una variacin de Java llamada
Dalvik. Al estar basado en un lenguaje tan conocido como el Java y siendo una
plataforma libre adems de la existencia de herramientas de programacin gratuita
hace que una de sus principales caractersticas sea la cantidad de aplicaciones
disponibles. Android incluye un conjunto de bibliotecas que proporciona la mayor
parte de la funcionalidad de este sistema. Este sistema incluye un SDK (kit de
desarrollo de programacin) que contiene un conjunto de herramientas y recursos
diversos para desarrolladores para su sistema operativo mvil con APIs (Interfaz
de programacin de aplicaciones) necesarios para desarrollar aplicaciones sobre
la plataforma android utilizando el lenguaje de programacin Java. La mayor parte
de las funciones son proporcionadas por un conjunto de bibliotecas de ncleo
permitiendo el manejo de estas a travs de las bibliotecas principales del lenguaje
de programacin Java.

2.1.3.1.

ARQUITECTURA DE ANDROID

Para empezar con el desarrollo de aplicaciones es importante conocer la


estructura de este sistema operativo, el cual cuenta con capas que permiten
acceder al programador a las capas ms bajas por medio de libreras con las
funcionalidades necesarias para que una aplicacin haga uso de los componentes
de hardware de los telfonos. Cada una de las capas utiliza elementos de la capa
inferior, por ello esta estructura tambin es conocida como pila.
2.1.3.2. LIBRERAS
Estas libreras corresponden a bibliotecas nativas de Android, estn escritas en C
o C++. Estas generalmente estn desarrolladas por el fabricante, quien tambin
debe instalarlo en el dispositivo antes de su comercializacin.
El objetivo de estas libreras es proporcionar funcionalidad a las aplicaciones para
acciones que se repiten con cierta frecuencia sin necesidad de codificarlas cada
vez que se utilicen, garantizando llevar a cabo estas tareas de la manera ms

32

eficiente. OpenGL (motor grfico), SQLite (base de datos), biblioteca multimedia


(formatos audio, video e imagen), entre otras, son algunas de las libreras
incluidas generalmente.
2.1.3.3.

APLICACIONES

Existen dos tipos diferentes de aplicaciones para dispositivos mviles, la


aplicacin nativa y la aplicacin WEB. La aplicacin nativa es aquella que se
instala directamente en el dispositivo y se desarrolla con un lenguaje de
programacin compatible con el dispositivo, mientras que la aplicacin WEB se
encuentra instalada en un servidor tipo web o browser y necesita de l para
ejecutarse, el navegador debe ser compatible con las tecnologas con las que se
realiz la aplicacin web y que corrern de parte de este.

2.1.3.4.

DISPOSITIVOS MVILES

Los dispositivos mviles son aparatos que poseen la caracterstica de mviles por
su pequeo tamao, con capacidades de procesamiento, que es capaz de
mantener una conexin intermitente o permanente a una red, poseen memoria
limitada y diseados para funciones especficas pero a su vez pueden llevar a
cabo funciones generales.
Existen varios tipos de dispositivos mviles como lo son: Smartphone, Pdas,
Tablet, entre otros.
2.1.3.5.

GOOGLE PLAY

Google Play Store (anteriormente Android Market) es una plataforma de


distribucin digital de aplicaciones mviles para los dispositivos con sistema
operativo Android, as como una tienda en lnea desarrollada y operada por
Google. Esta plataforma permite a los usuarios navegar y descargar aplicaciones
(desarrolladas mediante Android SDK), juegos, msica, libros, revistas y pelculas.
Tambin se pueden adquirir dispositivos mviles como ordenadores Chromebook,
telfonos inteligentes Nexus, Google Chromecast, entre otros. Es importante

33

resaltar que las aplicaciones se encuentran en forma gratuita como tambin con
costo, y pueden ser descargadas desde un dispositivo mvil con Android a travs
de la aplicacin Play store.14
2.2. MARCO LEGAL
2.2.1. LEY 1341 DE 2009
Este proyecto se realiza bajo la normativa de la LEY 1341 DE 2009, donde se
definen y establecen todos los conceptos y principios del sector de las
Tecnologas de la Informacin y las Comunicaciones en Colombia. Esta ley
enfatiza la importancia de priorizar el acceso a las TIC, la libre competencia, el
derecho a la informacin a travs de los servicios bsicos de las TIC, entre otros.

2.2.2. PNMC DE 2003


El marco de enfoque y accin del Plan Nacional de Msica para la Convivencia
(PNMC, 2003) establece una poltica de Estado hacia la msica, que contribuya a
fortalecer la expresin musical individual y colectiva como factor de construccin
de ciudadana, y a favorecer la sostenibilidad del campo musical a travs de la
inversin pblica continuada y de la articulacin de actores, en condiciones de
equidad.

3. METODOLOGA
3.1. ENFOQUE DEL PROYECTO
El enfoque de investigacin de este proyecto corresponde al mtodo empricoanaltico, dado que se necesita realizar una investigacin y anlisis previo para
desarrollar experimentalmente mediante un software, un proceso mnemotcnico
14Google Play, https://es.wikipedia.org/wiki/Google_Play

34

que permita obtener los resultados esperados en los algoritmos de Music


Information Retrieval.
3.2. LNEA DE INVESTIGACIN DE LA USB
La lnea de investigacin que se encarga del desarrollo de software aplicado al
procesamiento de seales de audio, corresponde al Procesamiento Digital de
Seales (DSP).
3.2.1. SUBLNEAS DE INVESTIGACIN
Computer Music & Technologies, Tecnologas de la Informacin y Comunicaciones
(TIC).

3.3. CONSIDERACIONES INICIALES DE DISEO


a. Definicin del lenguaje de programacin
- Diagrama de flujo para algoritmo.
- Libreras y paquetes externos.
b. Bibliotecas digitales
- Clasificacin de colecciones musicales por nombre de artista y cancin.
- Servidores y bases de datos.
c. Captura y transcripcin A/D
- Describir los parmetros tenidos en cuenta para la captura
almacenamiento de seales de audio y colecciones musicales.
- Ajustes de rango dinmico.
- Filtros y linealizadores de seal.
- Seal discreta en el dominio de frecuencia vs. tiempo (FFT, STFT).
- Espectrogramas.
- Huellas digitales.

35

d. Algoritmo de bsqueda
- Comparacin de huellas digitales.
e.
-

Implementacin de la aplicacin mvil en Google Play


Plataforma de programacin.
Algoritmo de desarrollo.
Distribucin digital.

f. Validacin de la eficiencia

3.4. TCNICAS DE RECOLECCIN


Para la evaluacin de resultados se realizarn los siguientes procesos que
permitirn cuantificar y cualificar el impacto de la aplicacin de acuerdo a las
necesidades del mercado:
-

Anlisis de contenidos y procesos mediante una implementacin en Java.


Diseo de encuestas de campo y digitales sobre la experiencia del usuario.
Implementacin para descarga gratuita en Google Play y cantidad de descargas.
Divulgacin y circulacin de contenidos a travs de medios de comunicacin
nacionales y redes sociales.
4. DESARROLLO INGENIERIL
En esta seccin del documento se explica la metodologa empleada para
satisfacer los objetivos planteados. Primero, y en continuacin con el marco
terico-conceptual, se hizo un anlisis del algoritmo para extraer y comparar
huellas digitales que revolucion la industria de las tecnologas mviles aplicadas
al audio An Industrial-Strength Audio Search Algorithm desarrollado por Avery Li-

36

Chung Wang para los laboratorios de Shazam Entertainment. Seguido a esto, se


procede a explicar cmo se desarroll la implementacin del algoritmo en
plataforma java, donde se realizaron las pruebas y experimentos que comprueban
una buena funcionalidad de la aplicacin. Y Por ltimo, se desarroll una
aplicacin mvil para Android que identifica canciones sobre una base de datos de
artistas vinculadas a LASO y la manera en que se implement en la plataforma
Google Play para descarga gratuita.
4.1. MUSIC INFORMATION RETRIEVAL
En bsqueda de evidencias sobre el funcionamiento bsico de un sistema de
recuperacin musical, el algoritmo que desarroll Wang posee una caracterstica
especial para introducir los conceptos generales sobre la recuperacin de
informacin musical, y es que este es un sistema sencillo de entender, fcil de
aplicar y de gran robustez de procesamiento. Para contextualizar un poco sobre el
algoritmo, consiste en generar y comparar huellas digitales acsticas a partir de un
procesamiento digital de seales que permite analizar canciones aplicando
ventanas de respuesta rpida que van capturando y agrupando las caractersticas
de una muestra en instantes de tiempo con separaciones muy cortas. Para el caso
de este sistema, el objetivo es obtener las coordenadas de los picos de frecuencia
con mayor intensidad que presenta una grabacin. Para ello se hace uso de un
grfico 3D llamado espectrograma, el cual brinda informacin sobre la magnitud
de los picos de alto nivel de intensidad, segn su posicin en frecuencia y en
tiempo en una sola banda de frecuencias. La informacin de los picos de alto nivel
es almacenada en un fichero denominado hash que lo que hace es asignar una
clave de identificacin nica a la informacin de un objeto. Cada hash de una
muestra de audio es usado para buscar hashes coincidentes a travs de un
barrido que se hace en la base de datos y encontrar la mejor coincidencia que
sera la cancin deseada.
Por otro lado, existe un sistema de reconocimiento musical con las mismas
proporciones de uso comercial que Shazam, se trata del algoritmo de Philips
desarrollado para la empresa Musiwave. Este algoritmo plantea operar una
funcin ventana de aproximadamente 372 milisegundos y un solapamiento casi
del 96% sobre una muestra de seal para obtener las caractersticas ms

37

representativas de la seal. Esta proporcin indica que la tasa de ventaneo hace


una captura de datos rpida aunque no muy detallada, haciendo un equilibrio con
un alto nivel de solapamiento que asegura a una muestra robustez a los cambios
temporales, es decir, cuando los datos de entrada no estn perfectamente
alineados a la grabacin que se utiliz para generar la huella digital, el nivel de
solapamiento indica cunto desplazamiento temporal le permite a una muestra
para que coincida con la grabacin original. Luego de esto, aplica un filtro de 33
bandas en un rango de 300-2000 Hertz para realizar un anlisis espectral en las
frecuencias que poseen las caractersticas ms representativas de la seal. El
proceso de filtrado ofrece el beneficio de remover perturbaciones o ruidos no
deseados, puesto que al al hacer un anlisis por bandas se discriminan las
frecuencias ms importantes y se elimina la informacin contaminada. Para la
extraccin de la huella digital, este mtodo calcula los picos de alta energa, los
codifica a un fichero nico mediante una funcin hash y realiza un mapeo de
secuencia de estos puntos a travs del clculo de distancias euclidianas. Luego de
esto, para la comparacin realiza el mismo proceso que el algoritmo de Wang.
Sobre las bases e ideas expuestas anteriormente, es comn que la mayora de los
algoritmos de extraccin de la huella digital estn basados en el mismo principio:
grabar una muestra de audio, en seguida extraer su huella digital para posterior
comparar la similitud con respecto a un banco de canciones. En las figuras 8 y 9
se observan los diagramas de bloques de los algoritmos propuestos por Wang y
Philips, mientras que en la Figura 10 se presenta el esquema general de un
sistema de identificacin de canciones tomado del proyecto de grado de Feng
Shuyu (2007). Por ltimo, en la Figura 11 se plantea el diseo del algoritmo a
implementar segn las referencias vistas.
Figura 8. Esquema de extraccin de huella digital acstica planteado por Wang.

38

Fuente:

Figura 9. Esquema de extraccin de huella digital acstica planteado por Philips


Fuente:
Figura 10. Esquema general del proceso de identificacin de canciones por
similitud de audio.
estableci
musical
basado
una implementacin
en
principio
del algoritmo
sistema musical
de
de recuperacin
Shazam,
orientado
de informacin
hacia el
desarrollo
general
de el
la
Figura
14.recuperacin
Figura
Fuente:
15.
Diseo
del
sistema
de
implementadoF
Figura 11. Diseo del algoritmo implementado.

39

Fuente: Autores.
4.1.1. EXTRACCIN DE HUELLA ACSTICA
En el momento en que se captura una seal a travs de un sistema de registro,
esta pasa de un medio anlogo a digital, o en el sentido contrario pasa de digital a
anlogo, es necesario que un DSP ejecute esa accin. Para ello, es necesario
tener en cuenta algunos principios fundamentales que hacen que un sistema de
huellas digitales sea prctico y computacionalmente eficiente:
Precisin
Este es el requisito ms importante en la mayora de los sistemas de huellas
digitales de audio, debido a que el motor de bsqueda de huellas debe comparar
sobre todas las huellas digitales que se encuentren en una base de datos y
discriminar el nmero de identificaciones correctas, identificaciones desconocidas
e identificaciones equivocadas.
Robustez
La robustez se relaciona con las caractersticas acsticas y mtodos de modelado
de la huella digital. En realidad, las seales de audio se ven afectadas por
distorsiones o modificaciones como la compresin mp3, ruido de fondo, distorsin
de canal, y as sucesivamente. Por lo tanto, se necesitan procesos que aumenten
la similitud entre la versin distorsionada y el audio original, mientras que tambin
reduzcan la similitud entre diferentes canciones. Las huellas digitales que pueden
resistir estos efectos se vuelven esenciales para el sistema de trabajo.
Lasimilitud
robustez
se
relaciona
con
las
caractersticas
acsticas
yde
mtodos
de
modelado
distorsiones
la huella
oefectos
digital.
modificaciones
Envuelven
realidad,
como
las
lacanciones.
compresin
seales
de
mp3,
audio
ruido
se
de
venfondo,
afectadas
distorsin
por
de
la
canal,
ylaentre
as
sucesivamente.
la versin
distorsionada
Por
lo
tanto,
y el
se
audio
necesitan
original,
procesos
mientras
que
que
aumenten
tambin
reduzcan
resistir
estos
similitud
se
entre
diferentes
esenciales
para
el
Las
sistema
huellas
digitales
trabajo.
que
pueden
Invarianza
La invarianza se refiere a que un parmetro de salida siempre ser el mismo ante
la misma entrada, sin importar el instante de tiempo en el que se aplica dicha
entrada. Esto quiere decir que no importa el instante de tiempo en que es grabada
una muestra, este principio le proporciona al sistema ubicar una referencia en
cualquier instante de la seal y realizar el anlisis tal y como si se hubiera tomado
una muestra al principio de la cancin. Esto tiene sentido, ya que la muestra
desconocida podra venir de cualquier parte del audio original.

40

Granularidad
que
quiere
decir
este
concepto
es
que
el
es
ms
eficiente
sicapacidad
tiene
la
capacidad
de
identificar
canciones
sobre
un
extracto
corto
demismo
audio.
Versatilidad
misma
en
memoria,
base
de
por
datos
ende
mejora
hace
elA/D.
rendimiento
unque
sistema
de
la
huellas
mquina.
digitales
recursos
Lo
Escalabilidad
que
quiere
decir
este
concepto
es
el
sistema
esaudio.
ms
eficiente
sioptimice
tiene
laarchivo
simultneas.
Complejidad
esto
se
ve
reflejado
en
elque
tamao
de
huella
digital,
laque
complejidad
deque
bsqueda,
adicin
la
complejidad
nuevos
de
elementos
la
comparacin
arealizar
ysistema
los
recursos
base
de
presenta
datos,
etc.
requerimientos
especifican
las
de
etapas
conversin
paso
a
paso
Como
para
se
puede
un
observar
procesado
en
la
de
Figura
seales
16,
se
permita
audio.
En
extraer
este
sentido,
las
caractersticas
es
importante
fundamentales
resaltar
que
para
tanto
el
laest
anlisis
base
de
de
datos,
un
como
las
de
muestras
En
algunas
de
aplicaciones
los
archivos
donde
de
prueba
el
audio
son
sustrados
ala
identificar
de
ya
este
comprimido,
para
el
caso
caractersticas
del
mp3,
de
la
es
representacin
posible
sobresaltarse
codificada
de
algunos
bloques
yprocedimiento.
extraer
de identificar canciones sobre un extracto corto de audio.

Versatilidad
Poseer
la capacidad de aplicar diferentes operaciones y procesos sobre una
Versatilidad
misma base de datos hace que un sistema de huellas digitales optimice recursos
en memoria, por ende mejora el rendimiento de la mquina.
Escalabilidad
Rendimiento
simultneas.
con grandes bases de datos o un gran nmero de identificaciones
Escalabilidad
simultneas.
Complejidad
Se refiere a los costes computacionales para la extraccin de huellas digitales,
esto se ve reflejado en el tamao de la huella digital, la complejidad de la
bsqueda, la complejidad de la comparacin y los recursos que presenta para la
adicin de nuevos elementos a la base de datos, etc.

4.1.1.1.

FRONT-END

Esta es la etapa inicial del proceso que debe ejecutar los requerimientos de
conversin A/D. Como se puede observar en la Figura 12, se especifican las
etapas paso a paso para realizar un procesado de seales que permita extraer las
caractersticas fundamentales para el anlisis de un archivo de audio. En este
sentido, es importante resaltar que tanto la base de datos, como las muestras de
los archivos de prueba son sustradas de este mismo procedimiento. En algunas
aplicaciones donde el audio a identificar ya est comprimido, para el caso del mp3,
es posible sobresaltarse algunos bloques y extraer las caractersticas de la
representacin codificada de audio.
Figura 12. Estructura de FRONT-END y Modelado de Huella Digital Acstica.

41

Fuente: Fingerprint Extraction Framework: Front-end (top) and Fingerprint


modeling (bottom). A Review of Algorithms for Audio Fingerprinting.

4.1.1.1.1.

PREPROCESAMIENTO

Antes de efectuar el anlisis de la seal, hay que establecer unos parmetros o


condiciones iniciales que permiten una digitalizacin robusta para llevarla a un
formato general de conversin de medio anlogo-digital. En la siguiente figura se
muestra el diagrama de pre procesamiento aplicado para este proyecto.

42

Figura 13. Diagrama de Preprocesamiento.

Fuente: Autores.
Donde
Frecuencia de sampleo fs
Este parmetro determina la calidad con que ser muestreada la seal, esto
quiere decir que cuanta ms alta sea la frecuencia de sampleo, mayor ser la
calidad de la seal digital con respecto a la original.
Nmero de canales
El nmero de canales (mono, estreo o multicanal) indica el tipo de sonido con
que se va a trabajar: monoaural o biaural.
Nmero de bits por muestra
Determina la resolucin con la que se reproduce o graba una seal. Se suele
utilizar 8, 16 y 24 bits para el muestreo de seales de audio. Para obtener una
mayor precisin en el muestreo, se necesita mayor resolucin de bits.

43

Normalizacin
Para obtener una representacin de la seal menos sensible a las variaciones de
amplitud y tiempo, se normaliza dividiendo el valor de cada uno de los elementos
de la seal entre el valor eficaz (RMS) de la misma.
En consecuencia, bajo los criterios que aplic Wang se defini la frecuencia de
sampleo fs= 44,1 KHz, cumpliendo con el teorema de Nyquist para el espectro
audible. Luego se codific la seal a canal mono PCM 15 debido a que esta es la
forma estndar en que los sistemas de radiocomunicacin optimizan la potencia
de seal que posee una seal estereofnica. Por ltimo se aplica una resolucin
de 16 bits, teniendo en cuenta que se busca obtener un vector robusto de
informacin del contenido de la seal.
Figura 18. Seal de audio pre procesada.

Cancin: Mara y t; Artista: Teo Rod.


4.1.1.1.2.

VENTANEO Y SOLAPAMIENTO

15 La modulacin por impulsos codificados PCM es un procedimiento utilizado para transformar


una seal analgica en una secuencia de bits, es decir a una seal digital.

44

Una vez obtenido el vector de audio, el paso siguiente es hacer un anlisis sobre
la evolucin dinmica de esa seal. Para ello, se deben aplicar una serie de filtros
temporales que lo que hacen es generar estados estacionarios de corta distancia
(en el orden de los milisegundos) a lo largo de toda una muestra para caracterizar
y discriminar seales parsitas, tales como reflexiones por superficies o ruido
presente en el lugar de medicin, y retener en memoria la informacin discreta de
la seal evaluada. El nmero de ventanas por segundo calculadas se llama tasa
de ventaneo y esta proporcin indica la variacin de velocidad del registro de la
informacin acstica de la seal. El porcentaje de superposicin o solapamiento
se aplica para asegurar la robustez a los cambios temporales de la seal de
prueba con respecto a la huella digital de la base de datos. En otras palabras,
cuando los datos de entrada de la seal de prueba no estn perfectamente
alineados a la grabacin que se utiliz para generar la huella digital. Hay un
equilibrio entre la robustez de cambio y la complejidad computacional del sistema:
cuanto mayor sea la tasa de ventaneo, es ms robusto a los cambios en el
sistema, pero a un costo de procesamiento computacional superior.
Figura 19. Diagrama de ventaneo.

Para el mtodo de Shazam, Wang hizo un anlisis sobre la resolucin de ventaneo


indicada para generar un mapa robusto de datos discretos y concluy que aplicar
una resolucin de 1024 muestras/cuadro se indexan a lo sumo 10 bits de datos
por pico de frecuencia detectado. De esta manera, se obtiene una gran cantidad
de informacin sobre los puntos de anlisis a travs de una ventana de
indexamiento rpida. Para el propsito de este proyecto, atendimos las
consideraciones de ventaneo planteadas por Wang.

45

Figura 20. Funcin ventana aplicada a una cancin.

4.1.1.1.3.

TRANSFORMADA DE FOURIER

Debido a que el vector de audio cuenta con una entrada continua y finita al
sistema, se aplica la FFT para transcribir la informacin punto a punto al dominio
de la frecuencia. Esta transformada se aplica para obtener las magnitudes de los
picos de alto nivel calculados a travs del espectro de anlisis seleccionado.
Figura 21. Transformada de Fourier cancin Mara y t.

46

4.1.1.1.4.

EXTRACCIN DE PICOS DE ALTO NIVEL

En este momento se define el mtodo de extraccin de una o varias de las


caractersticas que componen a la seal. En este sentido, se observa en la Figura
16 varios tipos de caractersticas que se pueden extraer del audio. Para el
desarrollo de este proyecto se decidi realizar el anlisis por extraccin de
descriptores de alto nivel energtico de la seal, es decir, los picos de mayor
intensidad de frecuencia con respecto a un tiempo de posicionamiento.
Con la transformada de Fourier se logran traducir los datos discretos al dominio de
la frecuencia para obtener el valor de las magnitudes de cada pico, pero esta
transformada no posee la caracterstica de visualizar esas magnitudes de
frecuencia a travs del tiempo. Para lograr este propsito se aplica sobre el vector
de Fourier otro tipo de transformacin llamado espectrograma, que tiene la
capacidad de proporcionar las variables de tiempo, frecuencia y amplitud en un
solo grfico.
Para la visualizar el espectrograma, se aplic una Transformada Corta de Fourier
(STFT) sobre el espectro de frecuencias con una tasa de ventaneo de 4096

47

muestras/cuadro, lo cual es lo suficientemente consistente para permitir una alta


resolucin en el mapeo del comportamiento energtico de la seal.
Figura 22. Extraccin de descriptores de alto nivel energtico.

Figura 23. Extraccin de descriptores de alto nivel energtico a una FFT.

Figura 24. Espectrograma de una cancin

48

Fuente: Autores
4.1.1.1.5.

MODELADO DE HUELLAS DIGITALES

Una vez que tenemos informacin acerca de la distribucin energtica de la seal,


podemos empezar a formar nuestra huella digital de la cancin. Esta es la parte
ms importante de todo el proceso de reconocimiento de msica puesto que el
desafo es distinguir sobre el espectro de frecuencias capturado, las frecuencias
con informacin ms significativa.
Algunas fuentes indican que en una cancin las bandas de frecuencias fuertes
pueden variar entre C1 (32.70 Hz) y C8 (4,1 KHz). Este es un intervalo enorme de
cubrir y fue implementado bajo las primeras consideraciones del algoritmo de
Philips. La mejora que present Wang sobre este componente fue reducir el

49

espectro de anlisis en 5 intervalos de frecuencia ms pequeos, en base a las


frecuencias comunes de importantes componentes musicales, y hacer un anlisis
separado por bandas. En el caso de Shazam, Wang eligi un lmite inferior de 40
Hz y un lmite superior de 300Hz, quedando definidos de la siguiente manera: 3040 Hz, 40-80 Hz y 80-120 Hz para los tonos bajos (que cubren la guitarra bajo, por
ejemplo), y 120-180 Hz y 180-300 Hz para medios y tonos ms altos (que abarca
la mayora de las voces y otros instrumentos).
Ahora, dentro de cada intervalo se pueden identificar las frecuencias con la ms
alta magnitud. Esta informacin constituye una firma para esta parte de la muestra
y genera un mapa de coordenadas que se asemeja al plano de estrellas en la
galaxia, como se observa en la Figura 25. Este plano de puntos aleatorios se
denomina mapa de constelaciones.
Figura 25: Grfico de espectrograma y obtencin de picos con intensidad de nivel
propuesto por Wang para Shazam. (a): Espectrograma de una seal de audio; (b):
Obtencin de mapa de constelaciones energticas; (c): Implementacin de
combinaciones hash para generar claves del archivo; (d): Detalles de valores
hash.

50

Fuente: A. Wang, An Industrial-Strength Audio Search Algorithm.


Los hashes de las huellas digitales se forman a partir del mapa de constelaciones,
agrupando parejas de puntos segn sus coordenadas frecuencia-tiempo, es decir,
pico1 (t1, f1) y pico2 (t2, f2). El algoritmo escoge un pico como ancla y referencia
una zona objetivo en la cual se obtienen dos componentes frecuenciales (f1, f2),
adems, el tiempo de diferencia entre ellos t=t 2t 1 . Mediante la formacin
de parejas en vez de buscar coincidencias por picos individuales se gana una
mayor velocidad en el proceso de la bsqueda porque la cantidad de informacin
que se obtiene sobre varias referencias es mayor a la que se obtiene sobre una
sola. Wang ilustra este acontecimiento de la siguiente manera: Por cada
frecuencia de anlisis se obtienen 10 bits de informacin, es decir que si tenemos
dos puntos asociados se almacenarn 20 bits, adems se obtienen otros 10 bits
que representan el componente de diferencia de tiempo, generando un total de 30
bits de informacin contra slo 10 bits para una sola referencia. Este

51

comportamiento hace que la robustez del hash sea alrededor de un milln de


veces mayor, debido a los 20 bits de ms, y por lo tanto la velocidad de bsqueda
para un solo punto de hash aumenta con esa proporcin de datos.
Por otro lado, debido a que el algoritmo genera una serie hashes, en el mapa de
constelaciones se forma una densidad simtrica de F puntos en la zona objetiva,
tanto para los hashes de la base de datos como para los hashes de la muestra.
Esto quiere decir que existen F veces tanto combinaciones como de picos en la
muestra desconocida para buscar. Se define un pico de la constelacin a ser un
punto de anclaje, y si se seleccionan F=10 picos distribuidos en la zona objetivo,
entonces la cantidad de hashes combinados es igual a misma cantidad F=10 de
picos de anlisis seleccionados. Este comportamiento se puede observar en la
imagen (c) de la Figura 25.
Al limitar el nmero de puntos elegidos en cada zona objetiva, se reduce la
cantidad de almacenamiento de hashes combinados para la extraccin de la
huella digital. Este proceso afecta directamente reduciendo en 10 veces el tamao
de almacenamiento de la muestras, lo cual expone la posibilidad de bajar la
robustez de los hashes, pero hace una compensacin aumentando en 10,000
veces en la velocidad de procesamiento.
Tabla 1. Vector de hashes sobre deteccin de picos de alto nivel de energa.
f [Hz]

t [s]

84.05

1.024

125.8

2.241

250.4

4.55

610.79

10.2

52

4.1.1.2.

BASE DE DATOS Y MOTOR DE BSQUEDA

Una vez construida la huella digital se procede a almacenarla para la futura


comparacin, para ello se implementa una tabla Hash. Utilizando la funcin
HashMap se asigna una llave a cada objeto almacenado para recuperarlo. Los
objetos almacenados en este hash sern los puntos claves encontrados en cada
espectrograma.
Figura 26. Extraccin y comparacin de huella digitales: Seal de prueba vs.
cancin de base de datos

Fuente: Autores.

Para realizar una bsqueda, la huella digital se toma en una muestra de audio
capturada para generar un vector de los tiempos de corrimiento (offset) de los
hashes. Cada hash de la muestra es usada para buscar hashes coincidentes en la
base de datos y por cada hash coincidente encontrado en la base de datos, los
correspondientes offsets desde el inicio de la muestra y los archivos de la base de
datos estn asociados en parejas en el tiempo. Las parejas en el tiempo estn
distribuidas en contenedores (tablas hash) de acuerdo al ID de la pista asociado

53

con el hash coincidente en la base de datos. Si los archivos coinciden, las


funciones de comparacin deben ocurrir en offsets relativamente similares.
Figura 27. Almacenamiento de huellas digitales.

Mediante un algoritmo de regresin se comparan los tiempos correspondientes de


las coincidencias entre las huellas digitales de la base de datos los archivos con
los audios capturados. Los tiempos correspondientes de las coincidencias entre
los archivos relacionados tienen la siguiente relacin:

Donde

tk

es la coordenada de tiempo del archivo de la base de datos, y

tk

es la coordenada de tiempo correspondiente a la funcin del archivo de muestra a


t
t
ser identificado. Para cada coordenada ( k , k ) en el mapa de
constelaciones, calculamos la distancia de corrimiento (offset) con la siguiente
relacin:

54

Este proceso podra ser muy dispendioso sin el uso de las funciones Hash, pues
este permite una bsqueda muy rpida a travs de un listado de datos. De esta
manera y despus de cotejados los datos, el sistema arroja como salida la
coincidencia con menor tiempo de corrimiento entre pico de anlisis encontrada en
la base de datos con respecto a la seal capturada.
Considerando que cuando se obtiene la mayor coincidencia en la comparacin de
huellas digitales se requiere visualizar informacin relevante que gira en torno al
archivo de audio, como por ejemplo, nombre de la cancin, nombre del artista,
gnero musical, enlace a perfil pblico, entre otros. Para ello, el recurso ms
eficiente para organizar este tipo de informacin es implementar una base de
datos que permita organizar la informacin de todos los artistas en un arreglo de
filas y columnas asignadas a una llave o id, para posterior llamar fragmento de
informacin a requerir en el mensaje de respuesta del sistema.
Al aplicar una funcin llamada Tabla Hash HaspMap sobre los vectores hashes,
se declara una llave que asigna un ID a las huellas digitales conforme se vayan
cargando en la base de datos.
En la Figura 28 se observa un caso de la asignacin de ID a cada vector hash que
representa una huella digital.
Figura 28. Tabla Hash de huellas digitales.

55

Este caso lo ilustra Wang de la siguiente manera: el patrn de puntos debe ser el
mismo para la comparacin en la muestra seleccionada. Para el anlisis de
coincidencias se plotean en sobre un grfico, el hash de la muestra tomada en un
eje y los hash de la base de datos sobre el otro eje. Este evento se puede
visualizar en la Figura 29 donde el mapa de constelaciones de la base de datos se
superpone con el mapa de constelaciones de una muestra de audio con la
finalidad de lograr coincidencias entre puntos conforme va transcurriendo el
tiempo. Una coincidencia es potencial cuando el grfico se visualiza una diagonal
o lnea recta con puntos superpuestos y otros con pocos tiempos de corrimiento.
Asi, cuando se localiza el tiempo apropiado y los dos mapas de constelaciones
estn alineados en el registro, como se muestra en la Figura 30, el sistema arroja
el ID de la mejor coincidencia de la huella digital de prueba con respecto a las
huellas de la base de datos.
Figura 29. Comparacin de tiempos de corrimiento entre hash de huella digital de
muestra vs hash de huella digital de base de datos: Sin coincidencias.

56

Figura 30. Comparacin de tiempos de corrimiento entre hash de huella digital de


muestra vs hash de huella digital de base de datos: Cin coincidencias.

4.1.1.2.1.

BIBLIOTECA MUSICAL

Para la evaluacin de este proyecto se defini almacenar una coleccin de 10


grabaciones al sistema para la extraccin de su huella digital. Es importante
resaltar que estas canciones fueron tomadas de la base de datos de artistas
vinculados a LASO en varios lugares del pas.
Tabla 1. Caracterizacin de biblioteca musical.

57

TRACK

CANCIN

ARTISTA

GNERO

DURACIN
(min)

Mirala

Alexis Play

Urbano alternativo

3:27

Mi Tumbao

Alexis Play

Urbano alternativo

3:16

Come Round

Elkin Robinson Old Providence Roots 3:27

Creole Vibrations

Elkin Robinson Old Providence Roots 5:26

Keep It Calm

Elkin Robinson Old Providence Roots 2:36

Ponindote a gozar Rancho Aparte Chirima

5:40

Despegate

Teo Rod

Electro-Champeta

4:14

Independencia

Teo Rod

Electro-Champeta

4:42

Mara y t

Teo Rod

Electro-Champeta

5:40

10

Pgate al beat

Teo Rod

Electro-Champeta

3:47

4.1.1.2.2.
RESULTADO
4.2. DESARROLLO DE APLICACIN MVIL
4.2.1. ENTORNO DE PROGRAMACIN
El principal factor a tener en cuenta a la hora de comenzar a desarrollar una
aplicacin, es definir el lenguaje de programacin y el entorno de desarrollo
integrado (IDE) en el cual se va a trabajar, debido a que existen protocolos que
poseen distintas caractersticas de uso: algunos con propiedades muy amplias y
otros ms especficos. Para el objeto de esta investigacin nos enfocaremos en
utilizar un IDE que permita programar para tecnologas Android.
A pesar de que existe una diversidad de lenguajes para crear aplicaciones, el
lenguaje de predileccin y ms usado en el mundo es el lenguaje orientado a
objetos Java, debido a que este lenguaje se acopla a mltiples IDE y sistemas
operativos. Esto hace que Java sea un lenguaje muy verstil y de fcil
acoplamiento de libreras y extensiones. Adems de esto, Java ofrece
herramientas para crear programas multiplataforma.
Java consta de dos componentes muy importantes: Java Runtime Environment
(JRE) y Java Development Kit (JDK). La diferencia entre estos radica en que el
JRE es un software que se encarga de ejecutar aplicaciones escritas en Java,

58

mientras que el JDK es un software que se encarga de aplicaciones en el lenguaje


Java. En este sentido, es importante mencionar que el JDK entre sus
caractersticas contiene el funcionamiento del JRE, lo que ya nos dice que a travs
del JDK podemos tanto crear como ejecutar aplicaciones.
Existen varias versiones del JDK, la versin actual es corresponde al JDK 1.8. Sin
embargo, Android soporta sus libreras hasta la versin JDK 1.7, razn por la cual
vamos a hacer uso de esta.
Figura xx. Entorno de desarrollo Java.

Sobre las bases e ideas expuestas, para el desarrollo de la aplicacin mvil


Lasopedia se eligi, en principio, el IDE libre para lenguaje Java Netbeans por la
facilidad que ofrece en el acoplamiento de libreras y plugins, adems de tener un
diseo intuitivo para la programacin sobre objetos. Sin embargo, se presentaron
dificultades en la instalacin del SDK de Android para este IDE, llevndonos as a
un desarrollo final de la aplicacin en Eclipse ADT Bunde, el cual es especializado
al desarrollo de aplicaciones para Android ya que viene con el SDK incluido en el
paquete de instalacin.
A diferencia de lenguajes especficos para operaciones matemticas como por
ejemplo Matlab, en java se deben definir las funciones a utilizar con detalle. Esto

59

puede generar la desventaja de hacer el cdigo extenso, pero ofrece la ventaja de


estructurar y organizar el proyecto en secciones o bloques, denominados clases.
Una clase es una representacin que define un compilado de datos y objetos que
especifican qu propiedades y operaciones se van a ejecutar dentro de ella. Estas
operaciones se definen en mtodos y funciones, los cuales agrupan un conjunto
de instrucciones definidas que realizan una determinada tarea, las cuales se
pueden reutilizar invocando mediante un nombre en cualquier parte del cdigo.
A continuacin se presenta el diagrama de flujo del algoritmo implementado.
explicaremos el algoritmo
Figura #. Diagrama de clases Netbeans.

60

Complex Contiene los mtodos matemticos para la generacin de formas de


onda.
DataPoint Se define el identificador de las canciones.
FFT Contiene la los mtodos utilizados para la extraccin de la transformada de
Fourier.
Reconocedor Esta clase contiene el procedimiento de music information retrieval.
Interface Es la clase que grafica la ventana de visualizacin de la aplicacin.
Es importante resaltar que las clases Complex 16, FFT17, Espectrograma y otras de
este tipo pueden encontrarse en pginas y bases de datos de programacin en
internet, lo cual ayuda a ahorrar trabajo en la elaboracin del cdigo.
4.3 DESARROLLO DE APLICACIN MVIL EN ANDROID
El siguiente paso en el desarrollo fue utilizar el algoritmo una vez probado en
Netbeans para crear una aplicacin mvil para Android en el IDE de Eclipse, con
una interfaz de usuario grfica que, adems de reconocer o Lasear (como hemos
denominado el proceso de reconocimiento) la cancin y el artista de esta,
almacena en una base de datos online gratuita llamada PARSE el perfil del
usuario. Tambin brinda informacin acerca de la aplicacin y proporciona un
enlace a la pgina www.emprendimientocultural.org del ministerio de cultura al
cual pretende afectar este proyecto.
Diagrama de flujo del aplicativo

16 Fuente: http://introcs.cs.princeton.edu/java/97data/Complex.java.html
17 Fuente: http://introcs.cs.princeton.edu/java/97data/FFT.java.html

61

Figura#
Al ejecutar la aplicacin inicia con el mtodo OnCreate(), este mtodo contiene el
estado de la accin anterior en caso de que sea suspendida, por ejemplo, en el
caso en el que el usuario est realizando otra actividad en el telfono. Una vez el
usuario presione el botn de Lasear se ejecuta el mtodo OnRecord() donde pasa
a la decisin de Start, la cual si es verdadera inicia la grabacin mediante el
mtodo StartRecording() donde la variable recording se vuelve verdadera y
empieza a grabar el audio a travs del microfono del telefono. Luego ejecuta la
funcin AudioRecord() donde almacena el audio en un vector numrico y convierte
la variable Start a False encaminando el proceso al siguiente mtodo
StopRecording() para detener la grabacin y luego ejecutar las siguientes
funciones: guardascancion(), tofreqdomain() y determinekeypoints(), los cuales
almacenan temporalmente la cancin, extraen la huella digital y determinar los
puntos claves del audio respectivamente. Una vez concluido este proceso
contina con el mtodo IsMatching() donde efecta la comparacin de las huellas
para determinar una similitud. Si la comparacin es negativa el sistema lo indica
y termina el proceso. En caso contrario siendo verdadera, el sistema verifica la
identidad del mejor resultado (BestSong) y lo muestra a travs de funcin

62

Dialogfragment, entregando el nombre de la cancin y el nombre del artista.


Finalmente se convierte a False la variable Recording y termina el proceso.
Figura

4.3. DISEO DEL SISTEMA DE MEDICIN


Para validar la eficiencia del acierto de la aplicacin mvil se estableci un
protocolo de medicin teniendo en cuenta como parmetro principal el factor de
relacin seal-ruido debido a que presenta la caracterstica de modificar la
inteligibilidad de una grabacin con respecto a un espacio de escucha. En este
sentido, el algoritmo de Wang arroj resultados contundentes en la resistencia al
ruido ocasionado por fuentes como conversaciones, trfico rodado, aglomeracin
de personas, debido a su fuerte comportamiento en la generacin de hashes. El
autor afirma que una seal que es expuesta a un ambiente con considerables
cantidades de ruido, es capaz de identificar canciones con la generacin entre el
1-2% de hashes sobre el mapa de constelaciones. En la Figura xx. Se muestra la
grfica obtenida por Wang del % de acierto vs. Relacin seal-ruido para 3
diferentes tiempos de grabacin 15, 10 y 5 segundos, la cual fue nuestro referente
para determinar el porcentaje de efectividad en el reconocimiento de canciones
por similitud de audio. Ntese que para este caso, el autor obtuvo un 50% de

63

acierto para una relacin seal-ruido entre -9 y -3 dB en los diferentes tiempos de


grabacin, es decir, la seal contena menor nivel de potencia sonora que el ruido
presente en el lugar. Luego de esto, cuando la seal a grabar iguala y supera el
nivel del ruido, los resultados mejoran en el orden de 90% a 100%.
Figura xx. Porcentaje de acierto vs. relacin seal-ruido obtenido por Wang.

Para nuestro caso, se plante un sistema de medicin tomando como referencia la


grilla de la Figura xx. Se colocaron a prueba 10 canciones grabadas en segmentos
de 15 y 10 segundos respectivamente, en donde se tomaron 5 muestras por cada
nivel de relacin seal-ruido, completando 220 muestras bajo presencia de la
simulacin de una fuente de ruido (ruido ambiental) dentro del Estudio 5.1 de la
Universidad de San Buenaventura. Se verific que el sistema de reproduccin
estuviera calibrado a 0 dB y que el nivel de presin sonora fuera el mismo para
todas las fuentes. La seal de prueba se reprodujo va estreo, mientras que la
fuente de ruido se reprodujo va mono. La distancia del receptor (dispositivo mvil)
a la fuente que reproduce la cancin a comparar fue de 2m y la distancia entre la
fuente de seal y ruido fue de 1m.

64

Los resultados obtenidos se exponen en el captulo siguiente.


4.4. IMPLEMENTACIN EN GOOGLE PLAY
Para disponer la aplicacin enlaso a los usuarios se ha utilizado la plataforma de
descarga de Google Play, debido a que esta es la tienda virtual que Google Inc
utiliza para la distribucin de aplicaciones desarrolladas en Android.
Lo primero que se tiene que hacer es elegir una cuenta de Google con la cual se
administrarn las aplicaciones desarrolladas. Luego accederemos a Google Play
Developer Console para convertir la cuenta de Google escogida en una cuenta
de desarrolladores.
Figura xx. Seleccin de cuenta para desarrollador en Google Play

65

Es importante mencionar que para ser oficialmente distribuidores de aplicaciones


en Google Play se realizar un pago una nica vez de 25 dlares lo cual cubre la
membresa en este sitio. Al completar el pago, podemos entrar en nuestra cuenta
de Google Play Developer Console y navegar a travs las funciones que se
ofrecen.
Al lado izquierdo de la pantalla aparece el men de gestin de recursos e
informacin, en el cual aparecen las siguientes opciones:

Listado de nuestras aplicaciones


Servicios para Google Play Games
Informes de nuestros beneficios
Configuracin
Alertas
Anuncios
Figura xx. Pantalla de inicio de Google Play Developer Console.

Para aadir una nueva aplicacin a Google Play, basta con que le demos al botn
Add new application y nos llevar a un dilogo donde deberemos escoger el
lenguaje por defecto de la aplicacin y el ttulo:
Figura xx. Definicin del ttulo y el lenguaje de la aplicacin

66

Una vez aqu, se nos abrir toda la informacin sobre la aplicacin. Publicar es
realmente sencillo: seleccionamos Upload APK y seguido a esto basta con ir
siguiendo los pasos que nos encontramos a la izquierda:
Figura xx. Paso a paso cargar aplicacin Lasopedia a Google Play

67

Se debe subir el archivo ejecutable de la aplicacin mvil que se encuentra en


formato .APK. Ahora pasamos a Store Listing, donde rellenaremos la descripcin,
texto de promocin, pantallazos para diferentes tamaos de pantalla, icono de la
aplicacin, la categora de la aplicacin, datos de contacto, poltica de privacidad
propia, entre otras cosas. En la seccin Pricing & Distribution, donde elegiremos
los pases donde queremos que la aplicacin est disponible, as como si ser
gratis o de pago.

De esta manera ya tenemos nuestra aplicacin mvil Lasopedia almacenada en el


servidor de Google Play. Basta con cambiar el estado Borrador a activado para
publicar la aplicacin mvil.
5. PRESENTACIN Y ANLISIS DE RESULTADOS

6. CONCLUSIONES

7. RECOMENDACIONES
Aunque en la actualidad se han desarrollado mltiples herramientas y aplicaciones
sobre este tema, la Recuperacin de Informacin Musical (MIR) todava sigue

68

siendo un rea emergente de investigacin, por lo tanto, en la carrera de


Ingeniera de Sonido se deben reforzar e innovar en los mdulos de lenguajes de
programacin y electrnica digital, para as poder adherir nuevas reas de este
saber que estn tomando fuerza en el desarrollo de tecnologas de vanguardia,
tales como, las ciencias computacionales (Computer Science) y las tecnologas
enfocadas al arte (Arts & Technologies).
Para estudios futuros se recomienda implementar otros tipos de sistemas de MIR,
como por ejemplo algoritmos para identificacin de meloda, armona, timbre,
ritmo, tarareo, entre otras.
Como ltima observacin, es necesario que entre la facultad y los estudiantes
exista un pacto por el crecimiento de las tecnologas que se desarrollan, es por
esto que los proyectos a abordar deben contener un componente marcado en
emprendimiento. Esto quiere decir que los estudiantes deberan enfocar sus
proyectos de investigacin hacia el desarrollo empresarial y social, con la finalidad
de que la Ingeniera de Sonido adquiera visibilidad y protagonismo en el mbito
laboral de la regin, aportando a la generacin de empleo y la capacidad de
enriquecer y mejorar muchas plataformas, instituciones y tecnologas relacionadas
con el audio y el sonido.
8. BIBLIOGRAFA
[] LIZARRAGA, X. Evaluacin y mejora de la invarianza al timbre de descriptores
tonales para el uso efectivo en aplicaciones musicales.Trabajo Final de Grado.
Escuela Superior Politcnica Universitat Pompeu Fabra, Barcelona, 2013.
[] HERNNDEZ, S; COLLADO, C; BAPTISTA, P. Metodologa de la investigacin.
Mxico, 2010, McGraw Hill, Quinta Edicin.
[] ZAPATA, Johan. Desarrollo de Aplicaciones de Comunicacin entre Dispositivos
Mviles basados en Sistemas Operativos Android. Trabajo Final de Grado.
Universidad de San Buenaventura, Medelln, 2013.

69

[] DOWNIE, J. Music information retrieval (Chapter 7). In Annual Review of


Information Science and Technology 37, ed. Blaise Cronin, 295-340. Medford, NJ:
Information Today, 2003.
[] TSUNOO, E; G. Tzanetakis, N. Ono and S. Sagayama. Audio Genre
Classification Using Percussive Pattern Clustering Combinated With Timbral
Features. Graduate School of Information Science and Technology, The University
of Tokyo, Japan.
[] GMEZ, L. SOSSA, Humberto, BARRN, Ricardo. CUEVAS, Francisco.
JIMENEZ, Julio. Comparacin de Representaciones Intervlicas Hansonianas
para Recuperacin de Informacin Musical, Revista Iberoamericana de
Inteligencia Artificial, No.34 (2007), pp. 7-15.
[] MAHER, R. An Approach for the Separation of Voices in Composite Musical
Signals, University of Illinois, IL, USA, 1989.
[] DOWLAND, S. Computer Tools for Music Information Retrieval, Oxford, New
College, UK, 1988.
[] MOORER, J. On the Segmentation and Analysis of Continuous Musical Sound
by Digital Computer, Stanford University, CA, USA, July 1975.
[] CANO, P; BATLLE, E; KALKER, T. and HAITSMA, J. A Review of Algorithms for
Audio Fingerprinting. Universitat Pompeu Fabra, Barcelona. Philips Research
Eindhoven, Eindhoven.
[] LPEZ, E; ROCAMORA, M and SOSA, G. Bsqueda de Msica por Tarareo.
2004, Proyecto de Grado. Universidad de la Repblica Oriental del Uruguay.
[] MOJICA, J. Perfil Profesional del Gestor Cultural en Colombia: Competencias
para la Gestin Cultural en el Siglo XXI. 2011, Trabajo de Grado. Universidad
Colegio Mayor Nuestra Seora del Rosario.
[] OPPENHEIM, A., WILLSKY, A. and HAMID, S. (1997). Signal and Systems. 2da Edicin.

70

[] WANG, A. An Industrial-Strength Audio Search Algorithm

[] Briceo Marquez, Jos E. Principios de las comunicaciones.


[] Procesamiento Digital de Seales.Notas de Clase. Dr. Jos Pablo Alvarado
Moya. Escuela de Ingenieraa Electrnica, Tecnolgico de Costa Rica, Versi
on de 28 de julio de 2011.
[] DISEO Y CONSTRUCCIN DE UN SISTEMA DE REVERBERACIN
ASISTIDA PARA UNA SALA PEQUEA, LUIS ANDRS CAMARGO BOJAC
FELIPE TAVERA DAZA, UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERA INGENIERA DE SONIDO Bogot 2011
[] MEDINA SNCHEZ, Juan Manuel, Diseo y construccin de sistemas
electrnicos virtuales para el procesamiento y la generacin de seal musical
en tiempo real, soportados como plugins vst: vocoder de fase y reverberador
digital.24 de Noviembre.
[] Morn, Jos. Seales y Sistemas. Universidad Rafael Urdaneta. 2011.
[] MITRA, K. SANJIT. Digital Signal Processing: A computer-Based Approach.
[] The Fast Fourier Transform and its Applications, E. Oran Brigham.

9. ANEXOS

10. GLOSARIO
DSP: (Digital Signal Processor).
FFT: (Fast Fourier Transform). Transformada de Fourier rpida. Mtodo
computacional eficiente para estimar el espectro frecuencial de una seal.
IDE: (Integrated Development Environment). Entorno de desarrollo integrado.

71

ISMIR: International Symposium of Music Information Retrieval.


LASO: Laboratorios Sociales de Cultura y Emprendimiento del Ministerio de
Cultura de Colombia.
MIR: Music Information Retrieval.
MIREX: Music Information Retrieval Evaluation eXchange.
STFT: Short-Time Fourier Transform.
TIC: Tecnologas de la Informacin y las Comunicaciones.

COLECCIN MUSICAL
BASE DE DATOS DE ESPECTROGRAMAS
Figura 31. Huella digital acstica: Come Round - Elkin Robinson.

Figura 32. Huella digital acstica: Creole Vibration - Elkin Robinson.

72

Figura 33. Huella digital acstica: Keep It Calm - Elkin Robinson.

Figura 34. Huella digital acstica: Mi Tumbao - Alexis Play.

73

Figura 35. Huella digital acstica: Mrala - Alexis Play.

Figura 36. Huella digital acstica: Ponindote a Gozar - Alexis Play.

74

En un principio se pensaba que la comparacin de las huellas digitales de audio


se haca a travs de la comparacin de las imgenes de espectrograma. Sin
embargo, en el desarrollo de la metodologa se dedujo que esta apreciacin no era
la acertada. La base de datos que se debe generar es sobre los hashes de cada
cancin que se desprenden de los espectrogramas.
se cumple el objetivo 1
DESARROLLO DE APLICACIN MVIL

PROTOCOLO DE INTERCOMUNICACIN Y TRANSFERENCIA DE DATOS


A la hora de implementar el cdigo de programacin en la plataforma Android
Studio, el porcentaje de aciertos baj considerablemente en su efectividad con
respecto a la implementacin en Netbeans, esto se debe a que los recursos de
memoria y procesamiento de Android son limitados, y ms si se habla de
algoritmos que ejecutan una cantidad considerable de procesos simultneos,
como lo es el audio digital. En el caso de Netbeans, la efectividad de acierto es

75

alta porque al ser un entorno de desarrollo integrado (IDE), la capacidad de


procesamiento es suficiente para el funcionamiento de este y muchos otros tipos
de aplicaciones.
La posibilidad del uso de mquinas virtuales creadas en servidores en la red ha
permitido un uso optimizado de las capacidades de procesamiento de las
aplicaciones y muchos otros elementos que deben usar procesos largos que
deben disponer de una alta capacidad en mquina fsica que puedan llevar a cabo
estas operaciones.
Al evaluar estas caractersticas de los sistemas, el funcionamiento ideal que se
estableci para que el procesamiento de datos sea ptimo, fue desarrollar una
aplicacin mvil que captura una grabacin de sonido y almacena un vector de
audio. Paralelo a esto, depuramos la programacin en Netbeans dejando
nicamente el bloque de procesamiento y reconocimiento de archivos de audio. La
lgica del anterior diseo radica en que existen protocolos de intercomunicacin
que permite conectar y sincronizar dispositivos (Cliente) con mquinas virtuales en
un servidor18, a travs de los cuales se pueden enviar, procesar y recibir datos.

que contenga instalado la programacin Netbeans para realizar el procesamiento


de la informacin en ese entorno, luego obtener el resultado y finalmente enviar la
respuesta para visualizarla de nuevo en la aplicacin mvil.
Este mecanismo de funcionamiento es el que presentan la mayora de
aplicaciones y servicios que ofrece el mundo de las telecomunicaciones en la
actualidad, debido a que las tecnologas digitales permiten establecer mtodos de
transferencia de datos entre varios dispositivos interconectados a travs de una
red.
Figura #. Topologa de red.
18 Un servidor es un ordenador o mquina informtica que est al servicio de otras mquinas,
ordenadores o personas llamadas clientes y que le suministran a estos, todo tipo de informacin.

76

Fuente: Autores
El servidor que proporcion este servicio ha sido www.amazon.com a travs de su
servicio AWS (Amazon Web Service) en el cual se cre una maquina virtual con
los requerimientos necesarios para la instalacin del archivo ejecutable de la
aplicacin que se encague de sustraer la huella digital acstica de los audios
capturados y enviados desde la aplicacin mvil en Android, y devolviendo a esta
el resultado del proceso de comparacin con la base de datos. Este modelo
mejora el funcionamiento del sistema debido que se libera espacio y
procesamiento en el dispositivo mvil.
El servicio gratuito de AWS dispone de las siguientes caractersticas: 1 GB de
memoria, 30 GB de disco duro, sistema operativo Windows Server 8.0 2R. Estas
caractersticas fueron suficientes para los requerimientos de funcionamiento.
Esta comunicacin se lleva a cabo a travs del protocolo TCP, y mediante la
creacin de ServerSockets el servidor es capaz de recibir y enviar informacin al
cliente cuando este lo requiera.

77

seguir

4.3.2 DESARROLLO DE INTERFAZ GRFICA


La interfaz grfica que se ha creado para esta aplicacin consta de varias pginas
que te permiten navegar a travs de esta. Al iniciar la aplicacin por primera vez
debes crear un perfil de usuario para poder usar la aplicacin.

78

79

80

Figura#

Figura#

En la figura# se pide el ingreso o el registro en caso de no haberlo hecho


anteriormente, mediante dos botones de accin y campos de texto para el ingreso
del nombre del usuario y su respectiva contrasea.
En la figura# vemos el men para el registro de un nuevo usuario, para el cual se
le solicita un nombre, un correo electrnico y una contrasea, adems de un tipo
de usuario que discrimina msicos, productores, managers y aficionado.
Finalmente terminamos este proceso mediante el botn Registrarse.
Esta base de datos se construye dinmicamente mediante el envo de esta
informacin a un servidor llamado Parse (www.parse.com) el cual permite el
manejo de la informacin obtenida en el Front-end de la aplicacin organizndola
en una tabla no-SQL mediante la creacin de una clase que contiene el mtodo el
objeto ParseObject(), donde de manera simple podemos ordenar la informacin
entrante.

81

figura#
Fuente: www.parse.com
El servicio de Parse.com proporciona las lneas de cdigo y la informacin
necesaria para el uso de este mediante una aplicacin mvil android.
Despus del ingreso de identificacin a la aplicacin nos encontramos con la
pgina de inicio, que contiene en su parte central el logotipo del proyecto Laso
dispuesto como un botn para iniciar el proceso de Laseo.

82

Figura#
En esta tambin encontramos en la parte superior un botn de informacin y un
men desplegable que brinda opciones como cerrar sesin, acerca de, y volver a
inicio.

Figura#

83

Por ltimo se diseo la ventana de resultado que debe arrojar la aplicacin al


Lasear, el cual muestra informacin como el nombre de la cancin y del artista.

Figura#

84

85

Potrebbero piacerti anche