Está en la página 1de 90

Universidad Austral de Chile

Facultad de Ciencias de la Ingeniería


Escuela de Graduados

Profesores Patrocinantes:
Dr. Víctor Poblete Ramírez
Instituto de Acústica, UACh
Dr. Pablo Huijse Heise
Instituto de Informática, UACh
Profesor Informante:
Dr. Fernando Huenupán Quinán
Departamento de Ingeniería Eléctrica, UFRO

APLICACIÓN DE REDES NEURONALES PROFUNDAS EN


RECONOCIMIENTO AUTOMÁTICO DE ACORDES MUSICALES

Tesis para la Obtención del Grado Académico de


Magíster en Acústica y Vibraciones

Luis Alvarado Portilla


6 de mayo de 2020
Índice

1 Introducción 6
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Instrumentación Utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 La Música y su Representación 11
2.1 Acordes musicales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Cromagramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Recuperación de Información Musical 15


3.1 Un Poco de Historia MIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Subáreas MIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Detección de acordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Redes Neuronales y Aprendizaje Profundo 20


4.1 Inteligencia Artificial y Aprendizaje de Máquinas . . . . . . . . . . . . . . . . . . . . 20
4.2 Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.1 Perceptrones y Capas Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.2 Redes Neuronales Profundas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.3 Entrenamiento de las Redes Neuronales . . . . . . . . . . . . . . . . . . . . . 24
4.2.4 Sobreajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5 Desarrollo del Proyecto 29


5.1 Sistema de Reconocimiento Automático de Acordes Musicales . . . . . . . . . . . 30
5.2 Base de Datos y Etiquetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 Preprocesamiento de las señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4 Distribución de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

1
2

5.5.1 Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.2 Fase de Prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.6 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.7 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.7.1 Resultados Evaluación de la Base de Prueba . . . . . . . . . . . . . . . . . . 41
5.7.2 Resultados Evaluación MIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.7.3 Resultados con canciones fuera de la base de datos . . . . . . . . . . . . . . 49

6 Conclusiones y Discusión del Proyecto 52


6.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2 Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

A Resultados de los Experimentos 59

Universidad Austral de Chile


Agradecimientos

En estas primeras líneas quisiera tomarme el tiempo de agradecer a todas las personas que
me han acompañado en esta etapa. Ha sido ya un buen tiempo que inicié este camino y la
verdad no tengo idea en qué va a terminar, aunque tampoco es esa una pregunta que tenga en
mi mente.

Primero que todo agradecer a mi familia por el tremendo apoyo que me han dado. A mis
padres, Rosa y Bernardo que se la jugaron por darme la mejor educación que pudieron y abrirme
camino a un sendero que no tiene fin aún.

A mis profesores del Laboratorio de Señales, Dr. Víctor Poblete y Dr. Pablo Huijse, quienes
con excelente voluntad y cariño por lo que hacen, de a poco han ido armando un equipo de
trabajo increíble y que espero que siga así por mucho tiempo. A mis compañeros de labora-
torio Yetzabeth, Víctor y Diego que son tremendas personas y me han apoyado mucho en este
trabajo. A Isaac, Janio y Juan Pablo, compañeros del Magíster que también trabajaron en el
laboratorio y me han ayudado enormemente.

A mis amigues gracias por la paciencia y el apañe todo este tiempo: Coni, Danu, Jorge, Juan,
Fran, Nacho, Nano, Nicole, Rafael, Raúl y Roberto.

A la gente de este país que se levantó exigiendo dignidad. Gracias.

Dedicado a Florencia, Josefa, Martín y Sabka.


Resumen

Este trabajo trata del diseño e implemención de un sistema de reconocimiento automático de


acordes basado en DNN (acrónimo de Deep Neural Networks, en español Redes Neuronales
Profundas). La entrada correspondió a un subconjunto de la base de datos Isophonics, amplia-
mente utilizada en las tareas de la comunidad de la Recuperación de Información Musical MIR
(por Music Information Retrieval) de estimación de acordes. La DNN utilizada fue una red de
tres capas ocultas, del tipo completamente conectada y prealimentada. La salida correspondió
a un etiquetado de acordes hecho por el sistema implementado. Se evaluó el desempeño del
sistema con: (1) una base de datos de prueba y (2) con el sistema de evaluación MIR. Re-
specto del modelo, la entrada consiste en una ventana temporal del espectrograma de cuarto
de tono de una canción y la salida es la clase de acorde a la que corresponde. Los acordes
del trabajo están acotados a la nota fundamental root y de mayores y menores maj/min, in-
cluyendo a la clase N que se refiere a tiempos donde no hay acordes. Los resultados se expresan
usando matriz de confusión y una propuesta matriz de confusión para acordes musicales con
el fin de considerar errores del sistema dadas razones armónicas y de progresiones musicales
que ocurren en la música pop occidental. Los mejores resultados del modelo se presentan con
512 neuronas por capa oculta y entre 7 y 9 ventanas de contexto (650 y 836 ms de contexto),
con valores sobre el 94% de precisión en las métricas evaluadas y sobre el 92% en todas las
clases de acorde. Cabe señalar que al estar las clases de acordes desbalanceadas en la base
de datos, el sistema realiza previamente una distribución proporcional a las muestras de cada
clase de la totalidad de la base de datos, a las bases de entrenamiento, validación y prueba.
Por último, se evaluó el desempeño del modelo utilizando cuatro canciones no observadas du-
rante el entrenamiento, dando cuenta que el modelo es capaz de generalizar el problema de
reconocimiento de acordes. Algunos aspectos para mejorar en futuras investigaciones incluyen
contar con una mayor base de datos e implementar algunas técnicas de aumentación de data.
Con más datos sería posible aumentar las clases de acordes buscadas, incorporando al menos
a los aumentados, disminuidos, suspendidos y de séptima.
Abstract

This work is about the design and implementation of a Deep Neural Network (DNN) based
automatic chord estimation system. The input was a subset of the Isophonic dataset, broadly
used in Music Information Retrieval (MIR) chord estimation tasks. The DNN used was a Fully
Connected Feed-Forward Network with three hidden layers. The output was the chord labeling.
The performance of the system was evaluated using (1): only the test set; and (2): the whole
dataset for MIR evaluation mir_eval. Now, from the point of view of the model, the input is
a frame from the quarter-tone spectrogram of a song and the output is the chord class of that
frame. The MIR chord estimation tasks followed by this work are the fundamental note (root)
and the major and minor (maj/min) chords, including the no-chord (N) case. The results are
expressed using a confusion matrix and a proposed confusion matrix for music chords intended
to consider possible mistakes done from the system related to harmony and western-pop music
progressions. The best results of the model are presented in the case of 512 neurons per hidden
layer and between 7 and 9 context frames (650 y 836 ms of context), with accuracy precision
values above 94% in the evaluated metrics, and above 92% in every chord class. It is worth
noticing that the chord class were unbalanced in the dataset, so the implemented system firstly
distributes the samples proportionally based on the amount of samples for each chords class to
the train, validation and test sets. Finally, the model was tested using four songs that were not
observed during training, showing that the model is capable to generalize the chord estimation
task. Some aspects to improve in future research include increasing the dataset and imple-
menting data augmentation techniques. With more data, increasing the chord classes would
be possible, adding the augmented, diminished, suspended and 7th chords.
Capítulo 1

Introducción

1.1 Introducción
Las redes neuronales artificiales han sido uno de los métodos de aprendizaje de máquinas con
mayor desarrollo desde la introducción del perceptrón por McCulloch y Pitts en 1943 y su
resurgimiento a fines de la década de 2010, dados los agigantados pasos en el desarrollo del
hardware y la mayor disponibilidad de datos. Los resultados en tareas de reconocimiento de pa-
trones mediante redes neuronales profundas (DNN por Deep Neural Networks) han sobrepasado
de manera significativa las tasas de acierto en comparación con los sistemas de reconocimiento
del momento e incluso llegando a superar capacidades humanas [He et al., 2015].
En el caso del audio, se ha probado esta metodología en tareas de reconocimiento de voz y
de locutor [Hinton et al., 2012], así como una variedad tareas de Recuperación de Informa-
ción Musical (MIR), por ejemplo en detección de instrumento predominante en música po-
lifónica [Han et al., 2017] y clasificación de géneros musicales [Choi et al., 2016], entre otros.
En la subárea MIR de reconocimiento de acordes, [Korzeniowski and Widmer, 2016] probaron
la metodología mediante el sistema de las cromagramas: representación en clases de altura
tonal versus tiempo de una señal musical, como se ilustra en la figura 2.1.

1.2 Justificación
[Korzeniowski and Widmer, 2016] realizaron un experimiento de reconocimiento automático
de acordes por cromagramas, mediante el uso de DNN. El experimento resultó -cumpliendo
las expectativas de los autores- en una notable mejora en las tasas de reconocimiento, con re-
specto a la línea de base. En aquel trabajo la DNN actúa como extractor de características, cuya
salida son las mencionadas cromagramas. La red utilizada por los investigadores fue una red
multicapa completamente conectada de tres capas ocultas, cuyas entradas consisten en un es-
pectrograma de cuarto de tono. Los resultados mostraron que el modelo fue capaz de producir
vectores croma de superior calidad frente a las técnicas conocidas hasta el momento. Aquel

6
1.3. OBJETIVO GENERAL 7

trabajo se enfocó en la extracción de características y no en la clasificación de acordes propi-


amente tal. El trabajo que se presenta a continuación, en cambio, no trata la extracción de
características, sino que utiliza las DNN directamente como clasificador de acordes.

Considerando los avances tecnológicos y el papel relevante que han tomado las DNN en ese
sentido, es también propósito de este trabajo dar el primer paso para trabajar con este modelo
de aprendizaje de máquinas en el Laboratorio de Señales del Instituto de Acústica. Más allá
de responder preguntas del área de las ciencias computacionales, ese trabajo busca, mediante
prueba y error comprender y ser capaz de manejar un modelo que si bien en este trabajo es
de búsqueda musical, puede ser utilizado en prácticamente cualquier campo de aplicación en
Acústica y Vibraciones.

1.3 Objetivo General


Diseñar e implementar un sistema de reconocimiento automático de acordes musicales me-
diante redes neuronales profundas. El reconocimiento buscado se acota al problema de nota
fundamental root y acordes mayores y menores maj/min.

1.3.1 Objetivos Específicos


Para llevar a cabo el objetivo principal se desarrollarán diversos objetivos específicos:

1) A partir de una base de datos utilizada comúnmente en tareas de reconocimiento de acordes,


dividirla en conjunto de entrenamiento, validación y prueba.

2) Implementar un código en Python, mediante entorno jupyter notebook para reconocimiento


automático de acordes musicales con DNN.

3) Evaluar el desempeño del modelo, variando número de neuronas por capa oculta y ven-
tanas de contexto con el fin de encontrar el mejor caso. La evaluación será mediante las
métricas f1-score general y por acorde musical, para la base de prueba y con el sistema
de evaluación mir_eval de la comunidad MIR [Raffel et al., 2014], para las tareas root y
maj/min.

4) Analizar los resultados generales, por canción y por álbum.

5) Etiquetar canciones fuera de la base de datos a utilizar para entrenamiento, y evaluarlas


con el modelo entrenado para encontrar evidencia de generalización de reconocimiento de
acordes.

Universidad Austral de Chile


8

1.4 Metodología
El proyecto se realizó íntegramente en las instalaciones del Laboratorio de Procesamiento Digi-
tal de Señales del Instituto de Acústica en la Facultad de Ciencias de la Ingeniería, Universidad
Austral de Chile.

1) Obtención de la base de datos: Se obtiene la base de datos, correspondiente a los álbumes


de Carole King, Queen y The Beatles detallados en la tabla 5.1, que son parte de la base
de datos Isophonics, indicado en la competición MIREX 2019 de estimación de acordes1 .
Corresponden a ediciones específicas de aquellos álbumes, de tal forma que los tiempos
coincidan con el etiquetado de Isophonics.

2) Desarrollo de un código para la realización de experimentos con reconocimiento de


acordes por cromagramas mediante DNN: El sistema completo para reconocimiento de
acordes musicales será desarrollado en lenguaje Python, en el entorno jupyter notebook.
Se utilizarán las librerías librosa para preprocesamiento de audio; matplotlib, numpy y
scipy como librerías para cálculos matemáticos y gráficos, pandas para procesamiento y
distribución de datos y torch para implementación de la DNN y cálculo tensorial.
El desarrollo se divide en las siguientes secciones:

a) Distribución de la base de datos: A partir del hecho que no todas las clases de acordes
están distribuidos de igual forma, la base de datos obtenida junto a su etiquetado son
redistribuidos según aparición de acordes, de tal forma que el 70% de cada acorde
pertenezca al conjunto de entrenamiento, 20% al de validación y el 10% restante al
de prueba.
b) Espectrograma de cuarto de tono: Las señales de audio son transformadas a espectro-
grama de cuarto de tono, a partir de la multiplicación entre las ventanas temporales de
un espectrograma lineal con filtros triangulares centrados en un cuarto de tono musical,
siendo 147 los cuartos de tono implementados entre el cuarto de tono inferior a la nota
B1 ≈ 61.74 Hz y el cuarto de tono superior a B7 ≈ 3951.07 Hz. El espectrograma de
cuarto de tono resultante sirve como entrada a la red.
c) Red Neuronal Profunda (DNN): La DNN corresponde a una red neuronal multicapa
prealimentada, de tres capas ocultas, entrenada por descenso de gradiente con el opti-
mizador ADAM y con dropout en los casos que se permita, con el fin de evitar sobreajuste.
La entrada a la red corresponde a las ventanas contextuales de espectrograma de cuarto
de tono. La salida corresponde a la clase del acorde musical en su forma mayor/menor.

Las funciones de activación estarán dadas según la capa. Para las capas ocultas, la fun-
ción de activación sobre la unidad oculta corresponderá a la función rectificadora lineal
1
http://www.music-ir.org/mirex/wiki/2019:Audio_Chord_Estimation

Universidad Austral de Chile


1.4. METODOLOGÍA 9

hi (x) = ReLU(x) = max(0, x). Para la capa de salida, estará dada por la función softmax
e xi
y(x) = PK . La función ReLU, por su parte, se utilizará en las capas ocultas pues es
xj
j=1
e
más robusta al desvanecimiento del gradiente. La función softmax permitirá interpretar
la salida de la red como funciones de probabilidad.

A partir del error de entropía cruzada entre la salida del modelo junto a la salida deseada,
se entrenan los parámetros de la red, iterando este procedimiento hasta encontrar un
mínimo de error para el conjunto de validación, asegurando que éste sea mínimo ab-
soluto, implementando un criterio de detención del entrenamiento. Se almacenan los
parámetros al encontrar el mínimo error de validación.

3) Evaluación: El desempeño del modelo entrenado es evaluado por dos sistemas distintos:

a) Se evaluará el desempeño en el conjunto de datos de prueba usando el f1-score (im-


plementación de la librería sklearn) y matrices de confusión.
b) Se evaluará el desempeño en las tareas root y maj/min, con el parámetro de precisión
ponderada de acordes (weighted accuracy), para todo el conjunto de datos. Esto es, pues
el sistema de mir_eval requiere proveer de un archivo de etiquetas, tal como el indicado
por Isophonics (ver figura 5.2).

4) Fase de experimentos: Se realizan experimentos que consisten en la distribución de los


datos, entrenamiento de la red y la evaluación mediante las distintas métricas, para una
serie de casos, que comprenden la variación de número de neuronas por capa oculta y la
incorporación de ventanas de contexto:

• Número de neuronas en cada capa oculta: 128, 258 y 512.


• Ventanas de contexto: 1, 3, 5, 7 y 9, equivalentes a 92.93, 278.7, 464.47, 650.2 y
836.02 ms respectivamente.

5) Comparación de resultados: Se almacenan los resultados por caso y se comparan con el


fin de encontrar el mejor caso general. Así, además se puede realizar una comparación por
clase de acorde y por álbum musical, con el fin de analizar cómo mejora la clasificación.

6) Etiquetado y evaluación del modelo en otras canciones: El autor del presente trabajo
realiza el etiquetado de canciones fuera de la base de datos utilizada, con el objetivo de ver-
ificar si el modelo es capaz de generalizar el problema de reconocimiento de acordes y si las
mejoras al llegar al mejor caso también se reflejan en este caso. Aunque esto servirá única-
mente de evidencia de generalización, más que establecer un porcentaje de reconocimiento
en canciones externas al conjunto utilizado.

Universidad Austral de Chile


10

1.5 Instrumentación Utilizada


La instrumentación utilizada para el presente trabajo está conformada por:

• Computador de alto rendimiento con GPU NVIDIA GTX 1050.

• Sistema operativo Ubuntu 17.04 con CUDA 8.0.

• Álbumes musicales determinados por Isophonics (ver tabla 5.1).

• Lenguaje de programación Python con las librerías especificadas a continuación:

– librosa: librería de procesamiento de audio.


– matplotlib: librería que permite realizar gráficos.
– mir_eval: librería provista por la comunidad MIR para realizar evaluaciones con
los criterios acordados dicha comunidad.
– numpy: librería que permite realizar cálculos vectoriales y matriciales.
– pandas: librería que permite realizar análisis de datos.
– scipy: librería que permite realizar cálculos científicos.
– sklearn: librería que contiene modelos de aprendizaje de máquinas y permite eval-
uar sus desempeños.
– torch: librería optimizada para trabajar con redes neuronales y cálculos tensoriales.
Se utiliza el modo torch-gpu, que optimiza los cálculos con la unidad gráfica del
computador.

Además, se programará en el entorno jupyter notebook, que permite la visualización


de los datos de manera eficiente y por tanto es ampliamente utilizado en la comunidad
de las ciencias de la información.

• Software Sonic Visualiser, el cual permitirá realizar el etiquetado de canciones que estén
fuera de la base de datos. También permitirá realizar un análisis del reconocimiento de
acordes del modelo.

Universidad Austral de Chile


Capítulo 2

La Música y su Representación

Destacando únicamente aquellas definiciones que involucren un punto vista artístico, la Real
Academia Española define representar1 como: (1) Hacer presente algo con palabras o figuras
que la imaginación retiene. (4) Recitar o ejecutar en público una obra dramática. (5) Interpretar
un papel de una obra dramática. (6) Ser imagen o símbolo de algo, o imitarlo perfectamente.
[Scruton, 1976] y [Berenson, 1994] brindan una discusión interesante acerca de si la música
puede representar o no. La música es un arte netamente abstracto, que no representa algún ob-
jeto físico o sus características (como por el contrario, una pintura que represente una canasta
de frutas), pero sí tiene el poder de generar emociones, sugerir una realidad emocional de las
cosas. Por ejemplo en el habla humana, el cómo se dice, más allá del qué se dice. Una experi-
encia emocional. El compositor utiliza las herramientas que provee la música no en el sentido
de representar cosas concretas, sino de transmitir emociones.

La música y los sonidos en general, por su parte, poseen elementos que les permiten ser
representados. La altura, duración e intensidad de cada nota musical se pueden escribir de
forma ya natural en partitura o en protocolo MIDI. El timbre es lo que permite a los humanos
diferenciar un sonido de otro en términos de sus cualidades sonoras que, aunque hay trabajos
que han tratado de abordarlo de distintas maneras [Slawson, 1968, McAdams, 1999], sigue
siendo materia subjetiva del ser humano. La descomposición del timbre de un sonido en su
frecuencia fundamental sumado a los armónicos, se torna particularmente complejo de difer-
enciar cuando el sonido es polifónico.

Musical y matemáticamente hablando, se entiende una octava musical como el intervalo


entre una nota con una frecuencia fundamental f y otra nota con una frecuencia fundamental
2 f . Perceptualmente, ambas notas se sienten como la misma, pero la superior más aguda que
la inferior. En el sistema de notación musical anglosajón se define la nota A4 = 440 Hz. De
este modo, A5 = 880 Hz y así sucesivamente. En la música occidental, la octava se subdivide
1
Representar en la RAE: https://dle.rae.es/?id=W4bJCOY

11
12

en 12 semitonos (la tabla 2.1 muestra la equivalencia entre los dos sistemas de notaciones
utilizados). Un tono es equivalente al intervalo de dos semitonos. En el sistema bien temperado,
la relación matemática entre una nota y su semitono inmediatamente superior está dado por
la ecuación 2.1.
1
fsemitono superior = 2 12 f (2.1)

Sistema Latino Do Re Mi Fa Sol La Si


Sistema Anglosajón C D E F G A B

Tabla 2.1: Sistema de notación para las notas musicales.

Dentro de una octava, la relación entre las notas musicales se entiende como intervalo
musical (ver tabla 2.2), los cuales tienen una gran importancia histórica y son de utilidad en la
composición2 . Sin embargo es común que de todos los intervalos, sólo se seleccionen algunos,
los que en conjunto forman la escala musical.

Semitonos Intervalo Ejemplo Nombre


0 1 C-C Unísono perfecto
1 [2 C - C#/D[ Segunda menor
2 2 C-D Segunda mayor
3 [3 C - D#/E[ Tercera menor
4 3 C-E Tercera mayor
5 4 C-F Cuarta justa
6 ]4 / [5 C - F#/G[ Cuarta aumentada/Quinta disminuida
7 5 C-G Quinta justa
8 [6 C - G#/A[ Sexta menor
9 6 C-A Sexta mayor
10 [7 C - A#/B[ Séptima menor
11 7 C-B Séptima mayor
12 8 C - C (oct) Octava

Tabla 2.2: Intervalos musicales dentro de una octava.

Según cómo se reordenen los intervalos, éstos formarán escalas musicales con distintos
nombres, cuyos orígenes provienen de las características históricas y geográficas donde se han
2
A modo de ejemplo, históricamente el intervalo de tercera mayor ha expresado alegría; el de tercera menor,
tristeza y tanto la cuarta, como la quinta justa, heroísmo. Compositores modernos como John Williams han sabido
aprovechar este recurso para fortalecer esa idea en los personajes de las películas que han musicalizado (una
lectura interesante de esto en: http://glennpickett.com/the-genius-of-john-williams/).

Universidad Austral de Chile


2.1. ACORDES MUSICALES 13

desarrollado. En el caso de la música occidental, junto con las escalas pentatónicas mayor y
menor (ambas compuestas por cinco notas), se definen las escalas de siete notas musicales,
siendo las más utilizadas la escala mayor natural, menor natural y la menor armónica. La
tabla 2.3 muestra los intervalos musicales de las escalas musicales más comunes de la música
occidental.

Escala Intervalos musicales respecto a la fundamental


Mayor natural 1, 2, 3, 4, 5, 6, 7
Menor natural 1, 2, [3, 4, 5, [6, [7
Menor armónica 1, 2, [3, 4, 5, [6, 7
Pentatónica mayor 1, 2, 3, 5, 6
Pentatónica menor 1, [3, 4, 5, [7

Tabla 2.3: Escalas musicales más utilizadas en la música occidental.

2.1 Acordes musicales


Dos notas musicales sonando simultáneamente se entiende como intervalo. Tres o más dan
origen a los acordes musicales. Un acorde de tres notas se llama tríada. Los nombres que
toman los acordes comienzan con el de la nota fundamental y el tipo de acorde está direc-
tamente relacionados con los intervalos, o dependiendo del caso, de los modos musicales que
están involucrados. Los acordes más básicos son del tipo mayor (maj), menor (min), disminui-
dos (dim), suspendidos (sus) y aumentados (aug), los que son descritos en la tabla 2.4. Si un
acorde está descrito únicamente por su fundamental, se asume que es mayor.

Acorde Intervalos Ejemplo


maj 1, 3, 5 C = C:maj = C, E, G
min 1, [3, 5 C:min = C, [E, G
dim 1, [3, [5 C:dim = C, [E, [G
aug 1, 3, ]5 C:aug = C, E, ]G
sus2 1, 2, 5 C:sus2 = C, D, G
sus4 1, 4, 5 C:sus4 = C, F, G

Tabla 2.4: Tríadas básicas.

La misión de los acordes suspendidos (tal como muestra la tabla 2.4) es de reemplazar la
tercera, lo cual se interpreta como un acorde que no es ni mayor ni menor, resultando en un
acorde que no resuelve en la frase musical.

Universidad Austral de Chile


14

Si el acorde posee cuatro notas, se llama tétrada, siendo las más comunes las que involu-
cran intervalos de séptima. Acordes de este tipo son: séptima mayor C:maj7, séptima menor
C:min7, séptima dominante3 C:dom = C:7, acordes de novena C:9, de sexta C:6, etc.

El bajo de un acorde es usualmente la misma fundamental, pero no siempre es así. Depen-


diendo del caso, el compositor puede decidir que el bajo corresponda a otra nota. Por ejemplo,
el acorde de C:maj contiene a las notas C, E y G, pero si se decide que el bajo sea la nota G,
entonces el acorde se escribe como C:maj/G o resumido como C/G.

Finalmente queda decir que todas las notaciones descritas anteriormente aplican de la
misma forma para cualquier acorde, independiente de cuál sea su fundamental.

2.1.1 Cromagramas
Los cromagramas son objetos matemáticos bidimensionales que buscan representar el con-
tenido armónico de la música. Similar al espectrograma, su eje vertical corresponde al espacio
de frecuencias y su eje horizontal al tiempo. La diferencia radica en que el contenido de la
energía espectral de las señales está acotado a una octava musical. Esto supone la ventaja que
concentra la energía de todas las octavas musicales en una, mejorando la representación sobre
éstas. La desventaja por su parte es que acota el reconocimiento a sólo una octava, resultando
que no permite reconocer si el acorde está extendido, o si el bajo está en una nota que no es la
fundamental. A pesar de esta notable desventaja, las cromagramas han sido uno de los enfo-
ques en reconocimiento automático de contenido armónico y/o polifónico más exitosos en esta
tarea.

1.0
B
0.4

A 0.8
0.2
G 0.6
Pitch class

0.0
F
E 0.4
−0.2

D 0.2
−0.4
C
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6
Time in seconds Time

(a) Señal en el tiempo. (b) Cromagrama de la señal.

Fig. 2.1: Representación temporal y en cromagramas de acordes de D:min y A:min.

3
Se llama dominante por la función dominante del acorde, que corresponde al quinto grado de la escala.
Usualmente el dominante resuelve a la tónica o primer grado de la escala (el acorde que le da el nombre a la
escala). Esto es tema tratado en armonía funcional y no será abordado en este trabajo.

Universidad Austral de Chile


Capítulo 3

Recuperación de Información Musical

La Recuperación de Información Musical (MIR por Music Information Retrieval) es un área de in-
vestigación interdisciplinaria que involucra a las ciencias de la computación, musicología, teoría
musical, procesamiento digital de señales, ingeniería de audio, ciencia cognitiva, publicaciones
y leyes. Entre sus objetivos trata de desarrollar maneras de administrar, preservar y utilizar
colecciones de audio, sobre todo musicales, para diversos fines [Futrelle and Downie, 2003].
Relacionado con el procesamiento de señales y ciencias de la computación, trata de la extrac-
ción e inferencia de patrones y características significativas a partir de la música, indexación de
la música a partir de éstas características y el desarrollo de diferentes esquemas de búsqueda y
recuperación musical [Schedl et al., 2014].

La información de entrada MIR es siempre data digital de música, la que toma principal-
mente cuatro formas [Burgoyne et al., 2016]:

1. Imágenes: A partir de métodos de reconocimiento de imágenes es posible procesar parti-


turas físicas y manuscritas digitalizadas y obtener como salida la representación simbólica
de aquellas partituras. Este proceso es conocido como reconocimiento óptico musical
(OMR por Optical Music Recognition). Los trabajos con OMR son de particular interés
en proyectos de digitalización musical en bibliotecas e instituciones de archivos, ya que
puede crear un catálogo en un formato simbólico legible por máquinas, facilitando la
búsqueda de la música y a la musicología computacional [Hankinson et al., 2012].

2. Data simbólica: Son representaciones simbólicas a partir de la música que permitan


representarla, como por ejemplo, la data extraída de partituras digitalizadas o el estándar
MIDI.

3. Audio digital: Trabajar en MIR utilizando señales de audio digital es prácticamente la


forma más natural de hacerlo. Desde la década de los 1990s y a pesar de tener que lidiar
con el copyright, es relativamente sencillo adquirir material de audio digital en grandes
cantidades. Dado que la data de audio suele ser muy grande y compleja, se suele realizar

15
16

algún tipo de preprocesamiento como colapso de señales estéreo a mono, reducción de la


frecuencia de muestreo o la separación del audio en pequeñas ventanas para un proceso
posterior de extracción de características.

4. Metadata: Consiste en información adicional de la música, como los títulos de las obras
musicales, los artistas, las letras e incluso información proveniente de blogs y periodismo
musical. Uno de los usos más efectivos del uso de la metadata ha sido para los servicios de
recomendación de música [Òscar Celma, 2010] y también en clasificación de género
musical [Whitman, 2005] o clustering de artistas [Schedl et al., 2011].

Por su parte, dentro del espacio de salidas, hay tres categorías fundamentales:

1. Recuperación de información: Obtención de información musical a partir de una en-


trada generalmente incompleta. Por ejemplo, la tarea query-by-humming trata de obtener
una pieza musical específica a partir de un tarareo mediante análisis de similaridad de la
entrada frente a una base de datos.

2. Clasificación o estimación: Trata de corresponder una entrada con una salida específica.
Por ejemplo está el caso de clasificación de intérprete o compositor y estimación de
género musical a partir de una señal de audio.

3. Secuenciado de etiquetas: Trata de generar una serie de estimaciones o clasificaciones


secuenciadas para las entradas. Ya que el audio es un fenómeno dependiente del tiempo,
es usual separar el audio en pequeñas ventanas de tiempo y de este modo, se realiza la
clasificación sobre cada una de estas ventanas, de forma secuenciada. Esta tarea está
orientada hacia el análisis musical y también con propósitos de performance. En el caso
de la performance estos trabajos pueden llevar a una interacción humano-máquina como
improvisaciones [Mogensen, 2019] y en el caso del análisis musical, el presente trabajo
de reconocimiento automático de acordes se tratará de secuenciar un etiquetado de
los acordes interpretado por los artistas en el tiempo que duren las canciones.

3.1 Un Poco de Historia MIR


Se considera que los primeros investigadores MIR trabajaron antes que el área fuera definida
como tal. A comienzos del siglo XX, los investigadores tabulaban características musicales a
mano, directamente de partituras musicales [Burgoyne et al., 2016]. Aquí nacen las primeras
investigaciones de frecuencia de intervalos melódicos en música folk [Myers, 1907], o encon-
trando características que permitían describir estilos musicales de culturas no occidentales
[von Hornbostel, 1906]. Al ser los computadores más disponibles en los años 1960s y 1970s,
aparecen los términos musicología computacional y recuperación de información musical,
aunque principalmente se dedicaron en encontrar representaciones óptimas para codificación

Universidad Austral de Chile


3.2. SUBÁREAS MIR 17

simbólica de la música en el computador [Lincoln, 1972]. Los primeros trabajos en análisis


de información con audio musical trataron del análisis tímbrico en la voz [Slawson, 1968] y
otros instrumentos musicales [Risset and Mathews, 1969] y discusiones de cómo extraer al-
tura, escala, métrica y tempo [Chafe et al., 1985]. La falta de data musical y en consecuencia
la escasez de base de datos con audio musical implicó un adormecimiento del campo durante
los años 1980s, asunto que empezó a revertirse en los años 1990s al aumentar la disponibilidad
de la música con el audio digital. Las primeras publicaciones exclusivas MIR introdujeron el
anteriormente descrito query by humming [Kageyama et al., 1993].

Desde 1999, investigadores MIR se reúnen en conferencias y workshops, que inspiran el


primer Simposio Internacional de Recuperación de Información Musical, en octubre del año
2000. El workshop creció en una conferencia anual que, desde 2008 tomó nombre como la
Conferencia de la Sociedad Internacional en Recuperación de Información Musical (ISMIR), la
mayor conferencia relacionada con la investigación MIR en la actualidad.

A medida que ISMIR comenzó a establecerse más y se definieron mejor las tareas MIR, los
investigadores buscaron probar sus algoritmos en una condición común de prueba. Es así como
nace el Music Information Retrieval eXchange (MIREX), un ciclo anual donde se definieron las
tareas a desarrollar bajo tres componentes principales.

• Una base de datos común a ser analizada.

• Un conjunto común de procedimientos a evaluar con los datos.

• Un conjunto común de métricas y evaluaciones para evaluar las salidas de los algorit-
mos.

3.2 Subáreas MIR


Las áreas de investigación MIR son variadas, desde detección de comienzos y términos (on-
set/offset detection), extracción de melodías, detección de instrumentos musicales, búsqueda
por silbido, etc (ver tabla 3.1).

Universidad Austral de Chile


18

Descripción de timbre
Extracción
Transcripción de música y extracción de melodías.
de
Detección de comienzos, seguimiento de beat y estimación de tempo.
Características
Análisis estructural, segmentación y resumen.
Medición de similaridad.
Similaridad Identificación de cover de canciones.
Búsqueda por tarareo (query by humming).
Reconocimiento de emociones.
Clasificación de género.
Clasificación Clasificación de instrumentos.
Identificación de compositor, artista y cantantes.
Autoetiquetado.
Identificación de audio (fingerprinting).
Búsqueda y recuperación basada en contenido musical.
Recomendación de música.
Generación de listas de reproducción.
Alineamiento de audio y sincronización de música.
Aplicaciones
Estimación de popularidad de artistas y canciones.
Visualización de música.
Interfaces de búsqueda web.
Interfaces de interacción con música.
Sistemas personalizados, adaptativos y contextuales.

Tabla 3.1: Subáreas en MIR.

3.3 Detección de acordes


Automatizar la transcripción de música a partitura es considerado como un santo grial por los
investigadores MIR [Burgoyne et al., 2016], siendo la polifonía una muralla muy compleja de
atravesar. Un enfoque es el de detectar el acorde musical del conjunto musical en un tiempo
determinado, independiente de los instrumentos presentes y de las líneas melódicas de cada
uno y una de las metodologías más exitosas ha sido el representar el audio en cromagramas,
sin embargo, este enfoque es muy limitado respecto a casos tales como acordes de séptima, o
inversiones de acorde.

La tarea MIREX para la estimación de acordes es el MIREX Audio Chord Estimation1 .


1
Para el año 2019 ver https://www.music-ir.org/mirex/wiki/2019:Audio_Chord_Estimation

Universidad Austral de Chile


3.3. DETECCIÓN DE ACORDES 19

La evaluación del desempeño de los sistemas está dado por el descriptor Chord symbol recall
(CSR), que está dado por la ecuación 3.1.

Duración total de los segmentos donde la etiqueta es igual a la estimación


CSR = (3.1)
Duración total de los segmentos etiquetados

MIREX considera cinco casos para evaluar el desempeño de los sistemas (ver tabla 3.2):
detección de nota fundamental, mayores y menores, acordes de séptima, mayores y menores
con inversiones y de séptima e inversiones.

Tarea Tipos de acorde


Sólo fundamental (root) (Indicado por la nota fundamental)
Mayores y menores (maj/min) N, maj, min
De séptima N, maj, min, maj7, min7, 7
Maj/min con inversiones N, maj, min, maj/3, min/b3, maj/5, min/5
De séptima con inversiones N, maj, min, maj7, min7, 7, maj/3, min/b3, maj7/3,
min7/b3, 7/3, maj/5, min/5, maj7/5, min7/5, 7/5,
maj7/7, min7/b7, 7/b7

Tabla 3.2: Tareas de detección de acordes por MIREX.

Para evaluar los desempeños bajo el criterio MIREX, existe a disposición de los investi-
gadores la librería mir_eval, la cual requiere que las canciones evaluadas presenten el for-
mato dispuesto en los etiquetados, que consta de tres columnas: tiempo de inicio, tiempo final
y nombre del acorde, tal como muestra la figura 5.2.

Universidad Austral de Chile


Capítulo 4

Redes Neuronales y Aprendizaje Profundo

4.1 Inteligencia Artificial y Aprendizaje de Máquinas

La inteligencia artificial es una área de investigación multidisciplinaria en la cual se busca que


una máquina sea capaz de percibir información del mundo real y con esto razonar o imitar fun-
ciones cognitivas del ser humano y resolver problemas a partir de ello [Russell and Norvig, 2010].
A diferencia de un enfoque de diseño, en donde se programa un modelo matemático determi-
nado, se entiende por aprendizaje de máquinas a alguna técnica en la cual la máquina misma
es capaz de modelar el problema al observar la información [Abu-Mostafa et al., 2012]. El
problema del presente trabajo es de clasificación, por lo que se abordará mediante un tipo de
aprendizaje supervisado, el cual consiste en que la máquina, a partir de un modelo y medi-
ante un algoritmo iterativo de aprendizaje, es capaz de actualizar sus parámetros al comparar
sus predicciones frente a una base de datos con ejemplos manualmente etiquetados.
La base de datos del problema de clasificación se puede expresar matemáticamente como
X (para el presente proyecto, el conjunto de canciones). Para que haya un aprendizaje su-
pervisado, se debe también poseer el etiquetado de la base de datos. El etiquetado debe cor-
responder a la clasificación deseada, siendo en este caso el conjunto de acordes musicales. El
conjunto de las etiquetas se puede expresar como el conjunto de salida Y . Se puede asumir
la existencia de una función objetivo desconocida f , tal que f : X → Y . El conjunto de datos
entonces, expresado por D, estará compuesto por los pares de datos de entradas y salidas, es
decir: D = {(x 1 , y1 ), . . . , (x N , yN )}, con x i ∈ X , yi = f (x i ) ∈ Y .

Hasta aquí la función f es desconocida, pero a partir de los datos se puede generar una
función (o entrenar un modelo) g : X → Y que aproxime a f , es decir, que el error entre
ambas funciones sea mínima. En este trabajo, la función g corresponderá a una red neuronal
profunda. Para comprender en qué consiste, es necesario comenzar por el perceptrón.

20
4.2. REDES NEURONALES 21

4.2 Redes Neuronales

4.2.1 Perceptrones y Capas Neuronales


El perceptrón (o neurona artificial, ver figura 4.1) es un modelo simple de clasificación lineal, en
donde la salida es binaria (por ejemplo: Y = {−1, 1}; Y = {0, 1}; Y = {Correcto, Incorrecto})

x1
b
w1

x2 w2
Función de
Σ Activación y
φ()
..
.
wm

xm

Fig. 4.1: Esquema de un perceptrón.

La entrada x = [x 1 , x 2 , · · · , x m ] ingresa a una función lineal que pondera cada elemento


de x con unos elementos llamados pesos w = [w1 , w2 , · · · , w m ] y suma un sesgo b, también
llamado w0 . La salida y luego se calcula aplicando una función de activación φ() sobre la
función lineal recién descrita. La ecuación de la salida y del perceptrón se muestra en las
ecuaciones 4.1 y 4.2.
‚ m Œ
X
y =φ x i wi + b (4.1)
i=1

El cual se puede expresar como producto punto, quedando:

y = φ(w T x + b) (4.2)

Las neuronas biológicas se activan, es decir, emiten un pulso eléctrico cuando la señal que
ingresa es de su interés, y no se activan cuando la señal no lo es. En el caso de las neuronas
artificiales, el pulso eléctrico puede ser traducido en simplemente un número alto si la entrada
es importante para la neurona, o 0 (o muy cercano), si no es así. Para representar esto, se puede
utilizar la función ReLU(x), que significa que la información pasa a la siguiente neurona sólo
si el resultado dentro de la función da positivo. La función ReLU(x) está dada por la ecuación
4.3.

Universidad Austral de Chile


22

2 y

1 ¨
x; x ≥0
ReLU(x) = max(x, 0) = (4.3)
x 0; x <0
−2 −1 1 2

Fig. 4.2: Función ReLU(x).

En otros casos, que por lo general ocurren en las salidas de las redes neuronales, se pueden
utilizar otras funciones que indiquen la salida de la red como probabilidades de aciertos (valores
entre 0 y 1). Es común en estos casos usar la función sigmoide (ver ecuación 4.4).

y
1

0.5
1
x σ(x) = (4.4)
1 + e−x
−5 5

−0.5

Fig. 4.3: Función sigmoide.

Sin embargo, también se puede desear que la salida esté dado como una función de prob-
abilidad no sólo de una clase, sino que de aquella clase respecto a la totalidad de clases. Para
esto es útil la función softmax s(x) (ver ecuación 4.5).

e xi
s(x i ) = PK ; j ∈ [1, ..., i, ..., K] (4.5)
j=1
exj

Como fue dicho anteriormente, un perceptrón es un clasificador lineal y binario, pero la gran
mayoría de los problemas no son linealmente separables. Aumentar el número de neuronas y
capas neuronales permite realizar clasificaciones en regiones de decisión más complejas. Las ca-
pas de procesamiento adicionales son conocidas como capas ocultas y los perceptrones (ahora
también llamados nodos de procesamiento), unidades ocultas [Abu-Mostafa et al., 2012]. La
red neuronal más común es el perceptrón multicapa, como la que muestra la figura 4.4.

Universidad Austral de Chile


4.2. REDES NEURONALES 23

x1 y1

x2 y2

Fig. 4.4: Ejemplo de un perceptrón multicapa.

4.2.2 Redes Neuronales Profundas


Si las redes neuronales contienen tres o más capas ocultas, se les puede considerar redes neu-
ronales profundas (o DNN, por Deep Neural Networks).

h1 hL
x y
...
x1 y1
...

x2 y2
...

.. ..
. .
.. ..
. .

xm yn
...

Fig. 4.5: Esquema de una red neuronal profunda del tipo completamente conectada.

En la figura 4.5 se observa una red neuronal artificial de L + 1 capas, donde 0 ≤ l ≤ L + 1.


La capa 0 corresponde a la capa de entradas que alimentan la red, mientras que la capa L + 1
corresponde a la capa de salidas. Las capas 1 ≤ l ≤ L son las capas ocultas. La l-ésima capa
oculta hl (x), tomará como entrada los datos provenientes de la capa anterior hl−1 y su salida
alimentará a la capa siguiente hl+1 , mediante una función de activación φ. Así, para la capa
l-ésima:

hl (x) = φl WlT · hl−1 (x) + bl (4.6)

Universidad Austral de Chile


24

Notar ahora que los pesos W son una matriz de pesos entre las neuronas de la capa anterior con
la capa actual y W T es su matriz traspuesta. Así mismo, los sesgos son ahora un vector. Respecto
a la dimensionalidad de las capas, sea Ul la dimensión de la capa l, hay algunas observaciones:

• Señales de entrada: x ∈ Rm , entonces U0 = m.

• Salidas: La dimensión de las salidas, dependerá de la cantidad de clases que sean definidas
en el problema, es decir: U L+1 = n, si n es el número de clases definidas del problema
(es decir: y ∈ Rn ).

• Los pesos en cada capa serán una matriz compuesta por los pesos que emergen desde cada
unidad de la capa l − 1 hacia cada unidad de la capa l, esto considerando la existencia
de Ul−1 unidades de la capa anterior, y Ul en la capa actual. Es decir, la dimensionalidad
de Wl será Ul−1 × Ul .

La configuración de la DNN descrita es llamada Red Completamente Conectada y Prealimen-


tada (Fully-Connected Feedforward Neural Network, también abreviado como FCN). Hoy en día
existen otros diseños, siendo los más conocidos la CNN (Redes Neuronales Convolucionales),
RNN (Redes Neuronales Recurrentes) y para el sonido, la WaveNet es un enfoque interesante
para trabajar en modelos con señales de audio. En este trabajo sólo será utilizada la FCN y por
tanto, no se detallarán las otras configuraciones.

Teniendo preparada la matemática, queda la forma de encontrar los pesos y sesgos del
modelo, entendidos como los parámetros de la red. El modo de obtenerlos será mediante el
entrenamiento supervisado detallado a continuación.

4.2.3 Entrenamiento de las Redes Neuronales


Primero que todo es necesario definir una métrica que permita comparar el resultado final de
la red, o salida predicha y, con el etiquetado o salida deseada ŷ. A esta comparación se le
puede llamar función de costo o pérdida L ( y, ŷ). La más sencilla es el error medio cuadrático
(ver ecuación 4.7).
n
1X
L ( y, ŷ) = ( yi − ŷi )2 (4.7)
n i=1
La función de costo se puede adaptar al modelo de aprendizaje utilizado. Para el presente
proyecto se recomienda el uso del error de entropía cruzada entre la salida predicha y la
deseada, que está dada por la ecuación 4.8.
n
X
L ( y, ŷ) = − ŷi log(1 − yi ) (4.8)
i

Universidad Austral de Chile


4.2. REDES NEURONALES 25

Encontrar los parámetros de la red es un tema de un alta exigencia computacional y por lo


mismo debe hacerse un procedimiento iterativo de entrenamiento tal que minimice el costo. Si
se definen los parámetros de la red como θ = (b, w), y éstos son inicializados aleatoriamente,
se pueden actualizar los parámetros de tal forma que vayan minimizando el costo con cada
iteración i, mediante el método del gradiente descendente.

∂ L (θi )
θi+1 = θi − η (4.9)
∂θ
∂ L (θi )
De este modo, el gradiente indica la dirección del máximo descenso de la función de
∂θ
costo, y η, también llamado tasa de aprendizaje, modula el cambio que tendrán las actualiza-
ciones de los parámetros de la red.

• Si η es muy alto, el modelo puede no converger y por tanto el error no minimizarse.


Puede incluso empeorar el aprendizaje.

• Si η es muy pequeño, puede tomar demasiado tiempo en minimizar el error.

Como las redes neuronales profundas poseen a lo menos tres capas ocultas, cada conexión entre
capas contienen sus propios pesos y sesgos, que en el conjunto de todas las capas forman los
parámetros de la red. Es decir, es necesario actualizar los parámetros de todas las capas. Esto
se puede realizar con el método de retropropagación del error. Como esto implica obtener
gradientes, las funciones de activación deben ser derivadas, con la implicancia de altos costos
computacionales. De ahí que las funciones de activación escogidas (ver ecuaciones 4.3, 4.4 y
4.5) no son casuales. Las ecuaciones 4.10, 4.11 y 4.12 muestran las derivadas de las funciones
de activación utilizadas en este proyecto. Tal elección de las funciones de activación permite
disminuir los costos computacionales de calcular derivadas en todas las capas.
¨
∂ ReLU(x) 1; x >0
= (4.10)
∂x 0; x <0

∂ σ(x)
= σ(x)(1 − σ(x)) (4.11)
∂x
¨
∂ s(x i ) s(x i )(1 − s(x i )); j=i
= (4.12)
∂ xj −s(x i )s(x j ); j 6= i
La derivación de la función de costo, dada la existencia de capas ocultas implica que habrá
regla de la cadena con multiplicaciones de derivadas igual al número de las capas. Como los
gradientes son generalmente números pequeños, el que hayan muchas capas puede llevar a
un desvanecimiento del gradiente, lo que quiere decir que el aprendizaje en las capas más
cercanas a la capa de entrada se hace bastante menos eficiente. Por tanto, no se recomienda

Universidad Austral de Chile


26

utilizar muchas capas ocultas para una red de este tipo.

El descenso de gradiente se puede realizar de tres formas, atendiendo al balance entre


costo computacional y fidelidad del gradiente del error. Una época (desde ahora, epoch) es
definido como una examinación completa de la base de datos por parte del modelo durante
el entrenamiento. Una iteración, por su parte se refiere a una examinación de un lote (desde
ahora, batch) de datos de entrenamiento. Un epoch se cumple entonces al utilizar todos los
batch de la base de datos.

1. Gradiente descendente estocástico (SGD): El modelo es actualizado con cada ejemplo de


la base de datos (cada ejemplo corresponde a un batch).

2. Batch GD. El modelo es actualizado después de procesar todos los ejemplos de la base
de datos (todo el conjunto de entrenamiento corresponde al batch, no hay por tanto
diferencia entre iteración y epoch).

3. Mini-batch GD. El modelo es actualizado después de procesar un lote pequeño de la base


de datos (el entrenamiento de cada mini-batch corresponde a una iteración y al entrenar
con todos los mini-batch corresponde a una epoch). El presente trabajo utilizó esta forma
de entrenamiento.

El Mini-batch GD es una forma de balancear el SGD y el Batch GD, considerando costo de


recursos y tiempos computacionales, asegurando una buena precisión del error y convergencia
de forma robusta del modelo.

Con el fin de optimizar el entrenamiento, distintas herramientas se han desarrollado para


adaptar la razón de entrenamiento η, siendo ampliamente utilizado el optimizador ADAM, el
cual ajusta la tasa de aprendizaje para cada parámetro de la red en base a la historia acumu-
lada de sus gradientes [Kingma and Ba, 2014]. De implementación sencilla y eficiente com-
putacionalmente, su uso es recomendado [Ruder, 2016].

4.2.4 Sobreajuste
Si la cantidad de parámetros de la red es muy grande en comparación a los datos que hay para
entrenar, el modelo es susceptible a sobreajuste. Esto significa que el modelo, pasado cierto
punto del entrenamiento, deja de generalizar el problema, resultando en peores desempeños
para datos no observados en el entrenamiento, a pesar que el error de entrenamiento siga
disminuyendo. Es como si el modelo estuviese memorizando la base de datos en vez de aprender
la tarea pedida. Esto es un problema que si bien es imposible de evitar, es posible de tratar hasta
cierto punto.
Para detectar la presencia de sobreajuste del modelo, es recomendable reservar un por-
centaje de la base de datos de entrenamiento, en un nuevo conjunto de validación, de tal

Universidad Austral de Chile


4.2. REDES NEURONALES 27

modo que por cada época de entrenamiento, con los parámetros de la red actualizados, se ver-
ifique el desempeño del modelo sobre este conjunto y evaluar el comportamiento del error de
entrenamiento junto al error de validación. Tales curvas normalmente se comportan como
muestra la figura 4.6

L Error de entrenamiento
Error de validación

épocas

Fig. 4.6: Curvas de error de entrenamiento y validación.

Entre las técnicas para lidiar con el sobreajuste, se tienen las siguientes:

1. Dropout [Srivastava et al., 2014]: Consiste en la desactivación de neuronas en las capas


ocultas con un porcentaje determinado de aparición. Esto obliga a la red a adaptarse ante
la ausencia de las neuronas desactivadas, tal como muestra la figura 4.7.

...
x1 y1
...

x2 y2
...

.. ..
. .
.. ..
. .

xm yn
...

Fig. 4.7: DNN con dropout.

2. Aumentación de datos: Consiste en aplicar transformaciones a los datos tal que sirvan
como nuevas entradas para el entrenamiento de la red, de modo que aumentar la diversi-
dad del dataset mejora la generalización. En el caso del audio [Salamon and Bello, 2016]

Universidad Austral de Chile


28

hay algunos criterios aplicables, como por ejemplo, subir y bajar en un semitono las
señales. En este trabajo eso se torna complejo, pues eso implica que las clases cambian y
la base aumentada debe ser re-etiquetada.

3. Detención temprana [Prechelt, 2012]: Consiste en la detención del entrenamiento al


encontrarse ésta en evidente e irrecuperable estado de sobreajuste, con el objeto de evitar
perder tiempo entrenando el ya sobreajustado modelo.

Universidad Austral de Chile


Capítulo 5

Desarrollo del Proyecto

En este capítulo se detallarán los trabajos realizados en el presente proyecto. Primero que todo,
se describirá la arquitectura general del sistema de reconocimiento automático de acordes, para
luego dar paso a la formulación de los experimentos y finalmente se presentan y analizan los
resultados.

29
30

5.1 Sistema de Reconocimiento Automático de Acordes Mu-


sicales
Para el presente proyecto se diseñó e implementó un programa capaz de entrenar modelos de
reconocimiento de acordes y evaluar su desempeño. El diagrama general de este sistema se
muestra en la figura 5.1 y se irá detallando más adelante.

TRANSFORMACIÓN DE LA BASE DE DATOS DNN

SQT
x1 C:maj
Train
maj/min
Base Base x2 C:min
de de Valid ..
Datos Datos Proporción .
(.wav) (SQT ) de acordes
Test xn N

Train Train Valid Valid Test Test All All


SQT Label SQT Label SQT Label SQT Label

random DNN DNN DNN

mini-batch L ( y, ŷ) f1 score Generación


de etiquetas

dropout on L = mink Lk ? save(w, b) Matriz de


DNN mir_eval
Confusión

L ( y, ŷ) Criterio de Mat. Confusión


detención para Acordes root maj/min

Retroprop. Retorno a Fin del


Grad. desc. entrenamiento entrenamiento

Actual.
Parám. DNN

No
Final batch?

Etapa de
Validación

Fig. 5.1: Diagrama del sistema de reconocimiento automático de acordes musicales utilizada
en este proyecto.

El sistema completo del presente proyecto pasa por distintas etapas, nombradas a contin-
uación.

1. Lectura de la base de datos y almacenamiento del espectrograma de cuarto de tono en


una matriz numpy. Distribución aleatoria de los frames de la base de datos, hacia las bases
de entrenamiento, validación y prueba. La distribución es proporcional según clase de
acorde.

Universidad Austral de Chile


5.2. BASE DE DATOS Y ETIQUETADO 31

2. Entrenamiento de las redes neuronales. Por cada época, se realiza el proceso de en-
trenamiento y validación. Almacenamiento de los parámetros del modelo cuando se
encuentra un mínimo error de validación.

3. Etapa de prueba de las redes neuronales. Se evalúa el desempeño de los modelos de DNN
con métricas dados por las librerías sklearn (sólo para la base de prueba) y mir_eval
(para la base de datos completa).

5.2 Base de Datos y Etiquetado


La base de datos escogida para el proyecto corresponde a una subconjunto de la base de datos
Isophonics1 . Consta de 187 canciones, con una duración total de 8 horas, 44 minutos y 21
segundos. Los discos utilizados para el entrenamiento se detallan en la tabla 5.1.

Artista Álbum Edición Tracks Duración


Carole King Tapestry 4931802003 7 26:18
Queen Greatest Hits 0777 7 8950424 14 48:18
The Beatles Please Please Me CDP 7 46435 2 14 31:59
The Beatles With the Beatles CDP 7 46436 2 14 32:43
The Beatles A Hard Day’s Night CDP 7 46437 2 13 29:45
The Beatles Beatles For Sale CDP 7 46438 2 14 33:25
The Beatles Help! CDP 7 46439 2 14 34:15
The Beatles Rubber Soul CDP 7 46440 2 14 35:39
The Beatles Sgt. Pepper’s Lonely Hearts Club Band CDP 7 46442 2 13 39:45
The Beatles Magical Mystery Tour CDP 7 48062 2 11 36:49
The Beatles The Beatles (White Album, CD 1 y 2) CDS 7 46443 8 30 1:33:08
The Beatles Abbey Road CDP 7 46446 2 17 47:16
The Beatles Let It Be CDP 7 46447 2 12 35:05
Total 183 8:44:21

Tabla 5.1: Base de datos utilizada en el presente trabajo.

La base de datos Isophonics incluye el etiquetado de los discos de la tabla 5.1. Las etiquetas
contienen información canción por canción, indicando: a) Tiempo de inicio; b) Tiempo de
término y c) Acorde con el formato propuesto por [Harte et al., 2005], tal como muestra la
figura 5.2. Esta información debe ser también preprocesada en el código para indicarle al
sistema el frame de cada canción y la posición de la clase de acorde que corresponda.
1
Etiquetas disponibles en http://isophonics.net/content/reference-annotations

Universidad Austral de Chile


32

0.000000 1.129709 N
1.129709 3.044470 N
3.044470 5.208150 D
5.208150 7.158117 D

Fig. 5.2: Ejemplo del etiquetado de la base de datos: Primeros acordes de Drive my Car.

Es importante obtener la edición específica de los álbumes, que indica la tabla 5.1, ya que
otras ediciones pueden tener discrepancias con los tiempos indicados en las etiquetas, lo cual
supondría un mal entrenamiento del modelo. El etiquetado de la base de datos se puede visu-
alizar mediante el software Sonic Visualiser, como muestra la figura 5.3.

Fig. 5.3: Extracto del etiquetado de Drive My Car, mostrado en Sonic Visualiser.

El etiquetado de la base de datos se puede entender como la salida deseada ŷ, con la
cual se puede entrenar a las redes neuronales. Para esto, se asigna a cada clase de acorde una
posición en el espacio de clases, las que se indican en la tabla 5.2. Recordar que los índices de
Python comienzan en cero.

Clase de Acorde C:maj C:min C]:maj C]:min D:maj D:min D]:maj D]:min E:maj
Índice de Clase 0 1 2 3 4 5 6 7 8

Clase de Acorde E:min F:maj F:min F]:maj F]:min G:maj G:min G]:maj G]:min
Índice de Clase 9 10 11 12 13 14 15 16 17

Clase de Acorde A:maj A:min A]:maj A]:min B:maj B:min N


Índice de Clase 18 19 20 21 22 23 24

Tabla 5.2: Clases de acordes con sus equivalentes índices de acordes.

En el presente proyecto, la tarea de reconocimiento de acordes se acotó al problema de


nota fundamental root, es decir que el sistema sea capaz de reconocer la nota fundamental

Universidad Austral de Chile


5.3. PREPROCESAMIENTO DE LAS SEÑALES 33

del acorde y, el problema de acordes mayores y menores maj/min, la cual de por sí ya integra
el problema de root. Un ejemplo de acierto y fallo en esta tarea se puede ver en la tabla 5.3.
El caso de los acordes disminuidos, aumentados y suspendidos no son considerados para la
evaluación.
Tarea Etiquetado Predicción Resultado
root C C:maj Correcto
C:min Correcto
D:maj Incorrecto
D:min Incorrecto
maj/min C:maj C:maj Correcto
C:min Incorrecto
D:maj Incorrecto
D:min Incorrecto

Tabla 5.3: Ejemplo de acierto y fallo en las tareas de reconocimiento de acorde para lso casos
root y maj/min.

5.3 Preprocesamiento de las señales


Los datos de entrada a la red corresponden a la representación de las señales musicales en
frecuencia mediante espectrograma de cuarto de tono. En primera instancia, se leen las señales
de audio de las canciones si en .wav, con la librería librosa y se obtiene la Transformada de
Fourier en tiempo corto (STFT) Slin .

X
Slin (m, ω) = x(n)w(n − mR)e− jωn (5.1)
n=−∞
En donde:
• x es la señal.

• w es la función ventana. En este caso es utilizada la ventana Hanning.

• R es el salto de frame.
Cada uno de los vectores temporales de la STFT, también llamados frames, son calculados a
partir de ventanas temporales de 8192 muestras de las señales originales, con traslape de 50%
entre frames, equivalentes a 92,93 ms. La dimensión espectral de la STFT es lineal y se puede
transformar a musical en cuartos de tono mediante la ponderación con filtros triangulares cen-
trados en cada cuarto de tono, los cuales están dados por la función matemática 5.2. Se uti-
lizaron en total 147 filtros triangulares centrados en cada cuarto de tono comenzando por el
cuarto de tono inferior a B1 ≈ 61.74 Hz hasta el cuarto de tono superior a B7 ≈ 3951.07 Hz.

Universidad Austral de Chile


34

1 F∆

f − finicial

 , finicial ≤ f ≤ f c
 f c − finicial


f
F∆ = ffinal − f
f c ≤ f ≤ ffinal (5.2)
finicial fc ffinal  f − f inicial
 c


0 Otro caso

Fig. 5.4: Filtros triangulares.


Si se expresan los filtros triangulares como vectores, y éstos se almacenan en una matriz,
donde cada columna contiene un filtro triangular para cada cuarto de tono f c , entonces se
obtiene una matriz de filtros triangulares F ∆ . Finalmente, el espectrograma de cuarto de tono
Sqt , que corresponde a la entrada de la red neuronal, está dado por una multiplicación matricial
entre la magnitud cuadrática de la STFT y la traspuesta de la matriz de filtros triangulares, tal
como indica la ecuación 5.3 y ejemplifica la figura 5.5.

Sqt (t, ω) = |Slin (t, ω)|2 (F ∆ ) T (5.3)

Fig. 5.5: Espectrograma de cuarto de tono para la canción Drive My Car. En amarillo se mues-
tran los valores más intensos y en violeta los más silenciosos.

Para aumentar la eficiencia computacional de los entrenamientos, todos los espectrogra-


mas de cuarto de tono de la base de datos fueron concatenados en una gran matriz numpy y
almacenados en un único archivo para su rápida lectura.

Universidad Austral de Chile


5.4. DISTRIBUCIÓN DE LOS DATOS 35

5.4 Distribución de los datos


La base de datos fue dividida un 70%, 20% y 10% para los conjuntos de entrenamiento, vali-
dación y prueba respectivamente. Los datos presentan un desafío inicial. La tarea del proyecto
es reconocer acordes, sin embargo, dado que la música a utilizar es principalmente de rock
clásico, sucede que la composición está basada para guitarras y en consecuencia, los acordes
ejecutados están distribuidos para tal instrumento. Por tanto, existen acordes sobrerrepresen-
tados, como C:maj, o G:maj, a diferencia de acordes como D#:maj o A#:min, los cuales serían
subrepresentados. La distribución de las clases de acordes se muestran en la figura 5.6. Aquel
desbalance en la distribución de clases requiere que las etapas de entrenamiento, validación y
prueba mantengan la proporción mencionada previamente, respecto de los acordes.

Fig. 5.6: Distribución de los acordes en la base de datos.

Con la librería pandas se realizaron diversos trabajos de preprocesamiento en la base de


datos, con el fin de entrenar la red lo mejor posible. La limpieza consistió en los siguientes
pasos.

• Normalización de etiquetas a su forma maj/min. Por ejemplo:

a) Acordes denominados sólo por su fundamental, como en D# = D#:maj.


b) Acordes extendidos con séptima u otra variación, como en E:maj7(9) = E:maj.
c) Acordes con bajos determinados, como en F:maj/A = F:maj.
d) Acordes con bemoles, transformados en su equivalente sostenido, como en B[ =
A#:maj.

• Eliminación de los acordes disminuidos, aumentados y suspendidos.

• Distribución aleatoria de los frames seleccionados para las bases de entrenamiento, vali-
dación y prueba, proporcionados según clase de acordes. Por ejemplo, de todos los frames
en que se encuentre el acorde de D#:min, el 70% va a entrenamiento, el 20% a validación
y 10% a prueba.

Universidad Austral de Chile


36

5.5 Redes Neuronales


La red neuronal tiene como entrada a un frame (o varios frames concatenados, en el caso de
la incorporación de ventanas de contexto) y como salida un vector de estimación de clases de
acordes. Este vector consta de 25 elementos, siendo éstos todos los acordes mayores y menores
junto con la clase N. La salida de la red, c, es la clase que genera el valor más alto de la capa
de salida y, como indica la ecuación 5.4. Notar que la capa de salida se procesa mediante la
función softmax, desde donde se selecciona el argumento del máximo.

c = arg max ( y) (5.4)

La salida de la red y está dado por la ecuación 5.5 que describe la conexión entre la capa de
salida y con la última capa oculta hl−1 .

y(x) = WlT hl−1 (x) + bl (5.5)

Las redes neuronales fueron implementadas con la librería torch, la cual permite diseñar la
red y realizar el cálculo de los gradientes, la retropropagación del error y la actualización de
los parámetros de forma sencilla y eficiente.

5.5.1 Entrenamiento
La fase de entrenamiento se divide en dos subprocesos: entrenamiento propiamente tal y vali-
dación. Un epoch será entendido en este proyecto como el proceso en que ocurre una secuencia
de entrenamiento seguido de validación. El proceso del epoch se puede descomponer en los
siguientes subprocesos.

• Entrenamiento.

– El conjunto de datos de entrenamiento es aleatorizado al inicio de cada epoch, con


el fin de evitar que la secuencia de los datos entregados a la red sea un factor de
sobreajuste.
– La red es entrenada con un mini-batch de 512 entradas con sus etiquetas respec-
tivas. Cada entrenamiento de un mini-batch será entendido como iteración. En el
entrenamiento, el dropout de neuronas ocultas es activado.
– Por cada iteración se calcula la salida de la red y, junto al error de entropía cruzada
con la salida deseada ŷ.
– Se retropropaga el error y se actualizan los parámetros de la red con el optimizador
ADAM. Esto ocurre con todas las iteraciones. Al completar la última iteración, final-
iza el entrenamiento.

Universidad Austral de Chile


5.5. REDES NEURONALES 37

• Validación.

– Con los parámetros de la red actualizados, se calcula la salida de la red y, y se evalúa


el error de entropía cruzada con la salida deseada ŷ. El dropout es desactivado.
– Tanto el error de entrenamiento como el de validación se muestran en un gráfico
para compararlas, como muestra la figura 5.7.
– Si se encuentra un valor mínimo de error de validación, se almacenan los parámetros
de la red, para posterior uso en la fase de prueba.
– Se obtiene el coeficiente PQ 4 para evaluar el criterio de detención temprana (early
stopping [Prechelt, 2012]) del entrenamiento. Si PQ 4 ≥ 4, finaliza la fase completa
de entrenamiento. En otro caso, se reanuda el entrenamiento con un nuevo epoch.

Fig. 5.7: Curvas de error de entrenamiento y validación en la fase de entrenamiento.

5.5.2 Fase de Prueba


La fase de prueba consiste en aplicar el modelo de la red neuronal entrenada en la fase anterior,
con la base de datos de prueba y así evaluar el desempeño del modelo. La evaluación se lleva
a cabo mediante dos formas diferentes. La primera, que será llamada Evaluación de la Base
de Prueba, consiste tal cual indica su nombre, en la evaluación de únicamente la base de datos
de prueba, en base a las métricas de desempeño de precisión ponderada promedio (weighted
average) del parámetro f1-score y la matriz de confusión de la librería sklearn. Esta última
permite conocer no sólo el porcentaje de acierto de la red con los acordes que corresponden,
sino que además permite visualizar qué acordes la red suele confundir respecto de los acordes
objetivo. En segundo lugar, tendremos la Evaluación MIR, en base a la librería mir_eval,
la cual permite evaluar el desempeño de la red frente a la totalidad de la base de datos, en
específico con las tareas de root y maj/min. La razón de las diferencias en las formas de
evaluación se explica porque la base de datos fue redistribuida por el porcentaje de aparición
de acordes musicales, que es lo evaluado por el primer sistema, mientras que el segundo sistema
requiere la entrega de las canciones completas en el formato de Isophonics (ver figuras 5.2 y

Universidad Austral de Chile


38

5.8), lo cual contiene dentro de sí mismo elementos que están presentes en los conjuntos de
entrenamiento, validación y prueba.

5.6 Experimentos
Por cada caso se realizan cinco experimentos para obtener estadísticos de desempeño de los
modelos.

• Arquitectura de la red: FCN de tres capas ocultas, junto a las capas de entrada y salida.

• Número de neuronas: 128, 256 y 512 en cada capa oculta.

• Ventanas de contexto: 1, 3, 5, 7 y 9.

Aunque se intentó correr los experimentos de modo tal que sólo cambiasen las condiciones
recién indicadas, en algunos casos fue necesario hacer modificaciones menores, enumeradas a
continuación.

1. Para los casos de 128 neuronas en las capas ocultas, se inicializó el entrenamiento con
una tasa de aprendizaje de 0.001, desde los casos de 1 a 5 ventanas de contexto. Desde
los casos de 7 ventanas en adelante, fue necesario disminuirla a 0.0005, ya que la curva
de validación no resultaba ser tan suave en la zona del error mínimo. En todos los demás
casos, por la misma razón se determinó inicializar con 0.0005 la razón de aprendizaje.

2. Para el caso de 512 neuronas en las capas ocultas, se utilizó el dropout, con probabilidad
de 0.8 de activación de las neuronas, con el fin de evitar el sobreajuste. En las demás
situaciones esto no fue posible ya que las curvas de entrenamiento y validación no con-
vergían.

Respecto de la velocidad del entrenamiento, en general ésta se ralentizaba a medida que se


aumentaban las neuronas y las ventanas de contexto. Si bien no se midió el tiempo utilizado
en esta fase, sí se midió el tiempo que demoraba en completar un epoch.

Ventanas de contexto 1 3 5 7 9
Minutos por epoch 0.36 0.53 0.74 0.93 1.19

Tabla 5.4: Minutos por epoch aproximados en cada entrenamiento.

Al encontrarse el error mínimo de validación, se almacenan los parámetros de la red para


su posterior uso en las fases de prueba. Cada experimento finaliza con el almacenamiento de
los resultados, los que se analizan a continuación.

Universidad Austral de Chile


5.7. RESULTADOS 39

5.7 Resultados

Los resultados del modelo, es decir el reconocimiento de acordes, corresponden a las salidas de
la red ŷ para cada frame de entrada. Los resultados del sistema son los archivos de etiquetas
realizadas por el modelo entrenado (ver figura 5.8), las que serán ingresadas a los sistemas
de evaluación. Los porcentajes de acierto luego de la evaluación de los resultados de todas
las canciones por cada caso evaluado, corresponderán a los resultados de los experimentos.
Finalmente, las comparaciones entre los resultados de los experimentos conforman los resul-
tados del proyecto.

La figura 5.8(b) muestra un resultado del sistema para la canción Drive My Car. Los resul-
tados sobre todas las canciones en todos los casos de evaluación del modelo son almacenados
para su evaluación.

Etiquetado Resultado del sistema


Tiempo inicial Tiempo final Clase Tiempo inicial Tiempo final Clase
0.000000 1.129709 N 0.0 3.067 N
1.129709 3.044470 N 3.067 7.156 D:maj
3.044470 5.208150 D 7.156 9.107 G:maj
5.208150 7.158117 D 9.107 9.386 D:maj
7.158117 9.050544 G 9.386 9.572 G:maj
9.050544 11.035850 D 9.572 11.059 D:maj
(a) (b)

Fig. 5.8: Etiquetado (a) y resultados del modelo (b) para los primeros acordes de Drive my Car.

Los promedios de los resultados de los experimentos realizados para la Evaluación de la Base
de Prueba y Evaluación MIR, en todas las ventanas de contexto utilizadas y considerando 128,
256 y 512 neuronas por capa oculta se muestran en las tablas 5.5, 5.6 y 5.7, respectivamente.

Ventanas de contexto
Métrica
1 3 5 7 9
sklearn f1-score 0.816182 0.865368 0.887445 0.895839 0.908433
mir_eval root 0.836672 0.893691 0.904318 0.910657 0.919879
mir_eval maj/min 0.832866 0.897369 0.910419 0.918874 0.929890

Tabla 5.5: Promedios de precisión para la Evaluación de Prueba y Evaluación MIR en el caso
de 128 neuronas por capa oculta.

Universidad Austral de Chile


40

Ventanas de contexto
Métrica
1 3 5 7 9
sklearn f1-score 0.841177 0.892583 0.912692 0.920082 0.922999
mir_eval root 0.857998 0.91709 0.926822 0.930866 0.926563
mir_eval maj/min 0.859062 0.925636 0.936208 0.941160 0.937031

Tabla 5.6: Promedios de precisión para la Evaluación de Prueba y Evaluación MIR en el caso
de 256 neuronas por capa oculta.

Ventanas de contexto
Métrica
1 3 5 7 9
sklearn f1-score 0.897206 0.929928 0.940367 0.954684 0.956298
mir_eval root 0.899990 0.940214 0.941040 0.949364 0.949222
mir_eval maj/min 0.909198 0.951590 0.952898 0.962681 0.962569

Tabla 5.7: Promedios de precisión para la Evaluación de Prueba y Evaluación MIR en el caso
de 512 neuronas por capa oculta.

Las tablas anteriores se representan gráficamente en las figuras 5.9, 5.10 y 5.11, para los
casos de f1-score, root y maj/min respectivamente. Se destacan además los casos de mejor
desempeño.

Fig. 5.9: Resultados de f1-score de la Evaluación de Prueba para los casos de 128, 256 y 512
neuronas por capa oculta con 1, 3, 5, 7 y 9 ventanas de contexto.

Universidad Austral de Chile


5.7. RESULTADOS 41

Fig. 5.10: Resultados de la Evaluación MIR root para los casos de 128, 256 y 512 neuronas
por capa oculta con 1, 3, 5, 7 y 9 ventanas de contexto.

Fig. 5.11: Resultados de la Evaluación MIR maj/min para los casps de 128, 256 y 512 neuronas
por capa oculta con 1, 3, 5, 7 y 9 ventanas de contexto.

En las tablas y figuras recientes queda a la vista que los resultados mejoran al aumentar
el número de neuronas en las capas ocultas y al añadir ventanas de contexto. El aumento es
más notorio al pasar de 1 a 3 ventanas de contexto y utilizar 512 neuronas por capa oculta.
Mayores detalles de los resultados de los experimentos se pueden encontrar en el anexo A.

5.7.1 Resultados Evaluación de la Base de Prueba

El mejor resultado de reconocimiento de acordes, para Evaluación de la Base de Prueba, es el


del caso de 512 neuronas por capa oculta y 9 ventanas de contexto, con un reconocimiento del
95.6298%. La matriz de confusión de la figura 5.12 muestra que todas las clases presentan un
porcentaje de acierto mayor o igual a 92,7%.

Universidad Austral de Chile


42

Fig. 5.12: Matriz de confusión para el caso de 512 neuronas por capa oculta y 9 ventanas de
contexto.

Los resultados mostrados son generales en la tarea de reconocimiento de acordes. Sin


embargo, es interesante analizar si las mejoras al añadir más neuronas o contexto efectivamente
mejora el reconocimiento de todas las clases y en qué proporción. La tabla 5.8 toma como base
el mejor caso (512 neuronas por capa oculta y 9 ventanas de contexto) y muestra la diferencia
de los resultados de precisión por clase de acorde. Notar que si la diferencia es negativa, el
reconocimiento es mejorado por tal mejor caso. Por el contrario, si la diferencia es positiva, el
reconocimiento es empeorado. Los resultados que son mejores que el mejor caso son mostrados

Universidad Austral de Chile


5.7. RESULTADOS 43

en negrita.

Neuronas 128 256 512


V. contexto 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9
C:maj -11.81 -9.23 -6.02 -4.55 -3.72 -12.81 -5.92 -4.76 -1.74 -1.30 -4.73 -2.48 -1.48 -0.01 0.0
C:min -19.81 -14.78 -12.26 -7.74 -8.05 -16.67 -10.75 -5.28 -5.47 -2.89 -8.87 -3.58 -2.45 -1.01 0.0
C#:maj -11.63 -6.59 -5.36 -5.42 -3.61 -8.70 -7.20 -2.54 -1.97 -1.53 -4.35 -1.23 -0.74 0.77 0.0
C#:min -17.14 -9.20 -11.52 -6.65 -4.96 -13.88 -7.46 -4.06 -3.57 -1.07 -7.28 -4.24 -2.37 0.22 0.0
D:maj -13.31 -8.14 -6.06 -5.74 -3.47 -10.39 -6.68 -3.63 -2.64 -1.40 -6.64 -3.01 -1.83 -0.32 0.0
D:min -23.05 -14.90 -12.99 -7.87 -9.35 -19.31 -10.76 -6.72 -7.49 -6.41 -10.19 -5.61 -3.25 -1.30 0.0
D#:maj -13.72 -8.16 -6.48 -3.75 -5.49 -12.27 -7.53 -2.07 -3.19 -1.51 -4.41 -1.18 -0.86 0.76 0.0
D#:min -31.05 -12.11 -9.47 -8.95 -7.37 -16.84 -11.58 -3.16 -4.74 -5.79 -10.53 -1.58 -2.63 -2.11 0.0
E:maj -11.87 -7.60 -4.11 -3.88 -3.83 -8.08 -4.82 -3.00 -2.49 -2.98 -5.30 -2.12 -1.71 -0.24 0.0
E:min -24.10 -14.04 -9.60 -6.28 -6.05 -18.50 -11.53 -5.75 -5.52 -3.94 -10.47 -3.94 -2.37 0.00 0.0
F:maj -15.86 -9.31 -6.77 -5.07 -3.01 -12.19 -4.40 -4.49 -4.50 -3.33 -7.50 -3.86 -1.79 -0.61 0.0
F:min -20.97 -9.59 -9.86 -6.86 -5.19 -15.28 -6.82 -3.66 -5.46 -6.67 -6.71 -2.61 -1.87 -0.55 0.0
F#:maj -19.22 -15.87 -9.09 -9.77 -9.30 -14.20 -9.92 -6.63 -9.92 -7.05 -8.56 -2.92 -2.77 -0.16 0.0
F#:min -18.39 -11.88 -10.52 -8.40 -2.56 -13.29 -8.09 -4.79 -3.25 -2.48 -7.38 -2.74 -2.82 0.23 0.0
G:maj -11.42 -8.01 -7.47 -4.15 -3.96 -9.67 -5.69 -4.08 -3.42 -3.87 -4.68 -2.27 -1.41 0.10 0.0
G:min -24.99 -21.50 -13.62 -9.62 -6.65 -17.15 -10.53 -9.94 -8.04 -6.22 -11.60 -6.93 -5.78 -0.99 0.0
G#:maj -12.55 -8.27 -7.19 -6.01 -6.46 -10.24 -4.75 -7.35 -8.03 -6.33 -5.56 -3.60 -2.10 -0.94 0.0
G#:min -14.69 -13.47 -8.98 -6.53 -4.29 -13.06 -6.33 -2.04 -7.14 -3.88 -5.10 -3.06 -5.71 2.04 0.0
A:maj -11.70 -8.36 -6.33 -4.38 -3.97 -11.32 -6.12 -4.48 -2.59 -2.35 -5.30 -2.32 -1.16 0.06 0.0
A:min -18.38 -10.48 -8.55 -7.32 -9.26 -13.83 -7.69 -6.76 -5.17 -4.97 -7.07 -4.11 -2.74 -0.18 0.0
A#:maj -11.11 -7.76 -5.99 -4.52 -3.62 -9.46 -4.72 -3.66 -4.90 -2.21 -4.80 -2.59 -2.04 -0.06 0.0
A#:min -27.57 -19.55 -12.99 -7.91 -11.19 -17.97 -12.99 -9.94 -8.14 -12.88 -12.54 -6.10 -2.37 -1.02 0.0
B:maj -18.19 -10.52 -7.49 -7.78 -6.17 -13.95 -9.53 -5.32 -5.90 -4.04 -7.96 -3.63 -2.96 -0.31 0.0
B:min -19.66 -14.86 -12.05 -8.15 -4.63 -16.71 -12.89 -7.67 -3.96 -4.10 -9.24 -4.94 -3.65 -0.45 0.0
N -5.89 -2.08 -2.88 -11.32 -7.80 -4.99 -0.88 -0.65 -2.00 -7.15 0.73 2.96 4.19 -0.02 0.0

Tabla 5.8: Variaciones porcentuales en el reconocimiento de las clases de acorde respecto del
mejor caso.

Los resultados de la tabla 5.8 permiten extraer las siguientes conclusiones:

• En general, al aumentar el número de neuronas, se observan mejoras en los desempeños


en la mayoría de las clases.

• Las mejoras más notables se dan en los casos de los acordes que tienen poca participación
en la base de datos, tales como D#:min, A#:min y G:min.

• El aumento del contexto mejora los resultados de reconocimiento en todos los acordes,
aunque se observa una disminución del desempeño en el caso de la clase N.

La matriz de confusión de la figura 5.12 muestra una matriz casi diagonal, que corresponde
al escenario ideal para una matriz de este tipo. Es importante notar que los acordes tienen por
componentes a las notas musicales y por ende, algunas clases de acordes comparten hasta dos
de las tres notas que las conforman. Adicionalmente, dependiendo de la escala musical en que
las canciones estén compuestas, los acordes musicales toman una función determinada y suelen
acompañarse de ciertos acordes para generar la progresión armónica de la frase musical. Es

Universidad Austral de Chile


44

decir, que el sistema reconocedor de acordes se confunda y equivoque la clase objetivo, puede
ser consecuencia de este fenómeno de la teoría musical y no un mero error del modelo. Por esto,
se propone en este trabajo la creación de una matriz de confusión para acordes musicales,
que se muestra en la figura 5.13. En esta matriz de confusión para acordes musicales, se toma en
consideración la relación armónica del acorde objetivo con el acorde predicho por el modelo.
En primer lugar, se ordena de mayor a menor por fila (desde el punto de vista de la clase
objetivo) y se colorea la celda según la relación armónica existente entre los acordes. En el
caso del presente trabajo se determinaron los siguientes colores con sus significados.

• Púrpura a la predicción correcta. Ej: y = ŷ = C:maj.

• Burdeo a la confusión con la V dominante. Ej: y = C:min; ŷ = G:maj.

• Naranjo a la confusión con la V menor (sólo para acordes objetivos menores). Ej: y =
C:min; ŷ = G:min.

• Amarillo a la confusión con la IV. Ej: y = C:maj; ŷ = F:maj.

• Verde a la confusión con su relativa menor (para acordes mayores) o relativa mayor para
acordes mayores. Ej: y = C:maj; ŷ = A:min y viceversa.

• Gris a la confusión con su forma mayor o menor. Ej: y = C:maj; ŷ = C:min y viceversa.

• Negro a la confusión con la clase N. Para la clase objetivo N, todas las clases de confusión
serán negras, puesto que no hay relación armónica con algún acorde (a excepción de la
misma clase N).

Universidad Austral de Chile


5.7. RESULTADOS 45

Fig. 5.13: Matriz de confusión para acordes musicales para el caso de 512 neuronas por capa
oculta y 9 ventanas de contexto.

La matriz de confusión para acordes musicales mostrado en la figura 5.13 muestra que tal
como había sido hipotetizado, los reconocimientos primarios corresponden a la clase objetivo
y que en general, las salidas predichas incorrectas están inclinadas a reconocer acordes que
tienen una relación importante con la clase objetivo, frente a otro tipo de acordes.

Universidad Austral de Chile


46

5.7.2 Resultados Evaluación MIR


La tabla 5.7 junto a las figuras 5.10 y 5.11, muestran que en el caso de la Evaluación MIR, el
caso de mejor desempeño es de 512 neuronas por capa oculta y 7 ventanas de contexto, con
94,9364% y 96,2681% de acierto para las tareas de root y maj/min, respectivamente. Estos
resultados pueden ser conflictivos si es que se considera que la mayor parte de los datos eval-
uados pertenecen al conjunto de entrenamiento, sin embargo hay información interesante que
se puede extraer de esta evaluación.

Dado que mir_eval requiere que se entreguen las anotaciones y las predicciones completas
de las canciones individuales, es posible analizar qué canciones y álbumes el modelo reconoce
mejor o peor. La tabla 5.9 muestra los resultados de precisión para las tareas de root y maj/min.
Se observa que todos los resultados se encuentran entre 93% y 98%. Las figuras 5.14 y 5.15
muestran el detalle del desempeño del modelo para todos los casos. Cabe destacar que, de
forma consistente, todos los resultados con 512 neuronas son superiores a los demás casos
y que el de 7 ventanas de contexto supera ligeramente al de 9 ventanas, siendo la primera
entonces el mejor resultado para la Evaluación MIR. Adicionalmente, los mejores y peores cinco
reconocimientos de las canciones de la base de datos por caso se pueden revisar en el anexo A.

Álbum Precisión root Precisión maj/min


Queen - Greatest Hits 94.65 ± 2.42 96.02 ± 1.01
The Beatles - A Hard Days Night 95.06 ± 1.37 95.38 ± 1.02
The Beatles - Abbey Road 94.17 ± 3.91 96.29 ± 1.68
The Beatles - Beatles For Sale 96.21 ± 1.10 96.15 ± 1.05
The Beatles - Help! 96.17 ± 1.10 96.31 ± 0.83
The Beatles - Let It Be 95.12 ± 2.07 96.01 ± 1.17
The Beatles - Magical Mystery Tour 93.49 ± 4.93 97.09 ± 1.01
The Beatles - Please Please Me 96.11 ± 1.05 96.03 ± 1.05
The Beatles - Rubber Soul 94.91 ± 3.68 96.23 ± 1.42
The Beatles - Sgt. Pepper’s Lonely Hearts ... 94.63 ± 2.89 96.50 ± 1.40
The Beatles - White Album 94.46 ± 4.23 96.79 ± 0.98
The Beatles - With The Beatles 94.67 ± 2.56 95.92 ± 1.04

Tabla 5.9: Porcentaje de aciertos en la Evaluación MIR para el caso de 512 neuronas por capa
oculta y 7 ventanas de contexto. En negrita se destacan los mejores y peores porcentajes.

Universidad Austral de Chile


5.7. RESULTADOS 47

Fig. 5.14: Resultados MIR root por álbum. En negro están los promedios de precisión y en
rojo la desviación estándar.

La figura 5.14 muestra que para la tarea root, en todos los álbumes mejora el reconocimiento
de acordes al aumentar el número de neuronas y de contextos. También se observa que en gen-
eral los resultados son más estables al aumentar la complejidad de la red, disminuyendo la
desviación estándar en todos los álbumes.

Universidad Austral de Chile


48

Fig. 5.15: Resultados MIR maj/min por álbum. En negro están los promedios de precisión y en
rojo la desviación estándar.

La figura 5.15 muestra que en maj/min ocurre una situación equivalente al caso root, es
decir que en todos los álbumes mejora el reconocimiento de acordes al aumentar el número
de neuronas y de contextos, siendo tales resultados igualmente más estables al aumentar la
complejidad de la red.

Universidad Austral de Chile


5.7. RESULTADOS 49

5.7.3 Resultados con canciones fuera de la base de datos


El desempeño del modelo es superior al 90% en las canciones de la base de datos utilizada. Sin
embargo, el hecho de que los porcentajes de reconocimiento sean tan altos podría indicar que
el modelo se ha sobreajustado. Con el fin de evidenciar si el modelo es capaz de generalizar la
tarea de reconocer acordes musicales, se procede a evaluarlo con canciones que no pertenecen
a la base de datos. Las canciones fueron escogidas cuidando que los acordes utilizados en éstas
sean únicamente mayores y menores y se etiquetaron utilizando el software Sonic Visualiser.
Dado que el proceso bastante laborioso, sólo se escogieron cuatro canciones. Este claramente
no es un escenario ideal para evaluar el desempeño del sistema, por lo que este proceso sólo
servirá para aportar evidencia de la generalización del modelo. Las canciones fueron escogidas
considerando que fuesen fácilmente identificables en el género pop-rock, principalmente de
guitarras y con distinto grado de distorsión.

Canción Duración
Coldplay - Don’t Panic 2:17
Los Prisioneros - Tren Al Sur 5:35
Nirvana - About A Girl 2:49
Soda Stereo - Té Para Tres (MTV plugged) 2:27

Tabla 5.10: Canciones determinadas para el conjunto de datos externos.

(a) Etiquetado humano.

(b) Resultado del modelo con 512 neuronas y 7 ventana de contexto (mejor caso).

Fig. 5.16: Resultados de reconocimiento de acordes para los primeros 15 segundos de la can-
ción de Soda Stereo - Té Para Tres en el mejor caso (b), en comparación con el etiquetado
humano (a).

Universidad Austral de Chile


50

Fig. 5.17: Porcentaje de precisión en la Evaluación MIR mir_eval root para el conjunto de
datos externos.

Fig. 5.18: Porcentaje de precisión en la Evaluación MIR maj/min para el conjunto de datos
externos.

En general es posible afirmar que el modelo logra generalizar el problema de reconocimiento

Universidad Austral de Chile


5.7. RESULTADOS 51

de acordes, incluso en canciones que no pertenecen a la base de datos utilizada para entrenarlo.
Los resultados de la figura 5.16 dan cuenta de esto. Sin embargo al analizar los desempeños
del modelo en todos los casos, como muestran las figuras 5.17 y 5.18, los resultados no mues-
tran una tendencia clara, aumentar la complejidad de la red no incide en un mejoramiento del
desempeño y por tanto, si bien los resultados son bastante decentes (sobre el 50% en casi todas
las canciones), no es posible determinar un mejor caso en esta situación.

Universidad Austral de Chile


Capítulo 6

Conclusiones y Discusión del Proyecto

6.1 Conclusiones
Se realizó un trabajo de formulación e implementación de redes neuronales profundas para
reconocimiento automático de acordes musicales, en lenguaje Python, siendo esta red una del
tipo prealimentada y completamente conectada (FCN) de tres capas ocultas. La entrada cor-
responde a un espectrograma de cuarto de tono de 147 elementos. La salida corresponde al
índice de acorde, conteniendo las formas mayores y menores e incluyendo la clase N que repre-
senta la ausencia de acorde. La red fue evaluada en distintos casos que involucraron cambios
de número de neuronas por capa oculta (128, 256 y 512) y la incorporación de ventanas de
contexto. Por otro lado, la base de datos utilizada corresponde a un subconjunto importante
de Isophonics, una base de datos estándar para la investigación MIR en estimación de acordes.
Finalmente se evaluó el desempeño del modelo mediante dos métricas distintas, en la primera
se evalúa únicamente el conjunto de prueba y en la segunda, llamada Evaluación MIR se evalúa
la base de datos completa, pues este sistema tiene como requisito ingresar las canciones com-
pletas.

Las conclusiones principales de este trabajo son:

• Dadas las características de la música pertenecientes a la base de datos (canciones de


rock clásico, principalmente de guitarras), las clases de acordes presentes en ella están
desbalanceadas. Por esto, la distribución de la base de datos en los conjuntos de entre-
namiento, validación y prueba fue realizada mediante balanceo estratificado, en función
de la cantidad de apariciones de los acordes.

• En ambas evaluaciones del desempeño del modelo entrenado (ver figuras 5.9, 5.10 y
5.11) se observa una mejoría en los resultados tanto al aumentar el número de neuronas
ocultas como al añadir ventanas de contexto.

52
6.1. CONCLUSIONES 53

• En el caso del aumento de neuronas ocultas, las mejoras son más notorias al llegar a las
512 neuronas.

• En el caso de la adición de ventanas de contexto, se aprecia una mejoría más notable


al pasar de 1 ventana a 3, sobre todo considerando que al añadir ventanas de contexto
también aumenta considerablemente el tiempo que demora en entrenar el modelo (ver
tabla 5.4).

• Se observa una estabilización del desempeño del modelo cuando se aumenta de las 3
ventanas de contexto. Al realizar un análisis más detallado se observa la presencia de un
trade-off de reconocimiento, que se indican a continuación.

– Al aumentar las ventanas de contexto, el reconocimiento de los acordes (sobre todo


aquellos que se mantienen por un tiempo) se estabiliza, mejorando los resultados.
Si se utilizan pocas o sólo la ventana de tiempo presente, se observa una desestibi-
lización del reconocimiento, confundiendo generalmente al acorde objetivo con su
forma menor o algún acorde con el que comparte información armónica.

– Se observa que al aumentar las ventanas de contexto, la red demora más en recono-
cer los cambios de acorde, generando peores resultados sobre todo con la clase N
(ver tabla 5.8). Si bien no hay un análisis suficientemente profundo para afirmar
esto, queda en consideración para futuras investigaciones.

• En general, tal como muestra la matriz de confusión de la figura 5.12, los porcentajes de
reconocimiento son bastante altos (sobre el 92,7% en cada clase de acorde), sin embargo
al involucrar relaciones armónicas y de progresión musicales entre las clases por medio de
la matriz de confusión para acordes musicales (ver figura 5.13) propuesta en este trabajo,
se revela que los errores del modelo tienen una explicación musical. Es decir que, si bien
la red comete errores, estos presentan una preferencia por algún acorde que tenga una
relación armónica con el acorde objetivo.

• Al probar el modelo con canciones externas a la base de datos utilizada para entre-
namiento, en las figuras 5.16, 5.17 y 5.18 muestran que el modelo sí es capaz de gen-
eralizar el problema de reconocimiento de acordes con canciones externas, alcanzando
porcentajes de precisión superariores al 50% en las canciones evaluadas. Sin embargo,
los resultados no muestran grandes variaciones o una preferencia sobre algún caso eval-
uado en particular. Aumentar la complejidad del modelo en estas canciones evaluadas,
no resultó en mejores desempeños.

Universidad Austral de Chile


54

6.2 Discusión
A continuación se presentan algunas discusiones que surgen del trabajo realizado en el presente
proyecto y sus resultados.

Respecto del trabajo


• Es discutible si se optó por la mejor forma de evaluar el desempeño del modelo, ya que
en el caso de evaluación por mir_eval era necesario incluir datos que están presentes
en el conjunto de entrenamiento. Por esto mismo se optó por etiquetar canciones fuera
de la base de datos. Los resultados al aplicar el sistema reconocedor de acordes sobre
estas canciones muestran que el modelo sí es capaz de generalizar el problema de re-
conocimiento de acordes, aunque claramente se observa que los resultados no son tan
buenos como en la evaluación previa. De cualquier forma, los resultados de este desem-
peño sólo pueden mostrarse como evidencia de generalización del problema por parte
del modelo y no como un resultado general de reconocimiento de acordes para una base
de datos externa.

• Al definir las condiciones de acierto y error para las tareas root y maj/min (ver tabla 5.3),
se da a entender que la tarea root es más fácil de acertar que en maj/min. Uno esperaría
que root presente entonces mejores resultados, sin embargo esto tal como muestra la
tabla 5.9, no sucede. La razón de esto se puede explicar por varias razones:

1. La evaluación root, independiente de la clase de acorde objetivo determinado en el


etiquetado, sólo considera la nota fundamental del acorde predicho con el objetivo
y los compara. En cambio, la evaluación maj/min excluye los acordes que no son
mayores y menores. Entonces por ejemplo, si la clase objetivo es D#:dim7 y la clase
predicha es C:min o C:maj, la tarea maj/min lo excluye de la evaluación1 , mientras
que esto, en la tarea root, es considerado error pues las notas fundamentales no
coinciden.
2. En el trabajo de redistribución de los acordes musicales para entrenar, validar y
probar el modelo se excluyeron los acordes que no son del tipo mayores o menores.
3. Por las razones 1 y 2, se puede afirmar que la red no fue entrenada con acordes
mayores y menores, sin embargo como el contenido de audio es musical y con-
tiene información armónica, la red neuronal está obligada a tomar una decisión de
clasificación. Por su parte la evaluación root evaluó situaciones que involucran la
1
Este ejemplo sucede repetidas veces en el caso de la canción Blue Jay Way de The Beatles, lo que explica por
qué simultáneamente es el mejor reconocimiento maj/min y uno de los peores reconocimientos root al ver las
tablas en los anexos.

Universidad Austral de Chile


6.2. DISCUSIÓN 55

presencia de aquellos excluidos, empeorando entonces sus resultados frente a los


obtenidos en la tarea maj/min.

• Al comenzar el trabajo del presente proyecto los porcentajes de reconocimiento de acordes


no superaban el 80% hasta que se incorporó la distribución de los conjuntos de entre-
namiento, prueba y validación a partir de la distribución de los acordes, con el fin que
todos fuesen representados con la misma proporción en todos los conjuntos. El autor
del trabajo considera que este paso mejoró drásticamente el desempeño del modelo ya
que de no hacerlo, se corría el peligro de que algunas clases de acordes estuviesen muy
subrepresentados o derechamente ausentes en algunos de los conjuntos mencionados.

Respecto de trabajos futuros


• Primero que todo es indispensable contar con una mayor cantidad de datos para que el
modelo sea capaz de generalizar mejor el problema. Es sabido que las redes neuronales
profundas independientes de su arquitectura no son sólo capaces, sino que son mejores
al tratar con grandes cantidades de datos.

• Si bien no se realizó un estudio al respecto, dada la distribución de los acordes mayores


y menores de la figura 5.6, es bastante probable que si se incluyeran en el trabajo los
acordes aumentados, disminuidos y suspendidos, algunos acordes no estén presentes
en la base de datos. Aumentar entonces la base de datos para esta tarea, permitiría
aumentar la cantidad de clases de salida para incorporar aquellos acordes mencionados.
Es probable que un trabajo previo de aumentación de datos musicales no sólo aumente la
cantidad de datos sino que también redistribuya mejor la presencia de acordes. Se debe
considerar que en este problema, aumentar o disminuir en un semitono, cambia la clase
de acorde; y si se modifican temporalmente las señales, cambian los tiempos de inicio y
término de acorde.

Universidad Austral de Chile


Referencias

[Abu-Mostafa et al., 2012] Abu-Mostafa, Y. S., Magdon-Ismail, M., and Lin, H.-T. (2012).
Learning From Data. A short course. AMLBook.

[Berenson, 1994] Berenson, F. (1994). Representation And Music. British Journal of Aesthetics,
Vol. 34. No 1.

[Burgoyne et al., 2016] Burgoyne, J. A., Fujinaga, I., and Downie, J. S. (2016). Music Infor-
mation Retrieval. In A New Companion to Digital Humanities, First Edition. John Wiley &
Sons, Ltd., Estados Unidos.

[Chafe et al., 1985] Chafe, C., Jaffe, D. A., Kashima, K., Mont-Reynaud, B., and Smith, J. O.
(1985). Techniques for note identification in polyphonic music. In Proceddings of the 1985
International Computer Music Conference, Burnaby, B.C., Canada. International Computer
Music Association, International Computer Music Association.

[Choi et al., 2016] Choi, K., Fazekas, G., and Sandler, M. (2016). Automatic Tagging Using
Deep Convolutional Neural Networks. In Proceedings of the 17th ISMIR Conference, Nueva
York, Estados Unidos. ISMIR.

[Futrelle and Downie, 2003] Futrelle, J. and Downie, J. S. (2003). Interdisciplinary Research
Issues in MusicInformation Retrieval: ISMIR 20002002. Interdisciplinary Research Issues
inMusic Information Retrieval: ISMIR 20002002, Journal of New Music Research.

[Han et al., 2017] Han, Y., Kim, J., and Lee, K. (2017). Deep Convolutional Neural Networks
for Predominant Instrument Recognition in Polyphonic Musics. IEEE/ACM Transactions on
Audio, Speech, and Language Processing, 25(1):208–221.

[Hankinson et al., 2012] Hankinson, A., Burgoyne, J. A., Vigliensoni, G., and Fujinaga, I.
(2012). Creating a Large-Scale Searchable Digital Collection from Printed Music Materi-
als. In Proceedings of the 21th International Conference Companion on World Wide Web -
WWW’ ’12, Nueva York, Estados Unidos. WWW 2012.

[Harte et al., 2005] Harte, C., Sandler, M., and Abdallah, S. (2005). Symbolic Representation
of Musical Chords: A Proposed Syntax for Text Annotations. In 6th International Conference
on Music Information Retrieval ISMIR 2005, Londres, Reino Unido. ISMIR.

56
REFERENCIAS 57

[He et al., 2015] He, K., Zhang, X., Ren, S., and Sun, J. (2015). Delving Deep into Rectifiers:
Surpassing Human-Level Performance on ImageNet Classification. arXiv:1502.01852.

[Hinton et al., 2012] Hinton, G., Deng, L., Yu, D., Dahl, G. E., Mohamed, A.-R., Jaitly, N.,
Senior, A., Vanhoucke, V., Sainath, T. N., and Kingsbury, B. (2012). Deep Neural Networks
for Acoustic Modeling in Speech Recognition. IEEE Signal Processing Magazine, pages 82–97.

[Kageyama et al., 1993] Kageyama, T., Mochizuki, K., and Takashima, Y. (1993). Melody re-
trieval with humming. In ICMC.

[Kingma and Ba, 2014] Kingma, D. P. and Ba, J. L. (2014). Adam: A Method For Stochastic Op-
timization. In 3rd International Conference for Learning Representations, San Diego, Estados
Unidos. ICLR.

[Korzeniowski and Widmer, 2016] Korzeniowski, F. and Widmer, G. (2016). Feature Learn-
ing for Chord Recognition: The Deep Chroma Extractor. In Proceedings of the 17th ISMIR
Conference, Nueva York, Estados Unidos. ISMIR.

[Lincoln, 1972] Lincoln, H. (1972). Uses of the Computer in Music Composition and Research.
Advances in Computers, 12:73–114.

[McAdams, 1999] McAdams, S. (1999). Perspectives con the Contribution of Timbre to Musi-
cal Structure. Computer Music Journal.

[Mogensen, 2019] Mogensen, R. (2019). Human-machine improvisation: an analytical ap-


proach to human-computer co-creativity in improvised music.

[Myers, 1907] Myers, C. (1907). The Ethnological Study of Music. Clarendon Press.

[Prechelt, 2012] Prechelt, L. (2012). Early Stopping — But When?, pages 53–67. Springer
Berlin Heidelberg, Berlin, Heidelberg.

[Raffel et al., 2014] Raffel, C., McFee, B., Humphrey, E. J., Salamon, J., Nieto, O., Liang, D.,
and Ellis, D. P. W. (2014). mir_eval: A Transparent Implementation of Common MIR Met-
rics. In Proceedings of the 15th International Conference on Music Information Retrieval (IS-
MIR), Taipei, Taiwan.

[Risset and Mathews, 1969] Risset, J.-C. and Mathews, M. (1969). Analysis of Musical Instru-
ment Tones. Physics Today, 22(2):23 – 30.

[Ruder, 2016] Ruder, S. (2016). An overview of gradient descent optimization algorithms.


CoRR, abs/1609.04747.

[Russell and Norvig, 2010] Russell, S. and Norvig, P. (2010). Artificial Intelligence: A Modern
Approach. Prentice Hall Series in Artificial Intelligence. Prentice Hall, 3rd edition.

Universidad Austral de Chile


58

[Salamon and Bello, 2016] Salamon, J. and Bello, J. P. (2016). Deep convolutional neu-
ral networks and data augmentation for environmental sound classification. CoRR,
abs/1608.04363.

[Schedl et al., 2014] Schedl, M., Gómez, E., and Urbano, J. (2014). Music Information Re-
trieval: Recent Developments and Applications. Foundations in Trends in Information Retrieval,
volume 8 of 127-261. now Publishers.

[Schedl et al., 2011] Schedl, M., Knees, P., and Böck, S. (2011). Investigating the Similarity
Space of Music Artists in the Micro-Blogosphere. In 12th International Society for Music
Information Retrieval Conference (ISMIR 2011). ISMIR.

[Scruton, 1976] Scruton, R. (1976). Representation in music. Philosophy, 51(197):273–287.

[Slawson, 1968] Slawson, A. (1968). Vowel Quality and Musical Timbre as Functions of Spec-
trum Envelope and Fundamental Frequency. Journal of the Acoustical Society of America,
43(1):87 – 101.

[Srivastava et al., 2014] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., and Salakhut-
dinov, R. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting.
Journal of Machine Learning, 15:1929 – 1958.

[von Hornbostel, 1906] von Hornbostel, E. (1906). Phonographierte tunesische Melodien.

[Whitman, 2005] Whitman, B. A. (2005). Learning the Meaning of Music. PhD thesis, Mas-
sachusetts Institute of Technology.

[Òscar Celma, 2010] Òscar Celma (2010). Music Recommendation and Discovery: In The Long
Road. Springer.

Universidad Austral de Chile


Anexo A

Resultados de los Experimentos

59
60

128 Neuronas Ocultas per Capa Oculta - 1 Ventana de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.817826 0.820046 0.813920 0.815458 0.813661 0.816182 0.002434
mir_eval root 0.838493 0.839884 0.836023 0.834504 0.834459 0.836672 0.008297
mir_eval maj/min 0.834897 0.836759 0.832120 0.829812 0.830743 0.832866 0.010085

Tabla A.1: Resultados de precisión (weighted average) del sistema para el caso de 128 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Canción Promedio root


The Beatles - Within You Without You 0.927825
The Beatles - P.S. I Love You 0.926903
The Beatles - Come Together 0.922632
The Beatles - Norwegian Wood (This Bird Has Flown) 0.921662
The Beatles - Julia 0.920141
... ...
The Beatles - Her Majesty 0.700166
The Beatles - Glass Onion 0.692141
The Beatles - Lovely Rita 0.690068
The Beatles - Wild Honey Pie 0.682474
The Beatles - Being From The Benefit Of Mr. Kite! 0.671484

Tabla A.2: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.985785
The Beatles - Because 0.942596
The Beatles - Within You Without You 0.927580
The Beatles - Norwegian Wood (This Bird Has Flown) 0.912354
The Beatles - Julia 0.910880
... ...
The Beatles - I’m Happy Just To Dance With You 0.710736
Queen - Crazy Little Thing Called Love 0.701608
The Beatles - Don’t Bother Me 0.688962
The Beatles - Wild Honey Pie 0.679429
The Beatles - Being From The Benefit Of Mr. Kite! 0.630904

Tabla A.3: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea maj/min.

Universidad Austral de Chile


61

Fig. A.1: Matriz de confusión del sistema con la métrica sklearn para el caso de 128 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Universidad Austral de Chile


62

256 Neuronas Ocultas per Capa Oculta - 1 Ventana de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.841481 0.841201 0.838404 0.841325 0.843476 0.841177 0.001618
mir_eval root 0.85789 0.85987 0.853905 0.856594 0.861731 0.857998 0.008169
mir_eval maj/min 0.859142 0.860024 0.854277 0.856948 0.864921 0.859062 0.009483

Tabla A.4: Resultados de precisión (weighted average) del sistema para el caso de 256 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Canción Promedio root


The Beatles - Within You Without You 0.948119
The Beatles - Come Together 0.942233
The Beatles - Sun King 0.934882
The Beatles - Norwegian Wood (This Bird Has Flown) 0.933699
The Beatles - If I Needed Someone 0.932896
... ...
The Beatles - Lovely Rita 0.745119
The Beatles - Her Majesty 0.744324
The Beatles - I’m Happy Just To Dance With You 0.738736
The Beatles - Being From The Benefit Of Mr. Kite! 0.734529
The Beatles - Glass Onion 0.721152

Tabla A.5: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.983955
The Beatles - Within You Without You 0.948573
The Beatles - Because 0.942398
The Beatles - Sun King 0.933707
The Beatles - Come Together 0.926935
... ...
The Beatles - Wild Honey Pie 0.757761
Queen - Crazy Little Thing Called Love 0.755479
The Beatles - Don’t Bother Me 0.736960
The Beatles - I’m Happy Just To Be With You 0.735689
The Beatles - Being From The Benefit Of Mr. Kite! 0.714574

Tabla A.6: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea maj/min.

Universidad Austral de Chile


63

Fig. A.2: Matriz de confusión del sistema con la métrica sklearn para el caso de 256 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Universidad Austral de Chile


64

512 Neuronas Ocultas per Capa Oculta - 1 Ventana de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.897103 0.895914 0.899964 0.893954 0.899094 0.897206 0.002164
mir_eval root 0.899682 0.898624 0.901595 0.898493 0.901555 0.899990 0.004465
mir_eval maj/min 0.909072 0.907304 0.911232 0.907030 0.911351 0.909198 0.004473

Tabla A.7: Resultados de precisión (weighted average) del sistema para el caso de 512 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Canción Promedio root


The Beatles - Come Together 0.972605
The Beatles - Within You Without You 0.972414
The Beatles - If I Needed Someone 0.963174
The Beatles - Don’t Pass Me By 0.961078
The Beatles - Why Don’t We Do It In The Road 0.959478
... ...
The Beatles - Polythene Pam 0.813463
The Beatles - Her Majesty 0.791231
The Beatles - Michelle 0.789030
The Beatles - Blackbird 0.785262
The Beatles - Glass Onion 0.759421

Tabla A.8: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.994847
The Beatles - Within You Without You 0.973591
The Beatles - Come Together 0.969184
The Beatles - Because 0.961246
The Beatles - Don’t Pass Me By 0.961190
... ...
The Beatles - Her Majesty 0.838085
The Beatles - Dig It 0.834585
The Beatles - Being From The Benefit Of Mr. Kite! 0.834475
The Beatles - I’m Happy Just To Dance With You 0.829971
The Beatles - Polythene Pam 0.809314

Tabla A.9: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 1 ventana de contexto para la tarea maj/min.

Universidad Austral de Chile


65

Fig. A.3: Matriz de confusión del sistema con la métrica sklearn para el caso de 512 neuronas
ocultas per capa oculta con 1 ventana de contexto.

Universidad Austral de Chile


66

128 Neuronas Ocultas per Capa Oculta - 3 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.863742 0.865169 0.864267 0.864665 0.868999 0.865368 0.001875
mir_eval root 0.893984 0.892544 0.888864 0.892547 0.900519 0.893691 0.008450
mir_eval maj/min 0.897466 0.896296 0.891552 0.895971 0.905560 0.897369 0.009829

Tabla A.10: Resultados de precisión (weighted average) del sistema para el caso de 128 neu-
ronas ocultas per capa oculta con 3 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.964020
The Beatles - Julia 0.954908
The Beatles - Within You Without You 0.954889
The Beatles - P.S. I Love You 0.952944
The Beatles - Norwegian Wood (This Bird Has Flown) 0.951829
... ...
The Beatles - Flying 0.793553
The Beatles - Lovely Rita 0.790427
The Beatles - Her Majesty 0.780469
The Beatles - Being From The Benefit Of Mr. Kite! 0.775238
The Beatles - Glass Onion 0.744726

Tabla A.11: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.993627
The Beatles - Because 0.969223
The Beatles - Within You Without You 0.954972
The Beatles - Come Together 0.954787
The Beatles - Julia 0.951117
... ...
The Beatles - Good Morning, Good Morning 0.817878
Queen - Crazy Little Thing Called Love 0.815094
The Beatles - Wild Honey Pie 0.794120
The Beatles - Don’t Bother Me 0.792081
The Beatles - Being From The Benefit Of Mr. Kite! 0.765903

Tabla A.12: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


67

Fig. A.4: Matriz de confusión del sistema con la métrica sklearn para el caso de 128 neuronas
ocultas per capa oculta con 3 ventanas de contexto.

Universidad Austral de Chile


68

256 Neuronas Ocultas per Capa Oculta - 3 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.898289 0.887334 0.893415 0.890938 0.892941 0.892583 0.003567
mir_eval root 0.925591 0.909028 0.916995 0.915434 0.918430 0.917095 0.009523
mir_eval maj/min 0.935456 0.917479 0.925521 0.923019 0.926709 0.925636 0.010182

Tabla A.13: Resultados de precisión (weighted average) del sistema para el caso de 256 neu-
ronas ocultas per capa oculta con 3 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.977779
The Beatles - If I Needed Someone 0.966097
The Beatles - Norwegian Wood (This Bird Has Flown) 0.965831
The Beatles - Within You Without You 0.964915
The Beatles - Don’t Pass Me By 0.964827
... ...
The Beatles - Lovely Rita 0.823394
The Beatles - Michelle 0.820394
The Beatles - Flying 0.815205
The Beatles - Her Majesty 0.804547
The Beatles - Glass Onion 0.781776

Tabla A.14: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.995210
The Beatles - Because 0.974288
The Beatles - Come Together 0.973107
The Beatles - Within You Without You 0.965741
The Beatles - Don’t Pass Me By 0.964142
... ...
The Beatles - Wild Honey Pie 0.866397
The Beatles - Good Morning, Good Morning 0.864808
The Beatles - Polythene Pam 0.854020
The Beatles - Don’t Bother Me 0.848307
The Beatles - Being From The Benefit Of Mr. Kite! 0.845668

Tabla A.15: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


69

Fig. A.5: Matriz de confusión del sistema con la métrica sklearn para el caso de 256 neuronas
ocultas per capa oculta con 3 ventanas de contexto.

Universidad Austral de Chile


70

512 Neuronas Ocultas per Capa Oculta - 3 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.929407 0.926364 0.935942 0.932210 0.925717 0.929928 0.003797
mir_eval root 0.939562 0.935736 0.945301 0.943173 0.937301 0.940214 0.005705
mir_eval maj/min 0.950792 0.946158 0.957494 0.955164 0.948342 0.951590 0.006062

Tabla A.16: Resultados de precisión (weighted average) del sistema para el caso de 512 neu-
ronas ocultas per capa oculta con 3 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.986285
The Beatles - Within You Without You 0.983488
The Beatles - If I Needed Someone 0.983045
The Beatles - Sun King 0.982050
The Beatles - Norwegian Wood (This Bird Has Flown) 0.980313
... ...
The Beatles - Blue Jay Way 0.844899
The Beatles - Michelle 0.838978
The Beatles - Flying 0.838676
The Beatles - Blackbird 0.833585
The Beatles - Glass Onion 0.796812

Tabla A.17: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.998069
The Beatles - Within You Without You 0.985841
The Beatles - Come Together 0.985215
Queen - We Will Rock You 0.983837
The Beatles - Because 0.982642
... ...
The Beatles - Words Of Love 0.915387
The Beatles - Dig It 0.913850
Queen - Crazy Little Thing Called Love 0.910972
The Beatles - Don’t Bother Me 0.902371
The Beatles - Polythene Pam 0.890463

Tabla A.18: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 3 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


71

Fig. A.6: Matriz de confusión del sistema con la métrica sklearn para el caso de 512 neuronas
ocultas per capa oculta con 3 ventanas de contexto.

Universidad Austral de Chile


72

128 Neuronas Ocultas per Capa Oculta - 5 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.892929 0.887560 0.886808 0.883416 0.886511 0.887445 0.003085
mir_eval root 0.910023 0.903728 0.900563 0.903092 0.904186 0.904318 0.009252
mir_eval maj/min 0.917077 0.909660 0.906158 0.908944 0.910255 0.910419 0.010067

Tabla A.19: Resultados de precisión (weighted average) del sistema para el caso de 128 neu-
ronas ocultas per capa oculta con 5 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.969753
The Beatles - If I Needed Someone 0.958174
The Beatles - Within You Without You 0.957359
The Beatles - Don’t Pass Me By 0.955924
The Beatles - Sun King 0.954844
... ...
The Beatles - Michelle 0.801255
The Beatles - Blackbird 0.796704
The Beatles - Her Majesty 0.795892
The Beatles - Flying 0.793549
The Beatles - Glass Onion 0.762911

Tabla A.20: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.990211
The Beatles - Come Together 0.962111
The Beatles - Within You Without You 0.957750
Queen - We Will Rock You 0.957539
The Beatles - Don’t Pass Me By 0.955048
... ...
The Beatles - I’m Just Happy To Dance With You 0.847141
The Beatles - Good Morning, Good Morning 0.843876
The Beatles - Don’t Bother Me 0.838326
The Beatles - Wild Honey Pie 0.834103
The Beatles - Being From The Benefit Of Mr. Kite! 0.820555

Tabla A.21: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


73

Fig. A.7: Matriz de confusión del sistema con la métrica sklearn para el caso de 128 neuronas
ocultas per capa oculta con 5 ventanas de contexto.

Universidad Austral de Chile


74

256 Neuronas Ocultas per Capa Oculta - 5 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.916324 0.907607 0.914425 0.916680 0.912930 0.913593 0.003285
mir_eval root 0.930956 0.919049 0.928040 0.927997 0.928067 0.926822 0.008572
mir_eval maj/min 0.940963 0.926689 0.937886 0.937761 0.937741 0.936208 0.009540

Tabla A.22: Resultados de precisión (weighted average) del sistema para el caso de 256 neu-
ronas ocultas per capa oculta con 5 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.983444
The Beatles - Sun King 0.970733
The Beatles - Don’t Pass Me By 0.970519
The Beatles - Mr. Moonlight 0.969386
The Beatles - Norwegian Wood (This Bird Has Flown) 0.967313
... ...
The Beatles - Flying 0.827771
The Beatles - Michelle 0.821231
The Beatles - Her Majesty 0.819164
The Beatles - Blackbird 0.810552
The Beatles - Glass Onion 0.787857

Tabla A.23: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.993945
The Beatles - Come Together 0.980014
The Beatles - Don’t Pass Me By 0.970661
The Beatles - Within You Without You 0.968577
The Beatles - Sun King 0.968531
... ...
The Beatles - Being From The Benefit Of Mr. Kite! 0.887598
The Beatles - Good Morning, Good Morning 0.886727
The Beatles - I’m Happy Just To Dance With You 0.886001
The Beatles - Her Majesty 0.885864
The Beatles - Polythene Pam 0.884911

Tabla A.24: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


75

Fig. A.8: Matriz de confusión del sistema con la métrica sklearn para el caso de 256 neuronas
ocultas per capa oculta con 5 ventanas de contexto.

Universidad Austral de Chile


76

512 Neuronas Ocultas per Capa Oculta - 5 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.940004 0.942753 0.938774 0.937041 0.943264 0.940367 0.002359
mir_eval root 0.940290 0.944025 0.939751 0.938494 0.942639 0.941040 0.004711
mir_eval maj/min 0.952391 0.956365 0.951426 0.949795 0.954513 0.952898 0.004947

Tabla A.25: Resultados de precisión (weighted average) del sistema para el caso de 512 neu-
ronas ocultas per capa oculta con 5 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.987552
The Beatles - Sun King 0.983706
The Beatles - Within You Without You 0.982907
Queen - We Will Rock You 0.982415
The Beatles - If I Needed Someone 0.979337
... ...
The Beatles - Blue Jay Way 0.844717
The Beatles - Flying 0.841728
The Beatles - Michelle 0.832809
The Beatles - Blackbird 0.823269
The Beatles - Glass Onion 0.805180

Tabla A.26: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.999067
Queen - We Will Rock You 0.987454
The Beatles - Come Together 0.986981
The Beatles - Within You Without You 0.985256
The Beatles - Sun King 0.982988
... ...
The Beatles - Dig It 0.914553
The Beatles - Her Majesty 0.914164
The Beatles - Good Morning, Good Morning 0.912267
The Beatles - I’m Happy Just To Dance With You 0.910848
The Beatles - Polythene Pam 0.901016

Tabla A.27: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 5 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


77

Fig. A.9: Matriz de confusión del sistema con la métrica sklearn para el caso de 512 neuronas
ocultas per capa oculta con 5 ventanas de contexto.

Universidad Austral de Chile


78

128 Neuronas Ocultas per Capa Oculta - 7 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.902629 0.904624 0.889068 0.905198 0.891357 0.898575 0.006919
mir_eval root 0.915131 0.917217 0.903739 0.915153 0.907357 0.911719 0.010654
mir_eval maj/min 0.924367 0.926651 0.912413 0.924393 0.915638 0.920692 0.011103

Tabla A.28: Resultados de precisión (weighted average) del sistema para el caso de 128 neu-
ronas ocultas per capa oculta con 7 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.972049
The Beatles - Within You Without You 0.968968
The Beatles - Don’t Pass Me By 0.966401
The Beatles - Sun King 0.963836
The Beatles - Julia 0.961345
... ...
The Beatles - Michelle 0.812874
The Beatles - Blackbird 0.804274
The Beatles - Flying 0.802778
The Beatles - Her Majesty 0.801340
The Beatles - Glass Onion 0.790737

Tabla A.29: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.989605
The Beatles - Within You Without You 0.970752
The Beatles - Come Together 0.969507
The Beatles - Because 0.968234
The Beatles - Don’t Pass Me By 0.966449
... ...
The Beatles - Good Morning, Good Morning 0.866304
The Beatles - Wild Honey Pîe 0.863588
The Beatles - Her Majesty 0.863151
The Beatles - Being From The Benefit For Mr. Kite! 0.861014
The Beatles - Polythene Pam 0.859670

Tabla A.30: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


79

Fig. A.10: Matriz de confusión del sistema con la métrica sklearn para el caso de 128 neuronas
ocultas per capa oculta con 7 ventanas de contexto.

Universidad Austral de Chile


80

256 Neuronas Ocultas per Capa Oculta - 7 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.917881 0.920496 0.924987 0.916922 0.919719 0.920001 0.002798
mir_eval root 0.929653 0.927472 0.934854 0.930492 0.931858 0.930866 0.008250
mir_eval maj/min 0.939670 0.937444 0.945771 0.940372 0.942544 0.941160 0.009451

Tabla A.31: Resultados de precisión (weighted average) del sistema para el caso de 256 neu-
ronas ocultas per capa oculta con 7 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.982191
The Beatles - Don’t Pass Me By 0.977979
The Beatles - Sun King 0.970915
Queen - We Will Rock You 0.969290
The Beatles - Baby It’s You 0.969113
... ...
The Beatles - Because 0.827208
The Beatles - Flying 0.822768
The Beatles - Michelle 0.813380
The Beatles - Glass Onion 0.809467
The Beatles - Blackbird 0.808049

Tabla A.32: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.994826
The Beatles - Don’t Pass Me By 0.977821
The Beatles - Come Together 0.977672
Queen - We Will Rock You 0.975267
The Beatles - Sun King 0.972181
... ...
The Beatles - I’m Happy Just To Dance With You 0.905588
The Beatles - Little Child 0.903988
The Beatles - Good Night 0.903522
The Beatles - Being From The Benefit Of Mr. Kite! 0.898457
The Beatles - Polythene Pam 0.895421

Tabla A.33: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


81

Fig. A.11: Matriz de confusión del sistema con la métrica sklearn para el caso de 256 neuronas
ocultas per capa oculta con 7 ventanas de contexto.

Universidad Austral de Chile


82

512 Neuronas Ocultas per Capa Oculta - 7 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.957920 0.957262 0.957909 0.942651 0.957677 0.954684 0.006021
mir_eval root 0.951918 0.951005 0.953336 0.937914 0.952646 0.949364 0.007704
mir_eval maj/min 0.965542 0.964265 0.966862 0.950746 0.965990 0.962681 0.007761

Tabla A.34: Resultados de precisión (weighted average) del sistema para el caso de 512 neu-
ronas ocultas per capa oculta con 7 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.988925
The Beatles - Don’t Pass Me By 0.987898
The Beatles - Within You Without You 0.983427
The Beatles - Sun King 0.983419
The Beatles - Norwegian Wood (This Bird Has Flown) 0.979751
... ...
The Beatles - Flying 0.845203
The Beatles - Blue Jay Way 0.842468
The Beatles - Michelle 0.833334
The Beatles - Blackbird 0.822914
The Beatles - Glass Onion 0.818820

Tabla A.35: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.996496
The Beatles - Don’t Pass Me By 0.988986
The Beatles - Come Together 0.988639
Queen - We Will Rock You 0.985159
The Beatles - Within You Without You 0.984857
... ...
The Beatles - Wait 0.935321
The Beatles - Dig It 0.932625
The Beatles - I’m Happy Just To Dance With You 0.930500
The Beatles - Polythene Pam 0.929773
The Beatles - Her Majesty 0.927287

Tabla A.36: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 7 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


83

Fig. A.12: Matriz de confusión del sistema con la métrica sklearn para el caso de 512 neuronas
ocultas per capa oculta con 7 ventanas de contexto.

Universidad Austral de Chile


84

128 Neuronas Ocultas per Capa Oculta - 9 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.912262 0.912880 0.911139 0.909766 0.896120 0.908433 0.006247
mir_eval root 0.921540 0.923788 0.920893 0.923334 0.909841 0.919879 0.010164
mir_eval maj/min 0.932539 0.933940 0.930765 0.933327 0.918881 0.929890 0.010597

Tabla A.37: Resultados de precisión (weighted average) del sistema para el caso de 128 neu-
ronas ocultas per capa oculta con 9 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.975240
The Beatles - Don’t Pass Me By 0.969844
The Beatles - Sun King 0.967296
The Beatles - Dizzy Miss Lizzy 0.963246
The Beatles - Norwegian Wood (This Bird Has Flown) 0.961902
... ...
The Beatles - Because 0.826287
The Beatles - Flying 0.813947
The Beatles - Michelle 0.813776
The Beatles - Blackbird 0.806968
The Beatles - Glass Onion 0.803591

Tabla A.38: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.991874
The Beatles - Don’t Pass Me By 0.969584
The Beatles - Sun King 0.968893
The Beatles - Come Together 0.968735
The Beatles - Rocky Raccoon 0.964283
... ...
The Beatles - Mr. Mean Mustard 0.880871
The Beatles - Polythene Pam 0.878209
The Beatles - Good Morning, Good Morning 0.876301
The Beatles - Being From The Benefit From Of Mr. Kite! 0.876238
The Beatles - Wild Honey Pie 0.869485

Tabla A.39: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
128 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


85

Fig. A.13: Matriz de confusión del sistema con la métrica sklearn para el caso de 128 neuronas
ocultas per capa oculta con 9 ventanas de contexto.

Universidad Austral de Chile


86

256 Neuronas Ocultas per Capa Oculta - 9 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.924571 0.913830 0.923883 0.926911 0.925802 0.922999 0.004701
mir_eval root 0.926803 0.917383 0.931240 0.931492 0.925895 0.926563 0.011527
mir_eval maj/min 0.937500 0.928105 0.940781 0.941552 0.937216 0.937031 0.012122

Tabla A.40: Resultados de precisión (weighted average) del sistema para el caso de 256 neu-
ronas ocultas per capa oculta con 9 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.980110
The Beatles - Don’t Pass Me By 0.977502
Queen - We Will Rock You 0.968325
The Beatles - Mr. Moonlight 0.967525
The Beatles - Sun King 0.966508
... ...
The Beatles - Because 0.819831
The Beatles - Flying 0.816525
The Beatles - Michelle 0.816378
The Beatles - Blackbird 0.805462
The Beatles - Glass Onion 0.802394

Tabla A.41: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.991892
The Beatles - Don’t Pass Me By 0.978232
The Beatles - Come Together 0.977757
Queen - We Will Rock You 0.975137
The Beatles - Rocky Raccoon 0.969677
... ...
The Beatles - Little Child 0.902114
The Beatles - Polythene Pam 0.895663
The Beatles - Her Majesty 0.894181
The Beatles - I’m Happy Just To Dance With You 0.893818
The Beatles - Wild Honey Pie 0.893666

Tabla A.42: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
256 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


87

Fig. A.14: Matriz de confusión del sistema con la métrica sklearn para el caso de 256 neuronas
ocultas per capa oculta con 9 ventanas de contexto.

Universidad Austral de Chile


88

512 Neuronas Ocultas per Capa Oculta - 9 Ventanas de Contexto

Resultados
Métrica
E1 E2 E3 E4 E5 Media Desviación estándar
sklearn 0.959650 0.947671 0.957277 0.960592 0.956298 0.956298 0.004584
mir_eval root 0.951326 0.939939 0.950853 0.952810 0.951183 0.949222 0.006929
mir_eval maj/min 0.965006 0.952798 0.964222 0.966598 0.964220 0.962569 0.006898

Tabla A.43: Resultados de precisión (weighted average) del sistema para el caso de 512 neu-
ronas ocultas per capa oculta con 9 ventanas de contexto.

Canción Promedio root


The Beatles - Come Together 0.988476
The Beatles - Don’t Pass Me By 0.987516
The Beatles - Within You Without You 0.985179
Queen - We Will Rock You 0.982516
The Beatles - Sun King 0.981556
... ...
The Beatles - Blue Jay Way 0.842784
The Beatles - Flying 0.840596
The Beatles - Michelle 0.837254
The Beatles - Glass Onion 0.822869
The Beatles - Blackbird 0.820825

Tabla A.44: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea root.

Canción Promedio maj/min


The Beatles - Blue Jay Way 0.996761
Queen - We Will Rock You 0.988475
The Beatles - Don’t Pass Me By 0.988359
The Beatles - Come Together 0.987834
The Beatles - Within You Without You 0.986791
... ...
The Beatles - Polythene Pam 0.936304
The Beatles - Dig It 0.934803
The Beatles - Words Of Love 0.933077
The Beatles - I’m Happy Just To Dance With You 0.932850
The Beatles - Her Majesty 0.921189

Tabla A.45: Mejores y peores 5 reconocimientos de acorde para la base de datos en el caso de
512 neuronas ocultas per capa oculta con 9 ventanas de contexto para la tarea maj/min.

Universidad Austral de Chile


89

Fig. A.15: Matriz de confusión del sistema con la métrica sklearn para el caso de 512 neuronas
ocultas per capa oculta con 9 ventanas de contexto.

Universidad Austral de Chile

También podría gustarte