138
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
RECIBIDO 07/01/2022 ACEPTADO 16/02/2022 PUBLICADO 30/03/2023
RESUMEN
El análisis musical es un proceso que se ha llevado a cabo desde hace años donde diferentes
expertos han buscado estudiar variadas piezas musicales. Este proceso inicia con el aprendizaje
de detección de tonos, notas y acordes, donde los estudiantes tienen que entrenar el oído para
poder llevarlo a cabo. Bajo este contexto, en el siguiente trabajo se ha realizado un árbol de
decisión en base a un dataset de coros de Bach con el fin de predecir acordes a partir de tonos.
Se dividió el dataset en 80% para crear el árbol y 20% para pruebas, después se realizó la
transformación de datos para realizar un análisis de los mismos, con esto finalmente se creó un
árbol de decisión con una profundidad de 15 y una exactitud del 75.52%, finalmente se realizaron
las pruebas y encontramos buenos resultados de la exactitud del árbol.
Palabras claves:
Inteligencia artificial, árbol de decisión, análisis musical, detección de tonos,
música.
ARK: ark:/42411/s11/a85
PURL: 42411/s11/a85
asalcedoch@unsa.edu.pe
https://orcid.org/0000-0001-7692-4064
Víctor Manuel Vilca Rojas
Universidad Nacional de San Agustín.
Arequipa, Perú.
vvilcaro@unsa.edu.pe
https://orcid.org/0000-0002-6193-8057
Jairo Miguel Castillo Rojas
Universidad Nacional de San Agustín.
Arequipa, Perú.
jcastillo@unsa.edu.pe
https://orcid.org/0000-0001-5952-7323
Valery Byrne Macias
Universidad Nacional de San Agustín.
Arequipa, Perú.
vbyrne@unsa.edu.pe
https://orcid.org/0000-0003-2819-7127
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
ABSTRACT
Musical analysis is a process that has been carried out for years where different experts have
sought to study various musical pieces. This process begins with the learning of tone, note and
chord detection, where students have to train their ears to be able to carry it out. In this context,
in the following work a decision tree has been made based on a dataset of Bach choirs in order
to predict chords from tones. The dataset was divided into 80% to create the tree and 20% for
testing, then the data transformation was performed to perform an analysis of the data, with this
a decision tree was finally created with a depth of 15 and an accuracy of 75.52%, the tests were
finally carried out and we found good results for the accuracy of the tree.
Keywords:
Artificial intelligence, decision tree, music analysis, pitch detection, music.
INTRODUCCIÓN
Las ondas de sonido se propagan a través de varios medios y permiten la comunicación o el
entretenimiento para nosotros, los humanos. La sica que escuchamos o creamos se puede
percibir en aspectos como el ritmo, la melodía, la armonía, el timbre o el estado de ánimo. Todos
estos elementos de la música pueden ser de interés para los usuarios de sistemas de recuperación
de información musical. Dado que vastos repositorios de música están disponibles para todos en
el uso diario (tanto en colecciones privadas como en Internet), es deseable y se vuelve necesario
explorar las colecciones de música por contenido. Por lo tanto, la recuperación de información
musical puede ser potencialmente de interés para todos los usuarios de computadoras e Internet
[1].
Dado un flujo musical, la tarea del análisis de la armonía musical consiste en asociar una etiqueta
a cada punto de tiempo. Tales etiquetas revelan la armonía subyacente al indicar una nota
fundamental (raíz) y un modo, usando nombres de acordes como 'Do menor'. La tarea de análisis
musical puede representarse naturalmente como un problema de aprendizaje secuencial
supervisado. De hecho, al considerar sólo las clases de tonos actualmente resonantes, difícilmente
se producirían análisis razonables. Las evidencias experimentales sobre la cognición humana
revelan que para eliminar la ambigüedad de los casos poco claros, los compositores y los oyentes
también se refieren a las transiciones de acordes: en estos casos, el contexto juega un papel
fundamental y las claves contextuales pueden ser útiles para el análisis [6].
El dominio musical siempre ha ejercido una fuerte fascinación sobre investigadores de diversos
campos. En los últimos años se ha invertido un gran esfuerzo de investigación para analizar la
música, bajo una presión académica e industrial. Las técnicas de búsqueda y análisis de música
inteligente son cruciales para diseñar sistemas para varios propósitos, como la identificación de
música, para decidir sobre la similitud de la música, para la clasificación de música basada en
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
algún conjunto de descriptores, para la generación algorítmica de listas de reproducción y para
el resumen de música. De hecho, los avances tecnológicos recientes mejoraron significativamente
la forma en que los entornos automáticos componen música, la interpretan expresivamente,
acompañan a músicos humanos y la forma en que se vende y compra música a través de tiendas
web [5].
El análisis musical es un paso necesario para componer, interpretar y en última instancia,
comprender la música, tanto para los seres humanos como para los entornos artificiales. Dentro
del área más amplia del análisis musical, destacamos la tarea del reconocimiento de acordes.
Este es un problema desafiante para los estudiantes de música, que dedican una cantidad
considerable de tiempo a aprender la armonía tonal, así como para los sistemas automáticos. Es
un problema interesante y un paso necesario para realizar un análisis estructural de alto nivel
que considere los principales elementos estructurales de la música en sus interconexiones
mutuas. En la música tonal occidental, en cada momento del flujo musical (o vertical) se puede
determinar qué acorde está sonando: el reconocimiento de acordes normalmente consiste en
indicar la nota fundamental (o raíz) y el modo del acorde (Figura 1) [5].
Figura 1 :El problema de reconocimiento de acordes consiste en indicar para cada vertical qué acorde
está sonando en ese momento. Extracto de la Sonata para piano Opus 31 n.2 de Beethoven, 1er
movimiento.
En síntesis, como dice Bent [7], el análisis musical consiste en exponer y describir sintéticamente
la estructura musical y la manera en que se relacionan esos elementos más simples en la
estructura general. El análisis puede ir desde una parte de una pieza musical hasta una colección
de obras en un periodo de tiempo exacto. Pero el proceso seguirá siendo el mismo utilizando
tradicionalmente el do, papel y un lápiz [8]. Sin embargo, si nos proyectamos a un ámbito más
actual, donde frente a nosotros no tenemos una partitura sino una colección de CD´s o hasta un
celular con una lista de reproducción de Spotify, las técnicas anteriormente utilizadas para
analizar este contenido resultan difíciles de usar, por no decir inservibles.
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
En estas situaciones del mundo moderno es que surgen diferentes métodos acompañados de
algoritmos, los cuales participan en nuevos sistemas de análisis [9].
En este párrafo se expondrá los métodos a utilizar en este artículo: como primer punto se
empleará la técnica de árbol de decisión, ya que es una técnica de forma gráfica y analítica de
representar todos los eventos o sucesos que pueden surgir a partir de una decisión asumida en
cierto momento. Esto nos permitirá tomar la decisión más acertada, ante una variedad de posibles
decisiones [10]. mo segunda cnica a emplear tenemos clustering, esta técnica es utilizada
como un proceso para encontrar una estructura significativa, procesos subyacentes explicativos,
características generativas y agrupaciones inherentes a un conjunto de ejemplos; lo que la hace
idónea para la presente investigación [11]. Entre otras técnicas de minería de datos.
Entonces, ya habiendo comprendido las bases teóricas de esta investigación, explicaremos la
finalidad de este artículo, el cual es: “Desarrollar el análisis del dataset de entrada para realizar
un sistema de análisis tonal” el cual nos dará como resultado, un acorde después de recibir los
siguientes datos de ingreso: archivos de Bach Central [WebLink]; donde se reconocerá las notas
musicales con un SI/NO dependiendo en qué lugar se presente el tono.
Herramientas
Árbol de decisiones:
Se utilizó árboles de decisiones ya que es una manera de representación de
todos los eventos que pueden surgir por una decisión asumida en cierto momento la cual puede
ser gráfica y analítica que nos permite organizar el trabajo de cálculos correspondientes para así
un despliegue visual del problema. Además de ello nos ayuda a tomar la decisión más idónea,
desde el punto de vista probabilístico de un sin fin de posibles decisiones [17].
Correlación de Pearson:
La correlación de Pearson mide la existencia (dada por un valor p) y la
fuerza (dada por el coeficiente r entre -1 y +1) de una relación lineal entre dos variables
continuas. Solo debe usarse cuando se satisfacen sus supuestos subyacentes. Si el resultado es
significativo, concluimos que existe una correlación. Para mejor entendimiento un valor absoluto
de r de 0,1 se clasifica como pequeño, un valor absoluto de 0,3 se clasifica como medio y de 0,5
se clasifica como grande [18].
Métodos y Metodología computacional
Google Colab:
Es un entorno colaborativo de Google que permite trabajar con Notebooks sin
alguna configuración requerida que se ejecuta en la nube y te proporciona acceso gratuito a GPU
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
lo cual te permite escribir y ejecutar código de Python en tu navegador y que a su vez permite
almacenar dichos cuadernos y trabajar con datos que tengas almacenados en el Drive y
compartirlos con tu equipo de trabajo [12].
Python:
Es un lenguaje de programación de alto nivel, además es un lenguaje interpretado, por
lo cual no requiere ser compilado. Por este motivo el programador puede utilizar el lenguaje de
forma directa en el programa o aplicación que realice. Una de las características más resaltantes
es que cuenta con una amplia bibliotecas de librerías que permiten obtener diversos recursos de
código abierto aplicables para la inteligencia artificial [13].
NumPy:
Es una biblioteca idónea para la manipulación de muchos datos. El problema yace en que
Python usa listas y no arreglos por ello NumPy nos provee estructuras muy eficientes para
manipular muchos datos [14].
Pandas:
Es un buen toolkit para hacer análisis de datos. Tiene herramientas para tener tablas y
otras estructuras de datos. Además de ello nos permite cargar con gran facilidad archivos csv
[15].
Seaborn:
Es una librería que usa Matplotlib por debajo para trazar gráficos. Lo cual será usado
para visualizar distribuciones aleatorias [16].
Trabajos relacionados
Si vemos en un entorno específico, dentro de la enseñanza de la música, las TICs (Tecnologías
de la Información y la Comunicación) aportaron al proceso de enseñanza-aprendizaje. Por un
lado, ayudaron a los maestros que tenían alrededor 15 alumnos a personalizar más sus sesiones
y por otro lado, el estudiante podía solventar sus dudas en cualquier momento al interactuar con
este sistema. Estas TICs como herramientas comenzaron a complementar las sesiones en
diferentes conservatorios, que cabe recalcar que solo se llevaban una vez a la semana, y de tal
modo el descenso del nivel de conocimiento de los estudiantes de años actuales, a comparación
de años anteriores, comenzó a menguar [9].
Siguiendo esta investigación, Illescas logró desarrollar un software que realizaba análisis musical,
el cual orientado a la pedagogía lo probó en el Conservatorio Superior de Música de Murcia. Para
realizar una buena interpretación de una pieza, se necesita realizar un buen análisis de la
partitura, por lo que este software demostró su ayuda tanto como para alumnos y como para
maestros [9].
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Resultados y discusión
Inicialmente se importan las librerías necesarias para ejecutar nuestro árbol de decisiones.
Cargamos los valores de entrada.
Para ello se usó Data Transformation para cambiar los valores “NO” y “YES”
Los valores respectivos son 0 = no, 1 = sí
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Luego de ello se realizó un análisis de nuestros datos de entrada categóricos el cual mostrará una
correlación de Pearson en su mayoría pequeña(o débil) entre los datos ya que la mayoría ésta
inferior al 0.3.
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Para continuar se realiza la creación del Árbol Decisión
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Obtenemos el siguiente árbol:
Se realiza el mapeo de atributos y las predicciones del árbol de decisión.
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Imprimimos las predicciones
Conclusiones
Se puede concluir que nuestro modelo de clasificación genera modelos acertados con un 75.52%
de exactitud. Esto nos indica que nuestro árbol de decisión es capaz de predecir correctamente
la nota musical en el 75.52% de los casos, esto a partir de los datos de entrada que consideramos
en este trabajo así como las características que indicamos para la creación del árbol.
También encontramos que nuestro dataset, al tratarse de notas musicales de distintas canciones,
y ademas, teniendo en cuenta que los eventos del dataset están numerados consecutivamente,
indicándonos el orden en que estos hacen su aparición en la canción, es que podemos entender
porque la correlación entre las variables de entrada es tan baja, una mejor opción sería realizar
otros análisis de correlación.
Además, en la búsqueda de un mayor grado de exactitud del árbol de decisión, encontramos que
la profundidad más adecuada para este era de 15, un mínimo de hojas para dividir el nodo de 20
y un mínimo de eventos para considerar hoja de 5, además, al aumentar el peso de la clase
pitch_1 del dataset de 1 a 3.5 con una diferencia de 2.5 respecto a las demás clases, encontramos
que el árbol de decisión incrementó su exactitud en un porcentaje mayor al 30%.
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
Como trabajo futuro. Teniendo ya la base del conocimiento de nuestro proyecto se puede realizar
un identificador de acordes para cualquier artista, el cual con un dataset de sus pistas podemos
deducir cuales son los acordes más tocados en sus pistas.
Referencias
[1]. Raś, Z. W., & Wieczorkowska, A. A. (Eds.). (2010). Advances in Music Information Retrieval.
Studies in Computational Intelligence. doi:10.1007/978-3-642-11674-2
[2]. R. Esposito and D. P. Radicioni, “CarpeDiem: Optimizing the viterbi algorithm and applications
to supervised sequential learning,” J. Mach. Learn. Res., vol. 10, pp. 18511880, 2009.
[3]. M. Rohrmeier and I. Cross, “Statistical Properties of Tonal Harmony in Bach s Chorales
Statistical Properties of Tonal Harmony in Bach ’ s Chorales,” no. January 2008, 2014.
[4]. D. P. Radicioni and R. Esposito, “Learning tonal harmony from Bach chorales,” Procs. 7th Int.
Conf. Cogn. Model., no. August, 2006.
[5]. D. P. Radicioni and R. Esposito, “BREVE: An HMPerceptron-based chord recognition system,”
Stud. Comput. Intell., vol. 274, no. December, pp. 143164, 2010, doi: 10.1007/978-3-642-
11674-2_7.
[6]. D. P. Radicioni and R. Esposito, "UCI Machine Learning Repository: Bach Choral Harmony Data
Set", Archive.ics.uci.edu, 2014. [Online]. Available:
https://archive.ics.uci.edu/ml/datasets/Bach+Choral+Harmony#. [Accessed: 20- Jun- 2022].
[7]. J. Bent. "Music analysis in the nineteenth century" 1994.
[8]. Federico Sammartino. "Ceros y unos en la musicología. Software y análisis musical".
http://resonancias.uc.cl/images/PDFs_n_37/Sammartino.pdf.
[9]. P. R. Illescas Casanova. "Análisis tonal asistido por ordenador". Dialnet.
https://dialnet.unirioja.es/servlet/tesis?codigo=60733 .
[10]. V. Berlanga-Silvente, M. J. Rubio-Hurtado, and R. Vilà-Baños, “Cómo aplicar árboles de decisión
en SPSS,” REIRE. Rev. d’Innovació i Recer. en Educ., vol. 6, no. 1, pp. 6579, 2013, doi:
10.1344/reire2013.6.1615.
[11]. D. Tamm, “Road Map,” Dtsch. Arztebl. Int., vol. 115, no. 3536, p. A1554, 2018, doi:
10.4324/9781003191056-1.
REVISTA INNOVACIÓN Y SOFTWARE VOL 4 Nº 1 Marzo-Agosto 2023 ISSN 2708-0935
[12]. “Te damos la bienvenida a Colab.” https://colab.research.google.com/?utm_source=scs-index.
[13]. “Python 3.10.6 documentation,” [Online]. Available: https://docs.python.org/3/.
[14]. “NumPy.” https://numpy.org/.
[15]. “Pandas.” https://pandas.pydata.org/.
[16]. “Seaborn.” https://www.w3schools.com/python/numpy/numpy_random_seaborn.asp.
[17]. M. C. Ruiz Abellón, “Introducción a los árboles de decisión,” pp. 1–7, 2014, [Online]. Available:
http://www.dmae.upct.es/~mcruiz/Telem06/Teoria/arbol_decision.pdf.
[18]. P. Samuels, “מתאם פירסון Pearson Correlation ? מהו מתאם,no. April 2014, pp. 1–5, 2015, [Online].
Available: https://www.researchgate.net/publication/274635640.