Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Nota de Aceptacin
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
Firma del Presidente del Jurado
________________________________
Firma del Jurado
________________________________
Firma del Jurado
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
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.
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.
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
12
13
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
1.4. OBJETIVOS
1.4.1. OBJETIVO GENERAL
Crear una base datos compuesta por los espectrogramas de las canciones
a utilizar en la aplicacin.
16
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.2. LIMITACIONES
17
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
19
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
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
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
MODULACIN
CONVOLUCIN
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
TRANSFORMADA DE FOURIER
H(f)=
h(t )e ( j 2 ft) dt
24
25
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
2.1.1.8.
ESPECTROGRAMA
27
28
FUNCIONES HASH
29
Fuente:
2.1.2.3.
TABLAS HASH
30
31
2.1.3.1.
ARQUITECTURA DE ANDROID
32
APLICACIONES
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
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.
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
35
d. Algoritmo de bsqueda
- Comparacin de huellas digitales.
e.
-
f. Validacin de la eficiencia
36
37
38
Fuente:
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
4.1.1.1.1.
PREPROCESAMIENTO
42
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.
VENTANEO Y SOLAPAMIENTO
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.
45
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.
47
48
Fuente: Autores
4.1.1.1.5.
49
50
51
t [s]
84.05
1.024
125.8
2.241
250.4
4.55
610.79
10.2
52
4.1.1.2.
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
Donde
tk
tk
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
4.1.1.2.1.
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
Creole Vibrations
Keep It Calm
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
59
60
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
63
64
65
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
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
69
70
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
COLECCIN MUSICAL
BASE DE DATOS DE ESPECTROGRAMAS
Figura 31. Huella digital acstica: Come Round - Elkin Robinson.
72
73
74
75
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
78
79
80
Figura#
Figura#
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
Figura#
84
85