Post on 25-Apr-2022
Treball de Fi de Grau
GRAU EN
ENGINYERIA EN
Director: ENRIC GUAUS
GRAU EN ENGINYERIA DE SISTEMES AUDIOVISUALS
Director: ENRIC GUAUS
GRAU EN ENGINYERIA DE SISTEMES AUDIOVISUALS
Director: ENRIC GUAUS
Campayo Rodriguez, David
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Curs 2017-2018
Arquitectura de clasificación automática de
géneros musicales basada en el modelo
SIMCA
Arquitectura de clasificación automática de géneros
musicales basada en el modelo SIMCA
David Campayo Rodriguez
TRABAJO DE FINAL DE GRADO
INGENIERIA EN SISTEMAS AUDIOVISUALES
ESCOLA SUPERIOR POLITÈCNICA UPF
2018
DIRECTOR DEL TRABAJO
Dr. Enric Guaus Termens
iii
Por y para ellos.
v
Agradecimientos
Primero de todo me gustaría dar las gracias a Enric Guaus por su soporte, profesionalidad
y paciencia para lograr sacar adelante este proyecto. Gracias por guiarme en este nuevo
mundo entre descriptores y clasificadores.
Gracias a los amigos que han hecho todo este camino más llevadero, en especial a Ferran
y Alejandro, y por todos esos buenos momentos vividos a lo largo de estos años.
Gracias a vosotros familia, por permitirme llegar hasta aquí y por vuestro incondicional
apoyo des del primer momento. Siempre os estaré agradecidos.
Y a ella, por haberse cruzado aquel día en mi vida.
vii
Resumen En este proyecto, se presenta una nueva arquitectura de datos para la clasificación
automática de géneros musicales basada en contenido aplicando el modelo Soft
Independent Modelling Of Class Analogies (SIMCA). En concreto, se pretende
estructurar la información de entrada para generar clasificadores individuales y
especializados en cada género musical. De este modo, son capaces de discernir entre lo
que corresponde a su propio género y lo que no, creando una arquitectura de clasificación
por descarte. Para ello, se parte de la colección de géneros musicales propuesta por
George Tzanetakis para extraer características de audio digital utilizando técnicas de
Recuperación de Información Musical (MIR) y aplicar modelos de optimización datos
basados en Análisis de Componentes Principales (PCA). Finalmente, se realiza el
entrenamiento y testeo aplicando técnicas de clasificación supervisada para comparar el
nuevo modelo frente al actual y enfrentarlo a bases de datos externas al proceso de
clasificación. Esta nueva arquitectura y la convencional, se han realizado en su totalidad
en código Python, mediante herramientas de extracción de características a través de
Sonic Annotator y el soporte del programa de aprendizaje automático y minería de datos
Weka.
Abstract In this project, a new data architecture for the automatic classification of musical genres
based on content applying Soft Independent Modelling Of Class Analogies (SIMCA)
model is presented. Specifically, it is intended to structure the input information to
generate individual and specialized classifiers in each musical genre. In this way they can
discern between what corresponds to their own genre and what does not, creating an
architecture of classification by discarding. To do this, it starts from the database
classified by George Tzanetakis to extract digital audio features using Music Information
Retreival (MIR) techniques and apply data optimization models based on Principal
Component Analysis (PCA). Finally, train and test phases are carried out applying
supervised classification techniques to compare the new model with the current one and
confront it to databases external to the classification process. This new architecture and
the conventional one, have been made entirely in Python code, through feature extraction
tools using Sonic Anotator and the support of automatic learning and data mining
program Weka.
ix
1. INTRODUCCIÓN .................................................................................................. 1
1.1. La importancia de la Minería de Datos .............................................................. 2
1.2. Recuperación de Información Musical (MIR) ................................................... 4
1.2.1. Sociedad Internacional de Recuperación de Información Musical (ISMIR)
.................................................................................................................... 4
1.2.2. MIR en la industria ..................................................................................... 5
1.3. Estado del Arte ................................................................................................... 5
1.4. Objetivos del proyecto ....................................................................................... 6
1.5. Estructura por capítulos ..................................................................................... 6
2. SISTEMAS DE CLASIFICACIÓN AUTOMÁTICA DE GÉNEROS
MUSICALES ..................................................................................................... 7
2.1. Fundamentos musicales ............................................................................................. 7
2.2. Los humanos y la clasificación de géneros musicales ............................................... 8
2.3. La Clasificación Automática de Géneros Musicales ................................................. 9
2.3.1. El clasificador automático: Arquitectura....................................................... 11
2.3.2. La Colección de Datos .................................................................................. 11
2.3.3. La Extracción de Características ................................................................... 12
2.3.4. La Clasificación............................................................................................. 21
2.3.5. Evaluación de resultados ............................................................................... 24
2.4. Funcionamiento del clasificador automático de géneros musicales convencional.. 25
3. EL CLASIFICADOR POR DESCARTE ........................................................... 27
3.1. Soft Independent Modelling of Class Analogies: El modelo SIMCA .................... 27
3.1.1. El Análisis de Componentes Principales (PCA) ........................................... 28
3.1.2. Estructura del modelo SIMCA ...................................................................... 30
3.2. El Clasificador Convencional frente al Clasificador basado en SIMCA................. 32
Resumen vii
Listado de Figuras xiii
Listado de Tablas
xvii
x
4. IMPLEMENTACIÓN: ENTORNO DE DESARROLLO, CARACTERÍSTICAS
Y DISEÑO ....................................................................................................... 33
4.1. El entorno de programación .................................................................................... 33
4.2. Implementación: Características y herramientas utilizadas..................................... 36
4.2.1. La Colección de Géneros Musicales ............................................................. 36
4.2.2. Extracción de características ......................................................................... 37
4.2.3. Aplicación estadística .................................................................................... 37
4.2.4. Entrenamiento y Testeo ................................................................................. 38
4.2.5. Clasificación .................................................................................................. 38
4.3. La implementación de la arquitectura SIMCA ........................................................ 39
4.3.1. Diseño y organización ................................................................................... 39
4.3.2. Implementación del clasificador por descarte ............................................... 39
4.3.3. Implementación del clasificador convencional ............................................. 46
5. RESULTADOS: PRESENTACIÓN Y COMPARATIVA ............................... 49
5.1. Resultados obtenidos para la clasificación utilizando el modelo convencional
mediante 10-fold Cross Validation ................................................................................. 49
5.2. Resultados obtenidos para la clasificación utilizando SIMCA mediante 10-fold
Cross Validation ............................................................................................................. 52
5.2.1. Análisis detallado de la precisión, recall y medida F .................................... 53
5.3. Comportamiento frente a bases de datos externas al proceso de entrenamiento ..... 54
5.3.1. La base de datos externa al proceso de entrenamiento.................................. 54
5.3.2. Resultados para la arquitectura convencional utilizando una base de datos
externa en el proceso de test .................................................................................... 56
5.3.3. Resultados para la arquitectura SIMCA utilizando una base de datos externa
en el proceso de test ................................................................................................ 57
5.4. Comparativa de eficiencia entre arquitecturas......................................................... 59
6. CONCLUSIONES Y TRABAJO FUTURO ...................................................... 61
6.1. Trabajo Futuro .......................................................................................................... 62
ANEXOS ................................................................................................................... 63
Anexo A: Bases de datos de géneros musicales creadas por expertos ........................... 63
Anexo B: Características estándar del cálculo de descriptores ...................................... 64
Anexo C: Resultados completos obtenidos de la aplicación del método de PCA .......... 69
Anexo D: Presentación detallada de resultados estadísticos obtenidos de la aplicación de
la arquitectura SIMCA y 10 fold cross validation .......................................................... 71
xi
Anexo E: Resultados de clasificación para base de datos externa mediante arquitectura
SIMCA para los métodos de clasificación SMO, J48 y IBk .......................................... 82
Anexo F: Reducción de la dimensionalidad de los datos mediante la aplicación del PCA
......................................................................................................................... 91
Bibliografía ................................................................................................................ 92
xiii
Listado de figuras
1.1: Diagrama de bloques general del proceso de minería de datos. ........................................ 2
2.1: Esquema del sistema auditivo humano ............................................................................. 8
2.2: Respuesta frecuencial de distintos seres vivos. ................................................................. 9
2.3: Clasificación Supervisada frente a No Supervisada ........................................................ 10
2.4: Diagrama de bloques para un sistema de clasificación automático convencional .......... 11
2.5: Esquema de extracción de características aplicando STFT............................................. 13
2.6: Representación temporal de la curva de energía ............................................................. 14
2.7: Identificación del ataque de una onda de sonido sobre la curva de energía a través
del establecimiento de límites inferior y superior. ....................................................... 15
2.8: Representación gráfica de la transformación de una señal del espacio temporal al
dominio frecuencial ..................................................................................................... 16
2.9 Proceso de extracción de características de una señal de audio original y creación del
vector de características con descriptores del dominio frecuencial y temporal ........... 20
2.10: Representación de clasificación de K vecinos más cercanos ........................................ 22
2.11: Representación de clasificación aplicando SVM para un problema de dos clases ....... 22
2.12: Representación de un árbol de decisión para la clasificación de género rock / no
rock para el fold 4 de entrenamiento y testeo aplicando K-fold Cross-Validation
manualmente ................................................................................................................ 23
2.13: Diagrama de bloques del clasificador de géneros musicales convencional. ................. 25
3.1: Representación de la varianza de los datos para las distintas clases antes y después
del proceso de estandarización ..................................................................................... 28
3.2: Representación esquemática de la arquitectura de clasificación de géneros musicales
basada en SIMCA ........................................................................................................ 31
4.1: Logotipo de Audacity ...................................................................................................... 34
4.2: Logotipo de Sonic Annotator .......................................................................................... 34
4.3: Logotipo de Weka ........................................................................................................... 35
4.4: Ejemplo de formato ARFF para la base de datos Iris Setosa .......................................... 35
4.5: Ejemplo de formato .CSV para la base de datos Iris Setosa ........................................... 35
4.6: Esquema organizativo para la implementación del modelo y flujo de trabajo entre
carpetas ........................................................................................................................ 39
4.7: Diagrama de bloques de archivos para el desarrollo de la primera fase del proceso
SIMCA ......................................................................................................................... 40
4.8: Extracto de contenido de los archivos generados por doDescriptors.py \f...................... 40
4.9: Extracto de contenido de los archivos generados por doStatistics.py. ............................ 41
4.10: Extracto de contenido generado por el archivo doPCA.py. .......................................... 41
4.11: Extracto de contenido de los archivos generados por doSingleClassifiers.py. ............ 42
4.12: Diagrama de bloques de archivos para el desarrollo de la segunda fase de la
arquitectura SIMCA ..................................................................................................... 43
4.13: Extracto de contenido de los archivos generados por doShuffle.py .............................. 43
4.14: Ficheros creados por el archivo doKfold.py ................................................................. 44
4.15: Extracto de los ficheros creados por doTrainTestPCA.py para el fold 0 ...................... 44
4.16: Información del resultado de la aplicación del clasificador SMO para el fold 6 para
las clases clásico y no clásico, utilizando línea de comandos ...................................... 45
xiv
4.17: Diagrama de bloques para el proceso de clasificación convencional ........................... 46
4.18: Interfaz de Weka GUI para . Se muestra la introducción de todos los géneros
unificados en un único archivo como parte de pre-procesado ..................................... 47
4.19: Interfaz de Weka GUI. Se muestra la clasificación de todos los géneros unificados
en un único utilizando Cross-Validation ...................................................................... 48
5.1: Matriz de Confusión resultante de aplicar el clasificador ZeroR para obtener el Base
Line .............................................................................................................................. 49
B.1: Parámetros estándar de cálculo del descriptor Spectral Centroid contenido en el
plugin Mir-Edu............................................................................................................. 64
B.2: Parámetros estándar de cálculo del descriptor Spectral Crest contenido en el plugin
Mir-Edu ........................................................................................................................ 64
B.3: Parámetros estándar de cálculo del descriptor Spectral Flatness contenido en el
plugin Mir-Edu............................................................................................................. 64
B.4: Parámetros estándar de cálculo del descriptor Spectral Flux contenido en el plugin
Mir-Edu ........................................................................................................................ 65
B.5: Parámetros estándar de cálculo del descriptor Spectral Kurtosis contenido en el
plugin Mir-Edu............................................................................................................. 65
B.6: Parámetros estándar de cálculo del descriptor Spectral RollOff contenido en el
plugin Mir-Edu............................................................................................................. 65
B.7: Parámetros estándar de cálculo del descriptor Spectral Skewness contenido en el
plugin Mir-Edu............................................................................................................. 66
B.8: Parámetros estándar de cálculo del descriptor Spectral Spread contenido en el plugin
Mir-Edu ........................................................................................................................ 66
B.9: Parámetros estándar de cálculo del descriptor Temporal Centroid contenido en el
plugin Mir-Edu............................................................................................................. 66
B.10: Parámetros estándar de cálculo del descriptor Zero Crossing Rate contenido en el
plugin Mir-Edu............................................................................................................. 66
B.11: Parámetros estándar de cálculo del descriptor MFCC contenido en el plugin Queen-
Marys ........................................................................................................................... 67
B.12: Parámetros estándar de cálculo del descriptor Beats contenido en el plugin Mir-
Edu ............................................................................................................................... 67
B.13: Parámetros estándar de cálculo del descriptor Attack Start End Times contenido en
el plugin Mir-Edu ......................................................................................................... 67
B.14: Parámetros estándar de cálculo del descriptor Log Attack Time contenido en el
plugin Mir-Edu............................................................................................................. 68
B.15: Parámetros estándar de cálculo del descriptor RMS contenido en el plugin Mir-Edu
............................................................................................................................... 68
C.1: Resultado de la aplicación del método PCA para el género musical Blues ................... 70
E.1: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO ............ 82
E.2: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48 ............... 82
E.3: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk ............... 83
E.4: Resumen del proceso de clasificación para el modelo Country / No Country,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
SMO ............................................................................................................................. 83
xv
E.5: Resumen del proceso de clasificación para el modelo Country / No Country,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
IBk ............................................................................................................................... 84
E.6: Resumen del proceso de clasificación para el modelo Country / No Country,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
J48 ............................................................................................................................... 84
E.7: Resumen del proceso de clasificación para el modelo HipHop / No HipHop,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
SMO ............................................................................................................................. 85
E.8: Resumen del proceso de clasificación para el modelo HipHop / No HipHop,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
IBk ............................................................................................................................... 85
E.9: Resumen del proceso de clasificación para el modelo HipHop / No HipHop,
arquitectura SIMCA utilizando la base de datos Dortmund para test y clasificación
J48 ............................................................................................................................... 86
E.10: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO ............ 86
E.11: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk ............... 87
E.12: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48 ............... 87
E.13: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO ............ 88
E.14: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk ............... 88
E.15: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48 ............... 89
E.16: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO ............ 89
E.17: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk ............... 90
E.18: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48 ............... 90
xvii
Listado de tablas
2.1: Representación de la matriz de confusión para las clases negativo y positivo ... 24
4.1: Descripción detallada de las características de la base de datos GTZAN ........... 36
5.1: Resumen del proceso de clasificación para el modelo convencional con SMO
..................................................................................................................... 50
5.2: Resumen del proceso de clasificación para el modelo convencional con J48 .... 50
5.3: Resumen del proceso de clasificación para el modelo convencional con IBk .... 51
5.4: Resumen del proceso de clasificación para cada uno de los modelos binarios
utilizando la arquitectura SIMCA y clasificación SMO. Edición propia.......... 52
5.5: Resumen del proceso de clasificación para cada uno de los modelos binarios
utilizando la arquitectura SIMCA y clasificación J48 ...................................... 52
5.6: Resumen del proceso de clasificación para cada uno de los modelos binarios
utilizando la arquitectura SIMCA y clasificación IBk (K=1). Edición propia
..................................................................................................................... 53
5.7: Descripción detallada de las características de la base de datos original
Dortmund .......................................................................................................... 55
5.8: Descripción detallada de las características de la base de datos original
Dortmund adaptada ........................................................................................... 55
5.9: Resumen del proceso de clasificación para el modelo convencional mediante
base de datos externa de test, utilizando SMO. Edición propia ........................ 56
5.10:Resumen del proceso de clasificación para el modelo convencional mediante
base de datos externa de test, utilizando J48. Edición propia ........................... 56
5.11:Resumen del proceso de clasificación para el modelo convencional mediante
base de datos externa de test, utilizando IBk. Edición propia ........................... 56
5.12: Instancias correctamente clasificadas para cada modelo aplicando la
arquitectura SIMCA con una base de datos externa y método de
clasificación SMO ............................................................................................. 57
5.13: Instancias correctamente clasificadas para cada modelo aplicando la
arquitectura SIMCA con una base de datos externa y método de
clasificación J48 ................................................................................................ 58
5.14: Instancias correctamente clasificadas para cada modelo aplicando la
arquitectura SIMCA con una base de datos externa y método de
clasificación IBk................................................................................................ 58
5.15: Comparativa de la desviación media entre la arquitectura Convencional y
SIMCA para clasificación mediante J48. Edición propia ................................. 59
5.16: Comparativa entre arquitectura Convencional y SIMCA para clasificación
mediante SMO, J48 y IBK ................................................................................ 59
5.17: Comparativa entre arquitectura Convencional y SIMCA frente a Base de
Datos Externa al proceso de entrenamiento para clasificación mediante
SMO, J48 y IBK ................................................................................................ 59
5.18: Comparativa entre arquitectura Convencional y Convencional frente a Base
de Datos Externa al proceso de entrenamiento para clasificación mediante
SMO, J48 y IBK ................................................................................................ 60
xviii
5.19: Comparativa entre arquitectura SIMCA y SIMCA frente a Base de Datos
Externa al proceso de entrenamiento para clasificación mediante SMO, J48
y IBK ................................................................................................................. 60
A.1: Descripción detallada de las características de la base de datos RWC .............. 63
A.2: Descripción detallada de las características de la base de datos Ballroom
Dancers .............................................................................................................. 63
D.1: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación SMO ........................................................ 71
D.2: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación J48 ........................................................... 71
D.3: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación IBk ........................................................... 72
D.4: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación SMO. ....................................................... 73
D.5: Análisis detallado de Recall para cada fold y género utilizando la arquitectura
SIMCA y clasificación SMO ............................................................................ 74
D.6: Análisis detallado de la Medida F para cada fold y género utilizando la
arquitectura SIMCA y clasificación SMO ........................................................ 75
D.7: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación J48 ........................................................... 76
D.8: Análisis detallado de Recall para cada fold y género utilizando la arquitectura
SIMCA y clasificación J48 ............................................................................... 77
D.9: Análisis detallado de la Medida F para cada fold y género utilizando la
arquitectura SIMCA y clasificación J48 ........................................................... 78
D.10: Análisis detallado de la Precisión para cada fold y género utilizando la
arquitectura SIMCA y clasificación IBk ........................................................... 79
D.11: Análisis detallado del Recall para cada fold y género utilizando la
arquitectura SIMCA y clasificación IBk ........................................................... 80
D.12: Análisis detallado de la Medida F para cada fold y género utilizando la
arquitectura SIMCA y clasificación IBk ........................................................... 81
F.1: Comparativa de la reducción de la dimensionalidad de los descriptores, antes
y después de aplicar el análisis de componentes principales ............................ 91
1
Capítulo 1
1. INTRODUCCIÓN
Internet ha revolucionado la forma en que se consume contenido musical. Los usuarios
de la red se comunican, buscan, comparten y demandan grandes cantidades de audio con
un solo par de clics. Muy atrás quedan los formatos físicos de contenido multimedia para
dejar paso a suscripciones mensuales a plataformas como Spotify. Esto ha provocado que
el CD físico no pueda competir frente a formatos digitales mucho más polivalentes que
permitan a los usuarios compartir, descargar o incluso almacenar contenido fácilmente.
Esta digitalización ha hecho que los catálogos de música y las múltiples herramientas de
acceso a ellos aumenten exponencialmente y, en este contexto, es imprescindible
organizar el contenido musical.
Los géneros musicales han resultado el descriptor de alto nivel más utilizado para
organizar librerías y sobre todo juegan un papel muy importante en la Recuperación de
Información Musical (MIR). Pensar en un sistema de etiquetado manual por expertos
musicólogos, tal y como se hacía antiguamente, es inviable en la actualidad.
Por tanto, es imprescindible que el campo MIR provea de soluciones a esta nueva forma
de consumir música. Aquí aparece la clasificación automática de géneros musicales
basada en el contenido inherente en la propia onda de audio; conseguir extraer
características que definan similitudes y diferencias entre estilos de música y modelar
clasificadores que permitan organizar el contenido musical de forma automática y más
realista posible.
Tratar con los géneros musicales es una tarea complicada debido a las distintas formas de
entender la música. Factores como la cultura, la aparición de nuevos géneros y los
desacuerdos de taxonomía entre expertos en la materia, hacen que los límites entre
géneros musicales no estén totalmente definidos y, por tanto, no exista un método
perfecto para clasificar música; probablemente nunca lo habrá. De este modo, en este
proyecto no se pretende encontrar el método perfecto para clasificar géneros musicales,
sino cambiar el punto de vista del concepto de clasificación mediante la propuesta de una
nueva arquitectura basada en Soft Independent Modeling of Class Analogies (SIMCA).
El objetivo es implementarla para poder comparar su eficiencia frente al modelo
convencional de clasificación automática (para más detalle, ver apartado 1.4. Objetivos
del proyecto).
2
1.1. La importancia de la Minería de Datos
La minería de datos conforma el cerebro y el primer paso para resolver problemas tales
como la visualización, asociación o la clasificación de datos, en el caso de este proyecto,
musicales. Gracias a este campo de las ciencias de la computación, es posible extraer
información de grandes bases de datos con el objetivo de encontrar patrones previamente
desconocidos y que pueden ser interesantes para ser usados en tareas posteriores. Según
[Li, Ogihara and Tzanetakis 2011] el proceso de minería de datos lo conforman cuatro
pasos iterativos:
Figura 1.1: Diagrama de bloques general del proceso de minería de datos. Edición propia.
Cada uno de estos pasos es clave para conseguir un resultado exitoso partiendo de un
problema generado por una gran base de datos. A continuación, se detallan.
Administración de Datos:
Este proceso permite preparar y estructurar los datos con los que se va a trabajar. Se centra
en obtener una estructura de datos de calidad con la que poder obtener unos resultados
optimizados. Algunos de los pasos son los siguientes:
• Ajuste de datos: Se refiere a mejorar la calidad de los datos que se involucran en
el proceso. Ejemplos de ello son el suavizado de audio con exceso de ruido o la
eliminación de datos inconsistentes.
• Integración de datos: Es el procedimiento de combinar datos de distintas fuentes
para obtener una colección de datos rica en contenido y unificada.
• Indexado de datos: Permite acceder a las búsquedas de datos y dar soporte a los
sistemas de clasificación automática en la tarea. Debido a la complejidad de la
música, el etiquetado de datos por expertos es imprescindible para partir de un
criterio con el cual entrenar a los sistemas de clasificación.
Pre-Procesado de Datos:
El pre-procesado hace referencia al primer ajuste realizado a los datos. Ejemplos de ello
son el muestreo, la extracción de características o la reducción de la dimensionalidad:
• Muestreo de datos: consiste en discretizar la señal de audio y permite reducir el
tamaño de los datos para facilitar futuros procesos computacionales.
• Extracción de características: permite definir información inherente en la propia
onda de sonido. Pueden ser temporales o frecuenciales y a través de estas
características, se facilita la tarea a los sistemas de clasificación para encontrar
similitudes o diferencias entre archivos musicales.
• Reducción de la dimensionalidad: se refiere al filtrado de la información que
define a una onda sonora. La reducción de dimensionalidad mediante la selección
de características se conoce como selección de atributos. A través de técnicas de
álgebra lineal es posible proyectar los datos de un espacio de dimensiones original
a uno nuevo de menor dimensiones y con información relevante.
Administración
de Datos
Pre-procesado
de Datos
Procesado de
Datos
Post-Procesado
de Datos
3
Procesado de datos:
El ciclo de la minería de datos está conformado por distintos procesos finales, según la
finalidad de cada tarea. Algunos de ellos son la visualización, la asociación o clasificación
de datos:
• Visualización de datos: Permite proveer de interpretaciones visuales para una
serie de datos en concreto con el objetivo de poder analizar relaciones entre datos
o buscar tendencias. Algunas de las técnicas más utilizadas para la visualización
de datos son los gráficos o tablas.
• Asociación: Tarea de detectar correlaciones entre diferentes atributos de una base
de datos. En música, se aplica a la búsqueda de patrones entre listas musicales
generadas por el propio usuario y ordenadas según sus criterios para ofrecerle
recomendaciones.
• Clasificación: Consiste en asignar objetos a categorías predefinidas. Cuando se
trata con datos musicales, existen múltiples tareas de clasificación: clasificación
de géneros musicales, clasificación por artista, estado de ánimo o reconocimiento
de instrumentos. El objetivo es construir modelos a partir de una base de datos de
entrada utilizando técnicas de clasificación por computador.
Cada técnica utiliza distintos algoritmos de aprendizaje para encontrar un modelo
que mejor represente a los datos y la perteneciente. Además, un buen clasificador,
debe ser capaz de predecir correctamente la clase a la que pertenece un archivo
nunca visto por el modelo. Por tanto, el objetivo de la clasificación es construir
modelos que sean capaces de generalizar, es decir, que sean mejores prediciendo
correctamente nuevos datos que no forman parte de la creación del modelo [Tan,
Steinbach and Kumar 2006].
Post-Procesado de datos:
En este punto es dónde se analizan los resultados obtenidos y se procede su valoración.
Existen múltiples formas de evaluar el proceso de clasificación como las matrices de
confusión, de las cuales se obtienen valores estadísticos referentes que explican la
clasificación desde distintos puntos de vista. De este modo se puede volver a iterar en el
modelo, realizando cambios o ajustes para obtener nuevos y mejores resultados,
comparándolos con los anteriores y optimizando el modelo creado. En definitiva, los
procesos que intentan resolver un problema de minería de datos son iterativos y
adaptativos, permitiendo ajustar y optimizar el modelo tanto como se requiera.
4
1.2. Recuperación de Información Musical (MIR)
La Recuperación de Información Musical pretende buscar soluciones a problemas
relacionados con la minería de datos del ámbito musical. En concreto, se centra en
recuperar información del contenido musical basándose en la extracción de características
de la forma de onda del audio. Además, actualmente se añaden también datos referentes
al número de reproducciones, edad de los consumidores y entre otros metadatos, creando
lo que se conoce como propuestas Mixtas.
El indexado automático o el desarrollo de búsquedas automáticas y recuperación musical,
son algunos de los campos que trata la investigación de MIR, cuyos fines son cada vez
más enfocados en la industria.
Pese a que la música es un elemento muy relevante en la sociedad, el auge de la
investigación en el campo de MIR se remonta a hace relativamente poco. En la época
1990s empezó a evolucionar gracias a aspectos como la mejora de los formatos de
compresión de audio, el incremento de potencia de procesado de los ordenadores en el
ámbito doméstico o la evolución de los dispositivos de música móviles [Schedl, Gómez
& Urbano 2014]. Hoy en día este campo requiere de mucha importancia, sobre todo por
la aparición de servicios de música en streaming, que prometen un consumo de música
ilimitada y con múltiples funcionalidades a cada momento y en cualquier sitio.
1.2.1. Sociedad Internacional de Recuperación de Información Musical (ISMIR)
La ISMIR, es el punto de encuentro de todas aquellas organizaciones que se encargan de
investigar sobre todos los aspectos relacionados con la MIR a nivel mundial. El objetivo
de estas conferencias es compartir propuestas y aportar nuevos conocimientos en los
distintos campos de investigación de las MIR, los cuales engloban desde aspectos teóricos
del procesado de música hasta aplicaciones para la industria.
Desde que se fundó en el 2000 con la primera conferencia en Plymouth, Massachusetts
(USA), se ha llevado a cabo cada año ciudades de todo el mundo cómo Málaga (España)
en el 2015. La próxima conferencia está convocada para el 2019 en Delft (Holanda).
Además, la ISMIR también organiza una evaluación anual para la creación de algoritmos
que resuelven problemas de MIR, conocido como Music Information Retreival
Evaluation eXchange (MIREX).
5
1.2.2. MIR en la industria
Como se ha comentado anteriormente, gracias a la evolución de la forma de escuchar
música, el campo MIR está teniendo gran crecimiento. Son muchas las aplicaciones de
consumo que aparecen gracias a la investigación en este campo. Algunas de ellas se
exponen a continuación:
• Sistemas de recomendación y generación de listas de reproducción:
Pandora1.
Spotify2.
Youtube Music3.
Amazon Prime Music4.
iHeart5.
• Identificación de audio:
Shazam6.
Soundhound7.
• Seguimiento de partituras:
SmartMusic8.
1.3. Estado del Arte
Como se ha comentado anteriormente, la clasificación automática de géneros musicales
basada en contenido es una tarea MIR no trivial. Por este motivo, es un campo sobre el
cual se sigue investigando para encontrar nuevas formas de mejorar los procesos de
clasificación basándose en el estudio y uso de nuevos descriptores más allá de los basados
en contenido, nuevas formas de modelar la clasificación y entre otros aspectos que recaen
sobre el proceso de clasificación.
Estudios recientes como el de [Oramas, Nieto, Barbieri & Serra, 2017] plantean el uso de
deep features del audio, texto o incluso imágenes para lidiar con el problema de la
clasificación del contenido musical en un único género exclusivo, fruto del problema de
clasificación multi-clase, obteniendo mejoras en algunos de los casos frente a los métodos
de extracción de características tradicionales. Otros estudios se basan en la mejora del
resultado del proceso de clasificación basándose en la arquitectura de validación, como
el de [Bogdanov, Porter, Herrera & Serra, 2016] en el cual se plantea la colección cruzada
frente a la tradicional validación cruzada para estimar de forma más real la solidez de un
modelo de clasificación.
En este proyecto se plantea una nueva arquitectura de clasificación basada en la
metodología SIMCA, aportando un nuevo concepto de clasificación de géneros musicales
que es testeada por tres de los modelos de clasificación más comúnmente utilizados
(SVM, KNN y Árbol de Decisión). Lo que se aporta respecto a los estudios encontrados
en el estado del arte, es la comparativa de esta arquitectura en términos de eficiencia y
robustez frente a la arquitectura más simple de clasificación en las mismas condiciones
de trabajo, conocida en este proyecto como Arquitectura Convencional.
1https://www.pandora.com 2https://www.spotify.com 3https://m.youtube.com/feed/music 4https://music.amazon.com
5https://www.iheart.com
6https://www.shazam.com 7https://www.soundhound.com 8https://www.smartmusic.com
6
1.4. Objetivos del proyecto
El objetivo del proyecto consiste en implementar y testear una nueva arquitectura de
clasificación de géneros musicales basándose en un modelo estadístico diseñado
originalmente para el análisis de datos químicos en términos de similitud y analogía,
conocido como Soft Independent Modelling of Class Analogies (SIMCA). Este modelo
no ha sido propuesto más allá de la tesis en que se fundamenta este proyecto, para resolver
un problema de clasificación de géneros musicales, pero su estructura permite proponerlo
como un nuevo concepto de clasificación musical. Lo que se requiere, por tanto, es
adaptar la teoría que lo define para implementar la nueva arquitectura de clasificación de
géneros musicales y compararla frente al modelo convencional. Lo novedoso de esta
arquitectura es que aporta un cambio de concepto de clasificación, ya que se crea una
arquitectura de clasificadores especializados exclusivamente en cada género de la
colección de datos descartando todos los demás, al contrario de lo que ocurre en el
clasificador convencional, dónde se crea un clasificador global que mejor define a la
colección en conjunto. Para ello, es necesario cubrir una serie de requerimientos previos
que permiten adentrarse en el mundo de las MIR y la clasificación automática:
• Comprender como los humanos entienden la música y como modelarlo
computacionalmente.
• Definir el modelo de clasificación automática de géneros musicales convencional.
• Comprender el modelo SIMCA y cómo implementarlo.
• Implementar tanto el modelo convencional como la nueva arquitectura propuesta
con las herramientas necesarias.
• Obtener resultados y realizar una comparativa de eficiencia entre modelos.
1.5. Estructura por capítulos
El presente proyecto está desarrollado a lo largo de seis capítulos. En el Capítulo 2 se
presentan los aspectos más relevantes de los sistemas de clasificación automática de
géneros musicales, detallando cada parte del proceso y especificando la Arquitectura
Convencional que se pretende comparar con la propuesta. El Capítulo 3 define la nueva
arquitectura propuesta basada en SIMCA, así como las ventajas sobre la Arquitectura
Convencional. En el Capítulo 4 se describe el entorno de programación utilizado y las
herramientas de soporte necesarias. Además, se analiza, define e implementa tanto la
arquitectura propuesta como la Arquitectura Convencional paso a paso. El Capítulo 5
presenta los resultados obtenidos y la comparativa entre modelos frente a bases de datos
externas al proceso de entrenamiento del modelo. Finalmente, el Capítulo 6 recoge una
evaluación general del proyecto, así como líneas de futuro.
7
Capítulo 2
2. SISTEMAS DE CLASIFICACIÓN
AUTOMÁTICA DE GÉNEROS
MUSICALES
En este segundo capítulo se introduce brevemente las características acústicas más
relevantes del sonido, así como la forma en que los humanos captan y comprenden la
música. Se pretende adentrarse en el mundo de la clasificación de géneros por computador
para definir la tipología de clasificación sobre la cual se trabaja en este proyecto y como
se modela el comportamiento humano, con la finalidad de comprender la estructura de
clasificación Convencional. Seguidamente se define de forma detallada la arquitectura,
analizando en cada una de las fases los aspectos más importantes y relevantes que se
deben tener en cuenta cuando se pretende crear una arquitectura de clasificación
automática.
2.1. Fundamentos musicales
Cualquier elemento referente al audio se considera una característica musical, ya que
define de forma teórica aquello que se percibe como música. Según [White 1976] existen
seis aspectos fundamentales:
Melodía, Armonía, Ritmo, Tono, Forma y el Tempo
Con el paso del tiempo [Cook 1999] definió que las características musicales que utilizan
los humanos para percibir y describir el audio se pueden organizar en dos grupos:
• Primarios: El Tono, el Volumen, la Duración y el Timbre.
• Secundarios: La Estructura, la Textura, el Estilo y el Estado Anímico.
Siguiendo con el paso de los años, se han ido añadiendo y creando nuevas características
que definen el sonido, haciendo que existan una gran cantidad de acuerdo cómo los
humanos lo perciben. Por tanto, una de las tareas primordiales de un sistema de
clasificación automática de géneros musicales se centra en modelar las características
acústicas de la forma que lo perciben los humanos y adecuarse a la tipología de
clasificación requerida.
8
2.2. Los humanos y la clasificación de géneros musicales
El sistema auditivo humano, entre otros aspectos, es capaz de detectar características
musicales y combinarlas para permitir al cerebro crear asociaciones y clasificar la música
en géneros. En la figura 3.1 se puede observar un esquema simplificado del sistema
auditivo, conformado por tres partes diferenciadas: el oído externo, el oído medio y el
oído interno. El oído externo forma la parte visible y permite captar las ondas sonoras y
conducirlas hasta el tímpano, dónde empieza el oído medio. Aquí, el tímpano transmite
las vibraciones que le produce la onda sonora a la cadena de huesos dirigiéndolas hasta
la cóclea. En este punto se llega al oído interno, que actúa como analizador de frecuencias
y se conecta con el nervio auditivo. Posteriormente, a través de complejos procesos
cognitivos de alto nivel, el cerebro es capaz de clasificar la música en géneros.
Figura 3.1: Esquema del sistema auditivo humano. De izquierda a derecha se muestra el oído externo (1).
Le sigue el oído medio, donde una cadena de tres huesos transmite las vibraciones del tímpano hacia el
fluido que circula por el oído (2). Seguidamente, la cóclea capta este sonido y actúa como analizador
frecuencial (3) y está conectado al nervio auditivo (4), permitiendo de este modo convertir frecuencia en
impulsos nerviosos que se analizan en el cerebro, a través de complejos procesos cognitivos. Extraída de
[Donkelaar & Kimitaka, 2011].
Los humanos no tienen únicamente la capacidad de clasificar gracias al sistema auditivo
y a los aspectos musicales que conforman las propiedades intrínsecas de música. Aspectos
sociológicos, como por ejemplo la cultura en que el ser humano se desarrolla como
persona, pueden afectar en la clasificación. Se puede observar, entonces, que la
clasificación de géneros musicales ocurre en distintos niveles de extracción [Ahrendt,
2006] y que, por tanto, aspectos tanto inherentes como externos a la propia onda musical
se unen para hacer aún más complicada la tarea de clasificación, pero ¿cuál de los dos
impera?
Para conocer la importancia de los dos aspectos en la tarea de clasificación, [Chase 2001]
realizó un experimento para la cual se utilizó a tres sujetos. En concreto, tres carpas koi
en edad adulta y entrenadas previamente para reconocer entre el género musical Blues y
Clásico. El porqué de utilizar carpas koi es debido a que el sistema auditivo trabaja de
forma muy similar al del humano. En la figura 2.2 se puede observar como el rango de
frecuencias sensitivas de una carpa es el que más se asemeja al del humano, frente a otros
animales.
1 2 3 4
9
Figura 2.2: Respuesta frecuencial de distintos seres vivos. Se puede observar la semejanza entre la carpa
koi y el ser humano. Extraída de [Chase 2011].
En el experimento, se demostró que la carpa koi es capaz de discriminar entre géneros
musicales y clasificarlos con un alto porcentaje de acierto, al ser capaces de reconocer y
combinar la melodía, el timbre, el tono, y otros aspectos musicales. Esto demuestra que
el contenido intrínseco de la propia música es suficiente para la tarea de clasificación de
géneros musicales y que aspectos extrínsecos, no son un problema muy relevante en la
categorización por género. Por este motivo y para generalizar el modelaje automático de
clasificación, en este proyecto se trabajará únicamente con las propiedades inherentes en
del sonido.
2.3. La Clasificación Automática de Géneros Musicales
La clasificación automática consiste en la categorización realizada por un ordenador a
través de algoritmos de aprendizaje automático. Su objetivo es simular el comportamiento
del sistema auditivo y aprendizaje neuronal humano que permite categorizar la música.
Existen dos tipologías de aprendizaje automático basadas en cómo se definen los datos
de entrada para el clasificador: no supervisado y supervisado.
En el aprendizaje no supervisado, se trabaja con datos de entrada sin ningún tipo de
etiquetado que defina a que categoría pertenece. Por tanto, solamente se puede describir
la estructura que siguen estos datos y la clasificación emerge de ellos mismos, basándose
en medidas de similitud sencillas (distancia euclidiana) o más complejas (modelos de
mezcla gausiana o modelos ocultos de markov) que modelan, además, la evolución
temporal de los vectores de características. El objetivo del clasificador es, por tanto, crear
grupos de datos con características similares. Seguidamente se exponen algunos de los
más utilizados:
• Clasificadores no supervisados:
K-means.
Self Organizing Map (SOM).
Growing Hierarchical Self Organizing Map (GHSOM).
10
En cambio, en el aprendizaje supervisado, se trabaja con datos debidamente etiquetados
dada una taxonomía de géneros, por lo que se conoce el resultado correcto de la
clasificación. Por tanto, estos modelos utilizan un conjunto de estos datos como
entrenamiento para mapear los datos de entrada a los valores de salida conocidos. A partir
de estos datos de entrenamiento, se pretende construir un modelo predictivo aplicable a
nuevos datos externos al proceso de entrenamiento. Como se trata de un algoritmo
supervisado, éste se puede ir ajustando y el aprendizaje finaliza cuando se obtiene un
nivel de precisión adecuado. Algunos de los más utilizados son los siguientes:
• Clasificadores supervisados:
K-Vecinos Cercanos (KNN).
Árboles de Decisión.
Máquinas de Vectores de Soporte (SVM).
La figura siguiente muestra de forma gráfica la diferencia entre las dos tipologías
mencionadas:
Figura 2.3: Clasificación Supervisada frente a No Supervisada. En la figura de la izquierda se puede
observar dos clases distintas y como el aprendizaje supervisado crea una separación entre ellas gracias a su
categorización. En la derecha, en cambio, se puede observar que los datos no pertenecen a ninguna categoría
asignada, por lo que el sistema de aprendizaje no supervisado realiza agrupamiento de datos por similitud
de comportamiento. Edición propia.
Vistos las dos tipologías de clasificación, cabe destacar que proyecto está frente a un
problema de clasificación supervisada, ya que como se comenta en posteriores capítulos,
es el que más se adecua a su finalidad.
X1
X2
X1
X2
?
? ?
?
? ? ?
?
? ?
? ? ?
?
?
Supervisado No Supervisado
11
2.3.1. El clasificador automático: Arquitectura
Todo clasificador supervisado de géneros musicales lo conforma un conjunto de procesos
iterativos con la finalidad de, partiendo de una base de datos debidamente etiquetada,
crear un sistema capaz de clasificar con un porcentaje de acierto adecuado y siendo capaz
de adaptarse a nuevos datos nunca vistos por el sistema. En la siguiente figura se
representa un esquema básico de un clasificador automático de géneros musicales:
Figura 2.4: Diagrama de bloques para un sistema de clasificación automático convencional
Se pueden observar básicamente cuatro grandes procesos dentro de este tipo de sistemas,
los cuales se detallan para comprender el proceso en su totalidad:
1. Creación de la colección de datos
2. Extracción de características basadas en contenido
3. Clasificación
4. Evaluación de resultados
2.3.2. La Colección de Datos
Es el elemento básico de trabajo y seleccionarla, conforma el primer paso en un sistema
de clasificación automático. Esta debe contener todo el universo de géneros que se
requiera que el clasificador sea capaz de reconocer y estar debidamente etiquetada. Por
ello, es de vital importancia saber que existen distintos parámetros para construir una base
de datos que afectan directamente al proceso de la clasificación. Algunos de ellos se
definen a continuación [Guaus, 2009]:
- Número de géneros:
Es uno de los aspectos más importantes en el diseño de una colección de géneros
musicales. Establece la precisión base para una clasificación aleatoria que, en caso de
tener un conjunto de datos equitativamente distribuida, se calcula como:
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 =1
𝑁∗ 100,
dónde N hace referencia al número de géneros.
12
- Tamaño de cada género:
Cuanto a la cantidad de piezas musicales de cada género no existe un tamaño teórico.
Dependiendo de la funcionalidad del clasificador en cuestión puede variar el número tanto
de géneros como contenido. En las tablas A.1 y A.2 del Anexo A: Colecciones de géneros
musicales creadas por expertos, se muestran distintas colecciones de datos comúnmente
utilizadas en tareas de clasificación y como difieren entre ellas.
- Longitud de la pieza musical:
Para categorizar una pieza musical no es necesario escucharla en su totalidad. Con una
muestra de la pieza de entre 10 y 60 segundos, siempre que sea representativa, es
suficiente. De este modo se reduce el tamaño de la colección datos y se facilita la tarea
de procesado al sistema de clasificación, sin eliminar la variedad.
- Variabilidad:
Las colecciones de datos deben recoger la máxima variedad de música para un género
musical en específico, incluyendo distintos artistas y subgéneros. Es recomendable no
utilizar más de una canción por artista debido a que puede afectar al peso de una
determinada propiedad musical dentro de la colección de datos.
- Balanceado de datos:
Es importante que la colección de datos esté bien balanceada, es decir, que la cantidad de
canciones por género sea la misma. De este modo se podrán obtener resultados
equilibrados y con una buena tendencia. Pese a esto, colecciones de géneros musicales
comúnmente utilizadas están perfectamente balanceadas (ver Capítulo 4, Tabla 4.1) y
otras todo lo contrario (ver Anexo A, Tabla A.1 y A.2), dependiendo de la finalidad que se
requiera de un proceso de clasificación.
2.3.3. La Extracción de Características
Una vez seleccionada la base de datos con la que se requiere trabajar, se procede a la
extracción de características. El audio digital contiene demasiada información como para
ser tratada por un clasificador pese a, por ejemplo, haber seleccionado una porción de 30
segundos de un archivo musical. Es gracias a la extracción de características que se hace
posible representar de forma compacta y acotada una serie de atributos que representan
partes interesantes de la propia onda de sonido en su totalidad.
Para poder calcularlos, se asume que la onda de sonido permanece estacionaria en un
intervalo de tiempo muy reducido. Para ello, el primer paso consiste en dividirla en
frames, normalmente de unos 30 milisegundos, ya que en este periodo se mantiene
prácticamente estática. A cada una de las muestras se les aplica una función de ventana,
para evitar los artefactos que puedan producir la división por frames, y una pequeña
superposición entre ellas, como se puede observar en la figura 2.5. Matemáticamente este
proceso se puede definir de la siguiente forma [Ahrendt, 2006]:
13
𝑋𝑛 = [𝑊0 ∗ 𝑆𝑛 − (𝑁 − 1), … , 𝑊(𝑁 − 1) ∗ 𝑆𝑛] dónde,
𝑋𝑛 hace referencia al vector de características.
𝑊0 los coeficientes de la función de ventana.
𝑆𝑛 es la señal original.
N el tamaño de intervalo.
Una vez obtenida la representación de la señal de audio en pequeños intervalos de tiempo,
se puede aplicar la transformación que se requiera para obtener un determinado
descriptor. Matemáticamente:
𝑋𝑛 = 𝑇[𝑋1, … , 𝑋𝑛−1 ] donde,
T corresponde a la función de transformación.
Figura 2.5: Obtenida de [Polotti & Davide Rocchesso 2008], página 94. Esquema de extracción de
características aplicando STFT. De arriba a abajo, en la primera figura se observa que partiendo de la señal
completa 𝑆𝑛 en todos los intervalos de tiempo n, esta se divide y se selecciona el contenido de un intervalo
de tamaño N, de aproximadamente 20 milisegundos. Sobre esta muestra se aplica, en la segunda figura,
una ventana Hamming para evitar artefactos en los extremos de la muestra cómo se observa en la tercera
figura. Posteriormente se integra este proceso a lo largo de toda la onda de sonido, aplicando una pequeña
superposición entre intervalos.
Los descriptores pueden definir características de bajo nivel (energía, espectro de
frecuencias, …) o de alto nivel (género, estado de ánimo, ...). Además, según el aspecto
musical que se quiera estudiar, se pueden obtener descriptores temporales, frecuenciales
de alto y bajo nivel. En este proyecto se utilizan descriptores de bajo nivel tanto
temporales como frecuenciales, debido a que se calculan a partir de la esencia de los datos
y son computacionalmente poco costosos para los sistemas de clasificación.
14
Descriptores temporales
Son aquellos que se pueden calcular directamente del espacio original en que coexisten
los intervalos en que se ha dividido la pieza de audio. A continuación, se exponen algunos
de los más representativos [Peeters, 2004], algunos de los cuales se utilizan en este
proyecto:
- Energía:
La energía de una señal de audio permite representar una evolución de la amplitud a lo
largo del tiempo detectando la existencia de cambios, cuando se produce audio y cuando
no, entre otros aspectos de la evolución temporal de la pieza musical. En definitiva, es un
descriptor relacionado con el volumen. En el caso de señales discretas, se puede definir
como:
𝐸 = ∑ 𝑋[𝑛]2
𝑁
𝑛=0
𝑋[𝑛] es la señal discreta y N corresponde a la longitud de los fragmentos.
La estimación de la curva de energía es imprescindible para posteriormente calcular
descriptores como el centroide temporal o el log-attack time.
Figura 2.6: Representación temporal de la curva de energía, en rojo, sobre una señal sinusoidal, en azul.
Extraída de [Peeters 2003].
- Log Attack Time:
Descriptor que se calcula a partir de la energía y que indica la rapidez con la que el sonido
cambia, conocido como el tiempo de ataque. Su expresión matemática la sigue la
siguiente fórmula:
𝐿𝐴𝑇 = log10(𝑠𝑡𝑜𝑝𝑎𝑡𝑡𝑎𝑐𝑘 − 𝑠𝑡𝑎𝑟𝑡𝑎𝑡𝑡𝑎𝑐𝑘)
𝑠𝑡𝑎𝑟𝑡𝑎𝑡𝑡𝑎𝑐𝑘 , hace referencia al punto en el cual la energía del sonido sobrepasa el límite
inferior y empieza a tener presencia.
𝑠𝑡𝑜𝑝𝑎𝑡𝑡𝑎𝑐𝑘 , es el punto máximo de energía de la onda sonora y en el cual empieza a
decaer.
dónde,
dónde,
15
Este descriptor permite distinguir sonidos como el habla, de sonidos percusivos, entre
otros. Una de las formas de calcularlo se puede observar en la figura 2.7, dónde se estima
a través de la aplicación de límites en la curva de energía. Normalmente, el límite inferior
se establece en un 20% del total de la energía para evitar la presencia de ruido en la señal.
Para el final del ataque, se establece el límite a un 90%.
Figura 2.7: Identificación del ataque de una onda de sonido sobre la curva de energía a través del
establecimiento de límites inferior y superior. Extraída de [Peeters 2003].
- Zero Crossing Rate (ZCR):
En el caso de señales de audio discretas, ZCR permite calcular cuantas veces cambia de
signo entre muestras consecutivas. Sonidos que sean periódicos tienden a tener un valor
más pequeño, mientras que sonidos más ruidosos todo lo contrario. La función de signo
tiene valor 1 para valores positivos y 0 para los negativos. Matemáticamente:
𝑍𝐶𝑅 =1
2 ∑ 𝑎𝑏𝑠[𝑠𝑖𝑔𝑛(𝑋[𝑛]) − 𝑠𝑖𝑔𝑛(𝑋[𝑛 − 1])]
𝑁
𝑛−1
𝑋[𝑛] corresponde a la señal discreta.
N es la longitud de 𝑋[𝑛].
- Temporal centroid:
Hace referencia al centro de gravedad sobre la curva de energía, indicando en qué
posición temporal tiene más energía la onda sonora. Permite distinguir entre sonidos
percusivos o, por lo contrario, sostenidos. Su expresión matemática se puede observar a
continuación:
𝑇𝐶 = ∑ 𝑒(𝑡) ∗ 𝑡𝑡
∑ 𝑒(𝑡)𝑡
𝑒(𝑡) es la función de energía.
dónde,
dónde,
16
Descriptores Frecuenciales
Además de poder calcular descriptores temporales de audio, también es común trabajar
en otro tipo de dominio que aporta información muy interesante, el frecuencial. En este
dominio es posible calcular otra tipología de descriptores basado en la representación
espectral, simulando como los humanos responden al sonido. Para ello, es necesario
realizar una transformación de la señal original para poder representarla en este nuevo
dominio, a través del concepto de la Transformada Discreta de Fourier (DFT), en concreto
la Transformada discreta de Fourier en Corto periodo de Tiempo (STFT), una versión de
la DFT variante en el tiempo.
Al realizar esta transformación, obtenemos una representación de cada trama de la señal
en magnitud y fase sobre tiempo y frecuencia. Matemáticamente:
𝑋𝑙[𝑘] = ∑ 𝑤[𝑛] ∗ 𝑥[𝑛 + 𝑙𝐻] ∗ 𝑒2𝜋𝑘𝑛
𝑁
𝑁2
−1
𝑛=−𝑁2
𝑋𝑙[𝑘] es la secuencia k de la STFT para el intervalo l.
𝑤[𝑛] es la ventana de análisis.
𝑥[𝑛 + 𝑙𝐻] es la señal por transformar, donde 𝑙 hace referencia al intervalo en cuestión y
H el valor de distancia entre intervalos, el tamaño de salto.
𝑒2𝜋𝑘𝑛
𝑁 es una función compleja sinusoidal que representa la fase y la magnitud sobre el
tiempo y frecuencia.
La figura que se muestra a continuación representa de forma gráfica la transformación
del dominio temporal al dominio frecuencial aplicando el solapamiento de ventanas y la
FFT para cada intervalo, resultando en la técnica de STFT.
Figura 2.8: Representación gráfica de la transformación de una señal del espacio temporal (figura superior)
al dominio frecuencial (figura inferior) aplicando la FFT.
Seguidamente, se presentan algunos de los descriptores frecuenciales más utilizados en
MIR, algunos de los cuales se utilizan en este proyecto [Peeters, 2004].
con 𝑙 = 0,1, …, dónde,
17
- Spectral Centroid
Se define como el baricentro de la distribución de energía espectral. Se puede interpretar
como una medida de la media de frecuencias, ponderada por la amplitud del espectro,
representando una medida de brillantez del audio. Si en un audio imperan bajas
frecuencias, el valor del spectral centroid será bajo y el caso contrario con altas
frecuencias. Des del punto de vista matemático, se puede calcular como [Guaus, 2009]:
𝑆𝐶 = ∑ 𝑓𝑖 ∗ 𝑎𝑖
∑ 𝑎𝑖
𝑓𝑖 es el valor de frecuencia para cada trama de la FFT.
𝑎𝑖 representa la amplitud de la señal.
- Spectral Spread
Descriptor relacionado con el spectral centroid que indica la varianza del espectro.
- Spectral Skewness
Indica una medida de la asimetría de una distribución respecto su valor medio. Si el valor
de skewnes es 0, indica que se trata de una distribución totalmente simétrica. En cambio,
si es positivo, indica que tiene más energía en la parte izquierda. Por lo contrario, si el
valor es negativo, indica que contiene mayor energía en la parte derecha.
- Spectral Flatness:
Descriptor que representa la ratio entre la media geométrica y la aritmética de la densidad
de energía espectral para cada banda de frecuencias [Peeters, 2004]. Aporta una idea
sobre si el sonido que se está tratando es armónico o por lo contrario es ruidoso.
Matemáticamente:
𝑆𝐹(𝑛𝑢𝑚_𝑏𝑎𝑛𝑑) =(∏ 𝑎(𝑘)𝑘 ∈ 𝑛𝑢𝑚_𝑏𝑎𝑛𝑑 )
1/𝐾
1𝐾
∑ 𝑎(𝑘)𝑘 ∈ 𝑛𝑢𝑚_𝑏𝑎𝑛𝑑
𝑎(𝑘) corresponde a la amplitud de la banda de frecuencia k.
A partir de este valor, se puede generar el coeficiente de tonalidad expresado en
decibelios, el cual es inversamente proporcional al spectral flatness.
𝑇𝑜𝑛𝑎𝑙𝑖𝑑𝑎𝑑 = min (𝑆𝐹𝑑𝐵
−60, 1)
𝑆𝐹𝑑𝐵 = 10 ∗ log10(𝑆𝐹)
dónde,
dónde,
dónde,
18
Un valor 0 de spectral flatness indica un sonido totalmente tonal, es decir, que el valor de
tonalidad equivale a 1. Por lo contrario, un valor 1 de spectral flatness indica un sonido
totalmente ruidoso, con valor de tonalidad 0.
- Spectral Crest:
Es un descriptor relacionado con el anterior que indica cuanto de extremos son los picos
de frecuencia. Se calcula como la ratio del máximo valor de amplitud, dentro de las
bandas de frecuencia, respecto la media aritmética de la densidad de energía espectral
[Peeters, 2004]. La siguiente fórmula muestra su cálculo:
𝑆𝐶𝑀(𝑛𝑢𝑚𝑏𝑎𝑛𝑑) = max (𝑎(𝑘 ∈ 𝑛𝑢𝑚𝑏𝑎𝑛𝑑)
1𝐾
∑ 𝑎(𝑘)𝑘∈ 𝑛𝑢𝑚𝑏𝑎𝑛𝑑
𝑎(𝑘) corresponde a la amplitud de la banda de frecuencia k.
- Spectral Flux:
Indica como varia el espectro de frecuencias a nivel local entre tramas [Tzanetakis &
Cook, 2002]. Si el spectral flux produce valores altos, significa que existe mucho cambio
espectral entre tramas consecutivas. Su expresión matemática:
𝐹𝑡 = ∑ (𝑁𝑡[𝑛] − 𝑁𝑡−1[𝑛])2
𝑁
𝑛=1
𝑁𝑡 corresponde a la distribución frecuencial en el intervalo de tiempo t.
- Spectral RollOff:
Según [Peeters 2004] conforma el punto frecuencial en el que el 95% de la energía de la
señal está contenida por debajo de esta misma frecuencia. Está correlacionada con
frecuencia de corte entre sonido armónico y ruidoso. Matemáticamente:
∑ 𝑎2(𝑓) = 0.95 ∑ 𝑎2(𝑓)
𝑠𝑟/2
0
𝑓𝑐
0
𝑓𝑐 hace referencia a la frecuencia espectral de roll-off.
𝑠𝑟/2 es la frecuencia de Nyquist.
dónde,
dónde,
dónde,
19
- Mel Frequency Cepstrum Coefficients (MFCC):
Los MFCC son unos coeficientes que representan la energía del espectro de frecuencia,
basándose en la percepción del sistema auditivo humano. Estos, son derivados de un tipo
de representación Cepstral (el Cepstrum), el cual es el resultado de calcular la Inversa de
la Transformada de Fourier (IFT) del logaritmo de la energía del espectro de frecuencia.
La mayor ventaja del Cepstrum es que una vez aplicado, permite transformar una
convolución en el tiempo, en una suma en el dominio espectral, separando de este modo
la fuente del filtro (lo que realmente nos interesa y produce el sonido) de una señal de
audio. Además, aplicando la escala de Mel se consigue imitar el comportamiento acústico
de la cóclea, adaptándose de forma no lineal al comportamiento frecuencial. De aquí
aparecen los MFCC.
La siguiente fórmula muestra la conversión frecuencial a la escala de mel:
𝑚𝑒𝑙 𝑓 = 2592 ∗ log10[1 +𝑓
700]
En definitiva, los MFCC se calculan de la siguiente forma:
1. Se muestrea la señal en tramos pequeños.
2. Se aplica la DFT (Transformada Discreta de Fourier) y se obtiene la potencia
espectral de cada muestra para obtener la representación espectral.
3. Se aplica la conversión a la Escala de Mel y se suman las energías.
4. Se calcula el logaritmo de todas las energías de cada frecuencia de Mel.
5. S aplica la DCT (Transformada de Coseno Discreta) a los logaritmos.
20
El vector de características
Como se ha podido observar, existen múltiples descriptores que representan el contenido
musical de distintas formas y en diferentes dominios. Para poder enriquecer la base de
datos y definir detalladamente cada uno de los archivos musicales, es necesario que estos
descriptores coexistan para definir características desde distintos puntos de vista.
El vector de características es el elemento que conforma este punto de unión entre
descriptores individuales que definen distintos aspectos para una misma señal de audio.
La idea es crear un vector por cada archivo en la colección de datos, de modo que cada
uno de ellos está representado por los mismos descriptores que definen de forma numérica
aspectos inherentes de los archivos de audio. Asimismo, estos vectores de características
son los que harán posible construir una representación de la base de datos en su totalidad
y que va a permitir que el clasificador sea capaz de comprender como se comportan las
distintas categorías de géneros musicales a través de datos numéricos. Una vez obtenidos,
mediante la agrupación y representación estadística a través de cálculos como la media o
la varianza, se representa la colección de datos en su totalidad. La figura que se muestra
a continuación representa de forma esquemática el proceso de adquisición del vector de
características.
Figura 2.9: Proceso de extracción de características de una señal de audio original y creación del vector de
características con descriptores del dominio frecuencial y temporal. Edición propia.
Optimización de los datos
El proceso de extracción de características puede producir una gran cantidad de
información para el clasificador, cuya complejidad recae en la cantidad de descriptores
utilizados para definirla. Es erróneo pensar que la base de datos estará mejor definida
cuanto mayor sea la cantidad de descriptores utilizados para crearla. Todo depende de
que descriptores se usen y de la finalidad del sistema de clasificación.
A modo de ejemplo, es conocido que el coeficiente MFCC0 está relacionado con la
energía de la señal de audio en concreto, con lo que no aporta mucha información para
un sistema de clasificación automática [Guaus, 2009]. Por este motivo, existen técnicas
de optimización de los datos, conocidas como Selección de Características, que permiten
Extracción de
características
Log Attack Time
Zero Crossing Rate
Spectral Centroid
MFCC
VC = [LAT,ZCR,SC, MFCC1,…]
Audio Original Audio transformado en
vector de características
Audio.wav
a
t
a
f
Dominio Frecuencial
Dominio Temporal
21
reducir la dimensionalidad de la base de datos de acuerdo con distintos criterios. Dos de
los métodos más utilizados son los siguientes:
• Entropía:
Los algoritmos basados en entropía seleccionan un conjunto de atributos que
individualmente correlacionan bien con la clase, pero poco entre ellos. De este modo, se
consigue seleccionar aquellos atributos que mejor separan entre géneros.
• Análisis de Componentes Principales (PCA):
Consiste en una transformación de espacio, mediante la proyección del vector de
características actual en un nuevo espacio en el cual se calculan unos nuevos descriptores
que son combinación lineal de todos los originales. En este nuevo espacio de
características, se aplica un peso a cada uno de los atributos originales de modo que los
nuevos atributos están ponderados, consiguiendo una mejor adaptación de la información
y descartando la irrelevante.
2.3.4. La Clasificación
Una vez obtenido un vector de características de bajo nivel que define de la mejor forma
posible cada uno de los archivos musicales pertenecientes a la base de datos, el siguiente
paso consiste en encontrar patrones en el espacio de características que sean capaces de
distinguir entre géneros y la tarea de encontrarlos recae sobre el clasificador.
Como se ha comentado en el apartado 2.3 de este capítulo, en este proyecto se van a
utilizar clasificadores expresamente diseñados para tareas de clasificación supervisada.
A continuación, se definen tres de las técnicas de clasificación más conocidas.
1. K-vecinos más cercanos
Es uno de los algoritmos de aprendizaje supervisado más sencillo. Su idea se basa en
clasificar un nuevo dato a una de las 𝑁 clases conocidas según tenga 𝑘 vecinos más cerca
de una clase u otra. Para ello, el algoritmo calcula la distancia de un nuevo dato a cada
uno de los datos de las distintas clases para seleccionar a que grupo pertenece.
Este algoritmo pertenece al grupo de clasificadores aprendizaje vago, por el hecho de que
no se crea un modelo de aprendizaje con los datos entrenamiento, sino que se realiza en
la misma fase de test. Seguidamente se detallas las fases del proceso.
- Fase de entrenamiento:
En la fase de entrenamiento se generan los datos de las 𝑁 clases que se van a utilizar para
la clasificación. Para ello, simplemente para cada dato de entrenamiento 𝑥, 𝑓(𝑥), se añade
debidamente etiquetado a la lista de datos de entrenamiento.
22
- Fase de Test/Clasificación:
Dado un nuevo dato a clasificar 𝑥𝑐, se denomina 𝑥1 … . 𝑥𝑘 a las 𝑘 instancias de los datos
de entrenamiento más cercanas a 𝑥𝑐 y se devuelve la pertenencia a la clase en términos
de mayor cantidad de elementos de una clase.
Figura 2.10: Representación de clasificación de K vecinos más cercanos. En la fase de entrenamiento se
posicionan las clases círculo y equis. En la fase de clasificación, aparece un nuevo dato que, es clasificado
como clase circulo para k = 3 y como clase equis para k =5. Edición propia.
2. Máquinas de Vectores de Soporte (SVM)
Es uno de los algoritmos de clasificación supervisada que mejor resultados produce. El
objetivo de este método de es el de encontrar un hiperplano que mejor separe los datos
de entrenamiento. Pueden existir múltiples formas de separar los datos de entrenamiento,
pero SVM se basa en escoger aquel que maximice el margen entre clases (distancia entre
el hiperplano i los elementos más cercanos de cada clase a este hiperplano). Estos
elementos son los denominados Vectores de Soporte, aquellos que si se eliminan alteran
la posición del hiperplano de separación entre clases, con lo cual se consideran elementos
críticos del proceso de entrenamiento.
El método SVM es realmente útil cuando no existe un hiperplano claro que separe entre
las clases de una base de datos de entrenamiento. Cuando esto ocurre, SVM, proyecta los
datos de entrenamiento en un espacio de características N dimensional según se requiera
a través de las funciones de Kernel.
Figura 2.11: Representación de clasificación aplicando SVM para un problema de dos clases. En 1, se
puede observar un problema de clasificación idílico, cuyas clases se pueden separar claramente por un
hiperplano (línea) que maximiza la distancia entre vectores de soporte. En 2 se puede observar una base de
datos de entrenamiento con dos clases totalmente mezcladas, cuya separación en esta dimensión es inviable.
Y
?
X
Y
X
Fase de Entrenamiento Fase de Clasificación
1 2 3
?
Y
X
Y
X
Y
X
Z
23
En 3 se observa el mapeado a un espacio dimensional mayor, donde un hiperplano puede separar las dos
clases. Edición propia.
Una vez entrenado el modelo, cuando se requiere testearlo, los nuevos datos son
mapeados al espacio dimensional requerido y se les asigna la pertenencia a la clase según
la posición en que se encuentren del hiperplano obtenido.
3. Árboles de Decisión:
Los árboles de decisión son un tipo de clasificación supervisada donde la función de
aprendizaje está representada por una estructura de árbol binario. Básicamente, lo
conforman tres elementos distintos: Nodos, Ramas y Hojas.
Los nodos representan cada uno de los puntos de decisión, representados por los
descriptores que mejor definen a la clase. Las ramas hacen referencia a la unión entre
nodos que van dirigiendo la decisión de clasificación según un umbral de decisión. Por
último, las hojas son el punto final del camino de decisión y representan a la selección de
la clase.
En los árboles de decisión, cuando se requiere clasificar una nueva instancia, esta empieza
pasando por el nodo raíz, aquel descriptor que mejor define a la clase, y dependiendo del
valor del umbral, éste va creando el camino impuesto pasando por los siguientes nodos
que mejor definen a la clase después de su superior. La clasificación de esta nueva
instancia acaba cuando llega a una de las hojas del árbol y se le asigna la etiqueta que
contiene. A continuación, se muestra un ejemplo de árbol de decisión.
Figura 2.12: Representación de un árbol de decisión para la clasificación de género rock / no rock para el
fold 4 de entrenamiento y testeo aplicando K-fold Cross-Validation manualmente. Edición propia obtenida
de Weka GUI.
24
2.3.5. Evaluación de resultados
El proceso de evaluación es el último punto dentro de la cadena del clasificador. En este
punto se extrae información respecto al trabajo que ha efectuado según los resultados
obtenidos. Gracias a ello, se puede evaluar su eficiencia a través de distintas medidas
estadísticas que aportan información sobre el proceso de clasificación:
- Matriz de confusión:
Es una de las partes de evaluación más importantes en un proceso de clasificación
supervisada, ya permite observar de forma visualmente sencilla la bondad del
clasificador. En esta matriz, cada una de filas hace referencia a las instancias de la clase
real i las columnas muestran la predicción del clasificador. Los datos que se encuentran
en la diagonal son aquellos correctamente clasificados, mientras que los demás puntos de
cruce informan de las clasificaciones incorrectas.
Clase Predicha
Negativo Positivo
Clase
Real
Negativo Verdadero
Negativo
Falso
Positivo
Positivo Falso
Negativo
Verdadero
Positivo
Tabla 2.1: Representación de la matriz de confusión para las clases negativo y positivo
A través de la matriz de confusión, es posible obtener una serie de medidas estadísticas
que aportan distinta información:
- Exactitud:
Número total de valores predichos correctamente respecto el número total de instancias
de las clases.
𝐸𝑥𝑎𝑐𝑡𝑖𝑡𝑢𝑑 = 𝑉𝑃 + 𝑉𝑁
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑃 + 𝐹𝑁
- Precisión:
Porcentaje del número total de positivos verdaderos respecto al total de los positivos
predichos.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 = 𝑉𝑃
𝑉𝑃 + 𝐹𝑃
25
- Recall (sensibilidad):
Proporción de valores clasificados como positivos correctamente respecto a los casos que
son realmente positivos.
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑉𝑃
𝑉𝑃 + 𝐹𝑁
- Medida-F:
Hace referencia a la media entre los valores de precisión y recall. Un valor de medida F
de 1 indica una clasificación perfecta y, por el contrario, un valor 0 indica que la
clasificación es totalmente errónea.
𝑀𝑒𝑑𝑖𝑑𝑎 𝐹 = 2𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙
2.4. Funcionamiento del clasificador automático de géneros musicales
convencional
En el apartado anterior, se ha detallado cada una de las partes que conforman un
clasificador de géneros musicales des del punto en que se selecciona la base de datos con
la que se va a trabajar, hasta la creación del modelo que define de forma conjunta todas
las clases y su evaluación.
La figura 2.13 muestra una representación esquemática del funcionamiento de la
arquitectura de clasificador en condiciones normales, (el cual se denomina Arquitectura
Convencional a partir de este punto) donde se definen dos grandes bloques:
- Entrenamiento y Testeo.
- Uso Típico.
ººº
Entrenamiento
Base de
Datos
Testeo
Extracción de
Características
Clasificación
Nuevas
Canciones
Modelo
Evaluación
Categoría
Asignada
Extracción de
Características
En
tren
amie
nto
y T
este
o
Uso
típ
ico
Extracción de
Características
Figura 2.13: Diagrama de bloques del clasificador de géneros musicales convencional. Basada en [Guaus 2009].
Categoría
Asignada
26
En la parte de entrenamiento y testeo, se selecciona una única base de datos que contiene
todos los géneros requeridos y debidamente etiquetados para construir el modelo.
Seguidamente, a partir de estos datos se obtienen distintas características inherentes en el
propio sonido para representarlo a través de un vector de características, creando de este
modo el modelo a través de la técnica de clasificación que se requiera. Ahora, el sistema
está listo para su uso típico, es decir, para procesar nuevos datos que nunca han sido
vistos. Cuando aparece una nueva canción que se quiere clasificar con el modelo creado,
le aplica la misma extracción de características que a la aplicada a los datos para el
modelaje. Seguidamente, se aplica el modelo creado a las características que definen la
nueva canción y se procede a la asignación de una categoría de género musical.
Finalmente, el resultado se debe evaluar para obtener información respecto a valores de
exactitud del modelo frente a un uso normal del mismo.
El esquema mostrado anteriormente va a ser el utilizado para modelar la Arquitectura de
clasificación Convencional y con la cual se van a obtener medidas estadísticas respecto a
su eficiencia para poder compararla con la arquitectura propuesta en este proyecto.
27
Capítulo 3
3. EL CLASIFICADOR POR
DESCARTE
En el apartado anterior, se ha tratado en detalle cada uno de los procesos que conforman
un sistema de clasificación automático de géneros musicales convencional. Basándose en
esta estructura, en este capítulo se define la arquitectura de clasificador propuesta basada
en el modelo Soft Independent Modelling of Class Analogies (SIMCA), propuesta bajo
la idea de [Wold & Sjostrom 1977], adaptando la base de datos y el sistema de
clasificación.
En primer lugar, se presenta el modelo SIMCA detalladamente, definiendo sus ventajas
y justificación respecto a porqué tiene sentido proponer este método como clasificación
automática de géneros musicales. Finalmente se realiza una comparativa entre el modelo
convencional y la nueva arquitectura propuesta para observar que aspectos comparten y
en qué puntos difieren.
3.1. Soft Independent Modelling of Class Analogies: El modelo SIMCA
El modelo Soft Independendent Modeling of Class Analogies (SIMCA) es un método
estadístico para clasificación de datos supervisados. Fue propuesto por Svante Wold y
Michael Sjostrom en 1977 cómo un método para analizar datos químicos en términos de
similitud y analogía [Wold & Sjostrom 1977]. Debido a ello, este método no se pensó
especialmente para clasificación de géneros musicales pero su estructura hace que tenga
sentido aplicarlo a un nuevo concepto de clasificación musical.
En una frase; SIMCA aplica el Análisis de Componentes Principales (PCA) a cada una
de las clases de la base de datos por separado. Esto significa que aplicando SIMCA, va a
ser posible crear un sistema de clasificación conformado por tantos modelos
especializados en cada una de las clases, como cantidad de clases conformen la colección
de datos con la que se pretende trabajar. De este modo, es posible crear una arquitectura
de clasificación por descarte, donde cada clasificador es capaz de clasificar su pertenencia
o no a la clase, descartando todas las demás. Además, a cada una de las clases se les aplica
el PCA (definido en detalle en el siguiente apartado), optimizando y transformando los
descriptores que definen cada uno de los datos de una clase a nuevos espacios de 𝑁
dimensiones, capaces de crear grupos de datos con comportamientos parecidos, donde
previamente no existían.
28
3.1.1. El Análisis de Componentes Principales (PCA)
El PCA es un método que va a permitir transformar los descriptores que definen cada
pieza musical de la base de datos de tamaño 𝑛 ∗ 𝑚, en un nuevo conjunto de valores que
son una combinación lineal de las originales, pero de dimensión 𝑛 ∗ 𝑙, dónde 𝑙 < 𝑚
,consiguiendo reducir la dimensionalidad y minimizando la pérdida de información útil.
Cada una de estas nuevas variables se conocen como Componentes Principales (PC), de
modo que se transforma el conjunto de descriptores recogidos por el Vector de
Características, por ejemplo 𝑉𝐶 = [𝑀𝐹𝐶𝐶1, 𝑆𝑝𝑒𝑐𝑡𝑟𝑎𝑙 𝑆𝑝𝑟𝑒𝑎𝑑, … ], en un grupo de
Componentes Principales, 𝑉𝐶 = [𝑃𝐶1, 𝑃𝐶2, . . . ], cada uno conformado por una
combinación lineal de todos los originales y con unos pesos que dependen de la
maximización de la varianza para cada PC. De este modo, se realiza una transformación
de los datos a un nuevo sistema de coordenadas de tal forma que el primer Componente
Principal (PC1), es aquella proyección de datos en la cual la varianza es la mayor posible.
El PC2, conformará la segunda mayor varianza entre componentes y siguiendo este
modelo hasta conseguir cubrir, típicamente, un 95% de la varianza.
La varianza es una medida de cómo se extienden los datos respecto a la media y, como
se trabaja con descriptores que se definen en distintas escalas, es de vital importancia
estandarizarlos para seguir con el proceso correctamente. Estandarizar es muy importante
al aplicar un método basado en la maximización de la varianza. A modo de ejemplo, si se
dispone de la base de datos provista en la figura 3.1, dónde se representa la varianza entre
cuatro componentes se observa que, si no se aplica ninguna estandarización de los datos,
esta puede afectar considerablemente a futuros procesos de clasificación debido a que el
peso de algún componente altera la explicación global de los datos. En definitiva, a través
de la estandarización se consigue que todos los datos contribuyan a la varianza de forma
real, ya que estos se comparan en la misma escala unitaria (media 0 y varianza 1).
Matemáticamente:
X′ = x − xmin
xmax − xmin
Figura 3.1: Representación de la varianza de los datos para las distintas clases antes y después del proceso
de estandarización.
29
Una vez estandarizados los datos, para calcular la varianza se calcula la desviación
estándar (la raíz cuadrada de la distancia media de cada uno de los datos, respecto a la
media). Matemáticamente:
𝜎 = √1
𝑛 − 1 ∑(𝑥𝑖 − �̅�)2
𝑛
𝑖=1
𝑛 hace referencia a la cantidad de datos.
𝑥𝑖 son cada uno de los datos.
�̅� hace referencia a la media.
Por tanto, se calcula la matriz de covarianza, la cual describe la varianza de los datos y la
covarianza entre las variables. Un valor de covarianza positivo indica que las variables
muestran comportamientos similares y negativo cuando no lo hacen.
El PCA intenta, en este punto, dibujar una línea recta a través de los datos como una
regresión lineal, donde cada recta es un Componente Principal, una relación entre un valor
dependiente y un valor independiente que maximiza la varianza. El número de PC
corresponde al número de dimensiones en los datos y la tarea del PCA es priorizarlos.
Para ello, debe encontrar relaciones de varianza entre datos, ya que si dos de ellos varían
juntos es muy probable que uno actúe sobre el otro, permitiendo crear grupos. A través
de la descomposición de la matriz de covarianza en valores (VAP) y vectores propios
(VEP), es posible establecer la relación de variación entre variables de la base de datos.
Una vez obtenidos los VAPs y VEPs, lo que se quiere obtener son los PC, decidiendo
cuáles pueden ser eliminados porque no contienen información relevante, permitiendo
reducir la dimensionalidad original y optimizando los datos. Aquí es donde entran los
VAPs. Ordenándolos de mayor a menor, los valores más altos indican una mayor
información sobre la distribución de los datos mientras que los más bajos no aportan
prácticamente información. A partir de este punto, se obtienen los correspondientes VEPs
y se conforma una matriz denominada la matriz VEPs, una matriz de proyección que
permite transformar los descriptores de entrada a esta nueva dimensión representada por
componentes principales. Finalmente, mediante un simple producto de matrices punto a
punto, es posible aplicar el método de PCA a los datos originales, de la forma:
𝐷𝑎𝑡𝑎′ = 𝑉𝐸𝑃𝑠 ∗ 𝐷𝑎𝑡𝑎
𝐷𝑎𝑡𝑎′ corresponde a la nueva matriz de componentes principales.
El modelo resultante puede describir, por tanto, una línea (1 PC), un plano (2 PC) o un
hiper-plano (para más de 3 PC).
dónde,
dónde,
30
3.1.2. Estructura del modelo SIMCA
Basándose en la nomenclatura utilizada por [Vanden & Hubert 2005], si se representa 𝑋𝑗
como un conjunto de 𝑚 grupos dónde 𝑗 representa la clase a la que pertenece, tal que 𝑗 = 1. . . 𝑚:
𝑋𝐵𝑙𝑢𝑒𝑠, 𝑋𝐶𝑙𝑎𝑠𝑠𝑖𝑐𝑎𝑙 , 𝑋𝐶𝑜𝑢𝑛𝑡𝑟𝑦 … 𝑋𝑚
entonces, los elementos pertenecientes a 𝑋𝑗 se pueden representar como 𝑥𝑗𝑖, donde 𝑖 =
1, . . 𝑛 , con 𝑛 referenciando al número de elemenos en la clase 𝑋𝑗. Si denominamos 𝑝
como el conjunto de variables de cada elemento de modo que cada uno esté compuesto
por 𝑥𝑗𝑖 = ( 𝑥𝑗
𝑖1, 𝑥𝑗𝑖2 ,…, 𝑥𝑗
𝑖𝑝 ). Este número de variables 𝑝, puede ser muy alto por cada
elemento, e incluso contener información irrelevante por la tipología de descriptor
calculado. Por tanto, SIMCA empieza por aplicar el PCA a cada clase 𝑋𝑗
individualmente, por sus ventajas vistas en el subapartado anterior, con el objetivo de
conseguir obtener para cada clase una matriz 𝑉𝐸𝑃𝑗:
𝑉𝐸𝑃𝐵𝑙𝑢𝑒𝑠, 𝑉𝐸𝑃𝐶𝑙𝑎𝑠𝑠𝑖𝑐𝑎𝑙 , 𝑉𝐸𝑃𝐶𝑜𝑢𝑛𝑡𝑟𝑦, … , 𝑉𝐸𝑃𝑚
En este punto, con los vectores propios que mejor definen a cada una de las clases, es
posible modelar la arquitectura de clasificadores por descarte, de modo que cada
clasificador será especializado en detectar si pertenece o no a su género:
𝑋𝐵𝑙𝑢𝑒𝑠/𝑁𝑜 𝐵𝑙𝑢𝑒𝑠, 𝑋𝐶𝑙𝑎𝑠𝑠𝑖𝑐𝑎𝑙/𝑁𝑜 𝐶𝑙𝑎𝑠𝑠𝑖𝑐𝑎, 𝑋𝐶𝑜𝑢𝑛𝑡𝑟𝑦/𝑁𝑜 𝐶𝑜𝑢𝑛𝑡𝑟𝑦, … , 𝑋𝑚/𝑁𝑜 𝑚
Para ello, a cada clase representada por los descriptores originales, se les aplica las
matrices de 𝑉𝐸𝑃𝑗 ,transformándolos a un nuevo espacio de componentes principales
donde cada elemento se le asigna la etiqueta de pertenencia o no a la clase según el
clasificador que se esté creando. Una vez construidos todos los modelos, si se define 𝑗
como un nuevo dato que se quiere clasificar, este tiene que ser proyectado a cada uno de
los modelos individuales, de modo que se transforma al espacio de características que
mejor define la clase y se calcula la distancia ortogonal del dato original respecto a esta
nueva proyección:
𝑗 ∗ 𝑉𝐸𝑃𝐵𝑙𝑢𝑒𝑠, 𝑗 ∗ 𝑉𝐸𝑃𝐶𝑙𝑎𝑠𝑠𝑖𝑐𝑎𝑙 , 𝑗 ∗ 𝑉𝐸𝑃𝐶𝑜𝑢𝑛𝑡𝑟𝑦, … , 𝑗 ∗ 𝑉𝐸𝑃𝑚
Finalmente, una vez proyectado el nuevo dato en cada uno de los modelos y calculadas
las distancias ortogonales (DO),
𝐷𝑂 = ‖𝑗 − 𝑗′‖ , dónde 𝑗 es el dato original y 𝑗’ la proyección a la clase.
y la pertenencia a la clase que se le asigna es aquella cuya distancia ortogonal es la menor
de todas las proyecciones.
31
La figura que se muestra a continuación representa el diagrama de bloques del modelo de
clasificación aplicando SIMCA, así como el flujo entre procesos.
Figura 3.2: Representación esquemática de la arquitectura de clasificación de géneros musicales basada en
SIMCA (clasificador por descarte) y flujo de trabajo entre procesos para las fases de entrenamiento, testeo
y clasificación de nuevos datos. Basada en [Guaus 2009].
Blues
Clásico
.
.
.
Rock En
tren
amie
nto
y T
este
o
Blues
Clásico
.
.
.
Rock
Blues
Clásico
.
.
.
Rock
Blues
Clásico
.
.
.
Rock
PCA
Blues
Blues
No Blues
.
.
.
No Blues
Extracción de
Características
PCA
Clásico
Extracción de
Características PCA
Rock
Clásico
No Clásico
.
.
.
No Clásico
Rock
No Rock
.
.
.
No Rock
Clasificación
.
.
.
Extracción de
Características
Nuevas
Canciones
Uso
típ
ico
Evaluación
p(Blues)
p(Clas)
p(Rock)
Clasificación
Evaluación
Clasificación
Evaluación
.
.
.
p(Blues)
p(Rock)
p(Clas)
32
3.2. El Clasificador Convencional frente al Clasificador basado en
SIMCA
En el capítulo 2 se ha podido observar la estructura básica de un sistema de clasificación
automático estándar. La principal diferencia destacable es que el clasificador
convencional trata con todas las categorías a la misma vez, construyendo un único
clasificador global, rápido, pero poco especializado. En cambio, al aplicar la estructura
SIMCA, se crean tantos clasificadores como géneros contenga la base de datos, haciendo
que cada clasificador esté especializado en su propio género. Este método es más lento
computacionalmente hablando, pero a priori, sus resultados tienen que ser mejores por
las características del modelo.
La arquitectura SIMCA se basa en la aplicación del PCA, haciendo que cada modelo esté
definido por los PC que mejor describan a la clase y con la mayor varianza posible, los
cuales pueden ser distintos en cantidad y variedad para cada clase, ya que están ajustados
a cada una de ellas. En el clasificador convencional, no se aplica la selección de atributos,
lo cual produce que para todas las clases se utilicen los mismos descriptores sin conseguir
optimizarlos para cada género.
Aplicar el PCA permite que grandes conjuntos de datos cuya visualización o búsqueda
de patrones es prácticamente imposible, puedan ser comprendidas por los humanos a
través de la reducción de la dimensionalidad. En el clasificador convencional, si los datos
no muestran distintos patrones visualmente, va a ser imposible encontrar agrupaciones
sin aplicar ningún método, repercutiendo en el proceso de clasificación.
Los PC que aparecen al aplicar el PCA, son vectores propios junto a valores propios que
describen la dirección en el espacio de características original con la mayor varianza
posible entre los datos. En el clasificador convencional, los datos se distribuyen según lo
hagan los descriptores individuales que describen a cada uno de los archivos de la base
de datos, sin tener en cuenta la varianza entre las distintas clases que coexisten.
En definitiva, se puede observar que existen claras ventajas en la aplicación de la
arquitectura SIMCA, aunque también pequeñas desventajas, gracias al análisis realizado
de los dos métodos en el capítulo 2 y a lo largo del capítulo 3. Llegados a este punto, es
necesario corroborar lo expuesto hasta el momento implementando y testeando la
arquitectura propuesta frente a la convencional.
33
Capítulo 4
4. IMPLEMENTACIÓN: ENTORNO
DE DESARROLLO,
CARACTERÍSTICAS Y DISEÑO
En el capítulo anterior se ha detallado la arquitectura propuesta basada en el modelo
SIMCA, así como las partes primordiales que la componen para comprender su
funcionamiento. Además, se han analizado las diferencias entre arquitecturas para
justificar su propuesta.
En este capítulo se presenta, en primer lugar, el entorno de programación y todas las
herramientas de soporte necesarias mediante las cuales se ha desarrollado tanto la nueva
arquitectura propuesta como el modelo convencional, con el objetivo de testear y
comparar todo lo expuesto teóricamente. Seguidamente se muestran las características
concretas de los elementos implicados en la implementación y testeo tanto de la
arquitectura propuesta como la convencional. Además, se define la estructura lógica de
archivos en carpetas y el flujo de trabajo entre procesos, mencionando la función de cada
archivo de programación creado a lo largo de todo el proceso.
4.1. El entorno de programación
Para el desarrollo de ambas arquitecturas, se ha hecho uso de un ordenador portátil con
sistema operativo Windows 10 Professional y desarrollando un conjunto de archivos en
lenguaje de programación Python (versión 2.7.13) integrado con distintos programas,
librerías y plugins, expuestos a continuación.
• Audacity, para la preparación de la base de datos en el formato de compresión
adecuado.
• Sonic Annotator, junto con distintos VAMP Plugins para procesado de audio y
extracción de características.
• Weka Wrapper, la versión para Python del software de minería de datos para la
aplicación de distintas fases del proceso de clasificación.
• Weka GUI, para partes del testeo del clasificador.
Seguidamente, se detalla brevemente cada uno de los programas y plugins mencionados,
así como su uso en este proyecto.
34
• Audacity. Es un editor y grabador de audio digital de código abierto. Fue creado
en [Mazzoni, Dannenberg 2000] en la Universidad de Carnegie Mellon
(Pensilvania). La evolución de este programa ha permitido usarlo como grabador
de audio en vivo, editar en formatos .WAV, .AIFF, .FLAC, .MP2, .MP3, .AU y
otros formatos utilizando librerías externas, mezclar y recortar audio, así como
aplicar numerosos efectos. En el proyecto, se ha utilizado esencialmente para
convertir el formato de la base de datos de .AU a .WAV, con el objetivo de
adecuarla a posteriores procesados.
Figura 4.1: Logotipo de Audacity. Extraída de [Mazzoni, Dannenberg 2000].
• Sonic Annotator. Herramienta diseñada para extracción de características y
anotación de ficheros de audio a través de los VAMP Plugins. Se desarrolló en el
Centro para la Música Digital de la Universidad Queen Mary de Londres por
[Cannam, Levy, Sutton 2009] como parte del proyecto OMRAS2, un proyecto
que pretende integrar sistemas de MIR para crear programas intuitivos y gráficos
para musicólogos, productores, entre otros perfiles no programadores. Permite
cargar audio localmente desde un ordenador o incluso través de una URL de
internet, decidir qué características se requieren extraer y guardarlas en formato
RFD (Resource Description Framework) para web o CSV (Comma Separated
Values) para guardar archivos locales dónde las columnas se separan por comas
y las filas por salto de línea. En este proyecto se ha integrado en su totalidad con
el lenguaje de programación Python con el objetivo de extraer distintas
características de audio.
Figura 4.2: Logotipo de Sonic Annotator. Extraída de [Cannam, Levy, Sutton 2009].
• VAMP. Es un sistema de procesado de audio para plugins que permiten extraer
información inherente en archivos musicales con múltiples interpretaciones y
futuros procesados de audio. Ha sido desarrollado junto a Sonic Annotator por la
Universidad de Queen Mary de Londres, asociado con SIMAC, OMRAS2
EASAIER [Equipo SIMAC, ESASIER, OMRAS2 2009]. Esta herramienta
permite que, desarrolladores e investigadores en el campo del procesado de
señales de audio digitales, puedan aportar nuevos VAMP plugins. Para este
proyecto, se han utilizado VAMP plugins desarrollados por la Universidad de
Queen Mary y por la Universidad Pompeu Fabra.
• Weka (Waikato Environment for Knowledge Analysis). Es un programa de
código abierto de minería de datos y aprendizaje automático desarrollado por el
[Equipo de Machine Learning 1993] de la Universidad de Waikato, Nueva
Zelanda. Permite la lectura de bases de datos con distinta tipología de formato y
contiene herramientas de pre-procesado, clasificación, regresión, agrupación,
reglas de asociación y visualización. Todas estas herramientas se pueden utilizar
a través de una intuitiva interfaz gráfica. En este proyecto se utiliza la interfaz
35
para el testeo de las técnicas de clasificación, así como la visualización de algunos
resultados.
Figura 4.3: Logotipo de Weka. Extraída de [Equipo de Machine Learning 1993].
El formato Attribute Relation File Format (ARFF):
Un archivo ARFF (Attribute-Relation File Format) es un tipo de formato de texto
ASCII que describe un conjunto de instancias que comparten una serie de
atributos. Este formato ha sido desarrollado por el departamento de Machine
Learning de la Universidad de Waikato y es con la tipología que trabaja Weka.
Básicamente, un archivo. ARFF contiene dos partes: Cabecera y Datos.
La cabecera corresponde a la primera línea y contiene la declaración de la relación,
(indicando el nombre del archivo) y los atributos (indicando el nombre y tipo de
dato). Los datos agrupan cada una de las instancias representadas en una sola
línea, definiendo cada atributo separado por comas (formato CSV).
Figura 4.4: Ejemplo de formato ARFF para la base de datos Iris Setosa.
El formato Comma Separated Values (CSV):
Weka también es capaz de leer archivos totalmente en .CSV. Como se puede
observar en la figura 4.5, la primera hilera corresponde a los atributos y las
subsiguientes a los datos.
Figura 4.5: Ejemplo de formato .CSV para la base de datos Iris Setosa.
36
Por su facilidad de escritura frente al formato “.arff ”, los archivos con los que se
trabaja en este proyecto son de extensión “.csv”.
• Weka Wrapper. Consiste en un paquete para Python que permite controlar el
software Weka. En este proyecto se ha utilizado este paquete para la clasificación
y el testeo y por su facilidad de integración junto a Sonic Annotator y los VAMP
Plugins con el objetivo de unificar todo el proceso del clasificador mediante
Python.
4.2. Implementación: Características y herramientas utilizadas
Para la implementación tanto de la Arquitectura SIMCA como la Convencional, se ha
hecho uso de la misma colección de archivos musicales y herramientas, cada una de ellas
adecuada al tipo de clasificador con el objetivo de poder compararlas.
4.2.1. La Colección de Géneros Musicales
El conjunto de datos utilizado es la creado por George Tzanetakis9, compuesto por un
conjunto de 10 géneros musicales con 100 muestras de canciones pertenecientes a su
género, con una duración 30 segundos cada una [Tzanetakis & Cook 2002]. Las piezas
han sido recogidas de una variedad de fuentes que incluyen CDs personales, radio,
grabaciones con micrófono, entre otros para conseguir una variedad de entornos de
grabación. La colección está organizada por carpetas, cada una de ellas conteniendo un
género musical, dónde las canciones están etiquetadas por género, pero no se conocen
datos del artista. Su elección se ha basado en la homogeneidad, robustez, popularidad y
resultados de la colección para clasificación de géneros musicales. La tabla siguiente
muestra un resumen de las características.
Género Número de
Canciones
Duración
/Canción
(s)
Tasa de
muestreo
(Hz)
Resolución
(bits)
Formato de
compresión Etiquetado
Blues 100
30
22050
16 WAV
“genre”000.wav
.
.
.
“genre”999.wav
Clásico 100
Country 100
Disco 100
HipHop 100
Jazz 100
Metal 100
Pop 100
Reggae 100
Rock 100
TOTAL 1000 500
minutos
Tabla 4.1: Descripción detallada de las características de la base de datos GTZAN (George Tzanetakis)
utilizada en este proyecto. Edición propia.
9http://webhome.csc.uvic.ca/~gtzan/output/
37
4.2.2. Extracción de características
Para la extracción de descriptores se ha utilizado un conjunto de VAMP Plugins. En
concreto, 32 descriptores, desarrollados por la Universidad Pompeu Fabra de Barcelona
y la Universidad Queen Marys de Londres. A continuación, se detallan.
• MIR.EDU:
Plugin desarrollado por Justin Salomon durante la realización del curso de Máster
en el Music Technology Group (MTG) de la Universidad Pompeu Fabra de
Barcelona, España. MIR.EDU es un plug-in desarrollado en C++ que implementa
un conjunto de descriptores básicos, de los cuales se han utilizado los siguientes:
- Attack Start End Times.
- Log Attack Time.
- RMS.
- Spectral Centroid.
- Spectral Crest.
- Spectral Flatness.
- Spectral Flux.
- Spectral Kurtosis.
- Spectral Roll Off.
- Spectral Skewness.
- Spectral Spread.
- Temporal Centroid.
- Zero Crossing Rate.
• QM Plugin Set:
Desarrollado en el Centro de Música Digital de la universidad Queen Mary de
Londres. Contiene un total de 13 plugins de los cuales se ha utilizado únicamente
el siguiente:
- Mel Frequency Cepstral Coefficients: utilizando los 20 primeros
coeficientes.
4.2.3. Aplicación estadística
El cálculo de descriptores produce distintas cantidades de valores que dependen de la
tipología de descriptor, haciendo que la base de datos quede desbalanceada. A modo de
ejemplo, se presentan dos tipos distintos de descriptores cuyos cálculos producen
cantidades de datos muy dispares:
• Descriptor Temporal Centroid: Produce un único valor de salida que representa el
centro de masas de la distribución.
• Descritpor Spectral Spread: Produce una gran cantidad de valores producidos por
el valor de y la frecuencia de muestreo. En este caso, debido a una ventana de
salto de 512 muestras y una frecuencia de muestreo de 22050 Hz (véase Anexo B,
figuras B.1 a B.15).
38
512 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠
22050 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠/𝑠𝑒𝑔𝑢𝑛𝑑𝑜= 0.0232 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠
Por tanto, cada 0.023 segundos se calcula un valor de Spectral Spread, resultando
en una pieza de 30 segundos, 1293 valores.
Para solucionar este problema, se recurre a medidas estadísticas que optimizan y definen
a los descriptores en su conjunto. En concreto se ha hecho uso de la Media, obteniendo
de este modo un promedio estándar para los descriptores requeridos y una base de datos
balanceada para continuar en el proceso.
4.2.4. Entrenamiento y Testeo
La fase de entrenamiento y testeo se realiza mediante la técnica K-fold Cross-Validation,
con el objetivo de obtener parte de los datos de entrenamiento y parte de test,
transformada según la arquitectura de clasificador propuesta.
De este modo, en el momento de clasificación del modelo utilizando Weka, los datos de
entrenamiento se añaden como parte del pre-procesado y los datos de test se añaden a
través de la opción Supplied Test Set. Aunque esta última opción está pensada para añadir
una determinada base de datos externa al proceso de entrenamiento del modelo y ver su
comportamiento, en este caso los datos que se van a introducir como parte de test sí que
pertenecen a la base de datos con la que se entrena el modelo. El uso de la opción Supplied
Test Set es debido a que la aplicación del K-fold Cross-Validation se realiza manualmente
por la complejidad que requiere la arquitectura que se propone. Es, por tanto, la forma
mediante la cual es posible aplicar el modelo SIMCA y K-fold Cross-Validation.
Además, este método no es infalible frente a bases de datos externas, lo cual se verá
reflejado en una gran disminución de las instancias correctamente clasificadas en la
presentación de resultados y, gracias a SIMCA, la intuición es que la arquitectura aporte
mayor robustez
4.2.5. Clasificación
Para el proceso de clasificación se ha hecho uso de tres de las técnicas más comúnmente
utilizadas y conocidas, con el objetivo de observar la bondad de la arquitectura de descarte
para distintas tipologías de clasificador.
La primera de ellas es la función Sequential Minimal Optimization (SMO), un algoritmo
de Weka que optimiza Support Vector Machines (SVM). El entrenamiento de estos
vectores consume una gran cantidad de recursos cuanto a programación, por lo que SMO
permite trabajar con grandes bases de datos y minimizar los recursos necesarios. Los
parámetros el clasificador SMO se han establecido por defecto y no se ha inferido en su
modificación ya que va más allá de los objetivos de este proyecto. El segundo método de
clasificación corresponde a un modelo de árbol de decisión. En concreto, J48. El tercero
y último modelo corresponde a IBK, la implementación de K-vecinos más cercanos de
Weka.
39
4.3. La implementación de la arquitectura SIMCA
4.3.1. Diseño y organización
Debido a que el proceso de implementación de este método requiere lidiar con una
cantidad de datos considerable a medida que se avanza en el proceso, es imprescindible
diseñar una estructura de carpetas, subcarpetas y nomenclatura que permita organizar el
contenido que se vaya generando. Básicamente, la estructura del diseño está basada en
tres grandes bloques (cuyo flujo de trabajo se muestra en la figura 4.6):
1. La Colección de Géneros Musicales: contiene todos los archivos en formato “.wav”,
organizados en subcarpetas por género.
2. Código: recoge todos los archivos en formato “.py” necesarios para el proceso.
3. Resultados: organiza en subcarpetas los distintos resultados en formato “.csv”
obtenidos en cada fase del proceso.
Figura 4.6: Esquema organizativo para la implementación del modelo y flujo de trabajo entre carpetas.
Edición propia.
4.3.2. Implementación del clasificador por descarte
El proceso de implementación del Clasificador por Descarte se ha dividido en dos grandes
fases. La primera de ellas corresponde a la extracción de los componentes principales y a
la creación de los modelos de clasificadores especializados por género. La segunda fase,
hace referencia al proceso de entrenamiento y testeo del modelo. A continuación, se
detallan.
Fase 1: Extracción de características y creación de los PCA especializados
Para efectuar esta primera fase han sido necesarios un conjunto de cuatro archivos que,
aplicados en cascada, permiten transformar una colección de archivos musicales
agrupados por género, en una serie de archivos que recogen la mejor información
descriptiva de cada uno y especializados únicamente en su propio género.
1. La Colección de
Géneros Musicales
Género N
género0000.wav
ScriptN.py
2. Código 3. Resultados
Resultado N
resultadoN.csv
40
El siguiente diagrama de bloques recoge de forma esquemática cada uno de los archivos
por orden de aplicación y, seguidamente, se detalla el funcionamiento y utilidad de cada
uno de los ficheros.
Figura 4.7: Diagrama de bloques de archivos para el desarrollo de la primera fase del proceso SIMCA.
Edición propia.
- doDescriptors.py
Mediante la introducción de los 100 archivos “.wav” de cada género musical, realiza el
cálculo de los descriptores para cada pieza. Como resultado, se crea una nueva carpeta
por género, conteniendo cada uno de los descriptores pertenecientes al género.
Figura 4.8: Extracto de contenido de los archivos generados por doDescriptors.py. En 1 se muestra el
fichero de audio original del cual se calculan los descriptores y en 2, se observan los archivos “.csv” creados
de la extracción de características. En 3 se puede observar, a modo de ejemplo, la diferencia entre valores
extraídos según la tipología de descriptor. Edición propia.
doSingleClassifiers.py
doPCA.py
doStatistics.py
doDescriptors.py
FASE 1
1 2 3
41
- doStatistics.py
Selecciona cada uno de los archivos “.csv” creados por doDescriptors.py, realiza los
pertinentes cálculos estadísticos y ordena los descriptores. El resultado final es un archivo
“.csv” donde la primera fila hace referencia a los atributos (descriptores) y la pertenencia
a la clase. El resto de las hileras hacen referencia a cada una de las canciones del género.
En total, se crean 10 archivos (uno por cada género) que contienen el cálculo estadístico
de los descriptores y la pertenencia a la clase.
Figura 4.9: Extracto de contenido de los archivos generados por doStatistics.py. En 1 se observar los 10
archivos generados y en 2 un extracto de los atributos y datos que contienen. Edición propia.
- doPCA.py
Este fichero se encarga de leer cada uno de los archivos estadísticos de cada género y
aplicar el PCA con los valores por defecto, creando un archivo “.csv” por género con toda
la información de salida que provee el método PCA de la herramienta Weka. Una vez
creado, el propio fichero lee todos los datos del PCA y selecciona los Vectores Propios
(VEPs).
El resultado es un fichero “.csv” por cada género que contiene la matriz de cambio, dónde
las filas corresponden a cada descriptor y las columnas corresponden a un Vector Propio.
Estos vectores están ordenados de mayor a menor peso dentro de la representación al
género, (ver Anexo C, figura C.1). En total se crean 10 archivos, uno por género,
conteniendo los Vectores Propios resultantes de aplicar el PCA.
1 2
1 2 3
Figura 4.10: Extracto del contenido generado por el archivo doPCA.py De izquierda a derecha. En 1 se observan
los 10 archivos PCA, en 2 los Vectores Propios y en 3 un extracto de los Vectores Propios del género Blues con el
tipo de formato e información que contienen. Edición propia.
42
- doSingleClassifiers.py
Conforma el último archivo de esta primera fase. Se encarga de crear la estructura Género
/ No Género para cada uno de los géneros musicales de la base de datos. Su función se
basa en la lectura tanto de los archivos estadísticos que contienen los descriptores de cada
género creados por doStatistics.py, como las matrices de Vectores Propios de los mismos,
creadas por doPCA.py. Seguidamente aplica el producto punto a punto entre ellos de tal
forma que se consigue la reducción de la dimensionalidad (ver Anexo F, tabla F.1) y
aplica el etiquetado correspondiente. Todos aquellos archivos que correspondan al género
en cuestión se etiquetaran con la clase “género” y todos aquellos que no lo sean, como
“no género”.
El resultado son 10 archivos, conteniendo en cada uno de ellos toda la base de datos
aplicando la reducción de la dimensionalidad según el género que corresponda. Las 100
primeras hileras corresponden al “género” y las 900 restantes al “no género”.
Figura 4.11: Extracto de contenido de los archivos generados por el archivo doSingleClassifiers.py En 1 se
observan los 10 archivos generados que corresponden al modelo Género / No género. En 2 y 3 se observa
un extracto de la información que contienen y su etiquetado perteneciente al género blues o el no blues
según corresponda. Edición propia.
Fase 2: Entrenamiento y testeo del modelo
Una vez calculados los Vectores Propios que representan a cada uno de los géneros
musicales, el siguiente paso es entrenar y testear el clasificador con esta nueva
arquitectura. Esta segunda fase empieza por la aplicación del método de validación
cruzada. Para ello, es necesario unificar el cálculo de descriptores para todos los géneros
con el objetivo de dividir los datos en entrenamiento y test para cada uno de los géneros
musicales. Posteriormente, se aplican los Vectores Propios (obtenidos en la fase 1) de
cada género a cada uno de los folds, tanto de entrenamiento como de test, transformando
de este modo los datos de entrada a esta nueva arquitectura. En este punto, los datos están
preparados para ser expuestos a entrenamiento y testeo mediante el método de
clasificación pertinente.
Para esta segunda fase se han utilizado cinco archivos aplicados en cascada. El siguiente
diagrama de bloques muestra el orden de aplicación de cada uno de ellos y, seguidamente,
se detalla el funcionamiento y utilidad de cada uno de los ficheros, por orden de
aplicación:
1 2 3
…
43
Figura 4.12: Diagrama de bloques de archivos para el desarrollo de segunda fase de la arquitectura SIMCA.
Edición propia.
- doJoin.py
A través de este fichero, se unifican los descriptores de cada una de las canciones que
pertenecen a los distintos géneros musicales, calculados en la fase 1 por doStatistics.py.
El resultado final es un único fichero que contiene la extracción de características para
cada una de las canciones de forma unificada y ordenada.
- doShuffle.py
Este fichero se encarga de leer y mezclar de forma aleatoria todos los datos obtenidos de
aplicar doJoin.py. El objetivo es desordenar la base de datos de tal modo que en la
posterior división en fase de entrenamiento y de test, estos archivos contengan
información de distintos géneros musicales en cada paso. El resultado es un único fichero
con los mismos datos de entrada mezclados aleatoriamente.
Figura 4.13: Extracto de contenido de los archivos generados por doShuffle.py De izquierda a derecha.
Extracto de los 10 primeros valores de los datos ordenados frente a los 10 primeros valores una vez aplicado
doShuffle.py. Edición propia.
doTrainTestPCA.py
doKfold.py
doShuffle.py
doJoin.py
FASE 2
doClassification.py
44
- doKfold.py
Se encarga de aplicar el método de validación cruzada al archivo creado por el fichero
doShuffle.py. En concreto se utiliza K = 10 de modo que, en diez pasos, el método asegura
que se recorren todos los datos tanto para entrenamiento como para test, utilizando en
cada paso un 90% de la base de datos para entrenamiento y el 10% restante para test.
En definitiva, este fichero construye un archivo de test y uno de entrenamiento
iterativamente para cada paso, resultando en un total de 20 archivos.
Figura 4.14: Ficheros creados por el archivo doKfold.py Edición propia.
- doTrainTestPCA.py
Una vez separados todos los datos en entrenamiento y test para K = 10,
doTrainTestPCA.py se encarga de leer cada uno de ellos y aplicar los vectores de
características resultantes de aplicar el método PCA a cada uno de los géneros en la fase
1. De este modo, se consigue transformar cada uno de los datos de entrenamiento y test a
al nuevo espacio de descriptores definidos por componentes principales, que son
combinación lineal de los descriptores que mejor definen a cada género. Además, se
añade la etiqueta “género” y “no género” según corresponda. En total se crean 200
ficheros, resultantes de aplicar el PCA de cada género a las fases de entrenamiento y test.
Figura 4.15: Extracto de los ficheros creados por doTrainTestPCA.py para fold 0. En la izquierda se
muestran los archivos de test y en la de la derecha los de entrenamiento. Edición propia.
45
- doClassification.py
Llegados a este punto, la arquitectura de clasificador basada en SIMCA está preparada
para ser expuesta a entrenamiento y testeo mediante la aplicación del método de
clasificación que corresponda (SMO, J48 o IBK). Este archivo, se encarga de leer cada
uno de los pares de ficheros de entrenamiento y testeo, para cada uno de los folds, y
guardarlos como datos de entrenamiento y datos de testeo. Seguidamente aplica el modelo
de clasificación requerido, cargando los datos guardados previamente.
Como resultado se obtiene, para cada uno de los folds, información referente al proceso
de clasificación como la tipología de clasificación utilizada, los pesos aplicados a cada
atributo, distintas medidas de evaluación de la bondad de la clasificación, la matriz de
confusión, entre otros valores. En la figura siguiente (4.16) se puede observar, a modo de
ejemplo, la información del resultado obtenido del proceso de clasificación utilizando
SMO.
Figura 4.16: Información del resultado de la aplicación del clasificador SMO para el fold 6 para las clases
clásico y no clásico, utilizando línea de comandos. Edición propia.
46
4.3.3. Implementación del clasificador convencional
Para construir la arquitectura de clasificador convencional es necesario unificar toda la
base de datos en un solo archivo, obtener los descriptores correspondientes y
seguidamente aplicar el método de clasificación que se requiera utilizando como opción
de test, el método K-fold cross validation. Para ello, se han aprovechado algunos de los
archivos utilizados en la arquitectura SIMCA, con pequeñas modificaciones en los
archivos para adaptarse al modelo convencional.
Figura 4.17: Diagrama de bloques para el proceso de clasificación convencional. Edición propia.
Para el proceso de clasificación se ha hecho uso de la interfaz gráfica de Weka, por la
simplicidad de los pasos de la arquitectura y visualización. Las figuras 4.18 y 4.19
expuestas a continuación muestran, a modo de ejemplo, la interfaz gráfica en la parte de
pre-procesado y clasificación que se va a utilizar para evaluar la arquitectura
convencional.
doStatistics.py
doDescriptos.py
doJoin.py
47
Figura 4.18: Interfaz de pre-procesado de Weka GUI. Se muestra la introducción de todos los géneros
unificados en un único archivo como parte de pre-procesado. Extraída de Weka GUI, aplicando el archivo
classifier_allgenres.csv.
48
Figura 4.19: Interfaz de clasificación de Weka GUI. Se muestra la clasificación de todos los géneros
unificados en un único archivo, utilizando Cross-Validation, con K=10 y clasificador SMO con los valores
por defecto. Extraída de Weka GUI, aplicando el archivo classifier_allgenres.csv.
49
Capítulo 5
5. RESULTADOS: PRESENTACIÓN
Y COMPARATIVA
En este capítulo se detallan los resultados obtenidos de la implementación descrita a lo
largo del capítulo anterior. En primer lugar, se muestra el comportamiento de la
clasificación utilizando la arquitectura convencional con tres tipos de clasificadores
distintos. A partir de este resultado, se entra en detalle en aspectos más acotados respecto
a la exactitud del método. Seguidamente, se detallan los mismos puntos para el modelo
de arquitectura SIMCA con la finalidad de comparar su comportamiento. Por último, se
analiza la bondad del clasificador frente a bases de datos externas al proceso de
entrenamiento del modelo.
5.1. Resultados obtenidos para la clasificación utilizando el modelo
convencional mediante 10-fold Cross Validation
En este punto se analizan los resultados para el proceso de clasificación multiclase. Para
poder comparar de forma más precisa los resultados de cada uno de los modelos de
clasificación, se calcula el Base Line mediante ZeroR, para determinar el rendimiento de
referencia base con el cual se van a comparar los modelos propuestos. La siguiente figura
muestra la matriz de confusión obtenida.
Figura 5.1: Matriz de Confusión resultante de aplicar el clasificador ZeroR para obtener el Base Line.
Como se puede observar, todos los elementos de la clase se han clasificado como Blues.
Esto es debido a que partimos de una colección de datos balanceada en la cual no existe
una clase mayoritaria y, por tanto, el modelo selecciona la primera que se presente. A
través de la matriz de confusión se obtiene, por tanto, que el número de instancias
correctamente clasificadas es de un 10%, resultado que tiene que ser superado en la
presentación de resultados para conseguir un proceso de clasificación óptimo.
A continuación, se muestran los resultados obtenidos para el modelo de clasificación
convencional utilizando los métodos de clasificación SMO, IBk y J48 respectivamente.
Mediante un seguido de tablas que resumen el proceso de clasificación, se analizan
50
aspectos relevantes como las instancias correctamente clasificadas, valores estadísticos
del género mejor clasificado (destacado en color verde) y el peor clasificado (destacado
en color rojo) para observar la eficiencia de cada modelo y arquitectura aplicada.
1. Clasificación mediante Maquinas de Vectores de Soporte (SMO)
Tabla 5.1: Resumen del proceso de clasificación para el modelo convencional con SMO. Edición propia.
Para el clasificador SMO se puede observar que la bondad obtenida es de un 66.2 %, un
porcentaje aceptable teniendo en cuenta que no se ha realizado un estudio exhaustivo de
los descriptores utilizados. Además, el género Clásico es el mejor clasificado, obteniendo
altos valores de Precisión, Recall y Medida-F (0.848, 0.890 y 0.868 respectivamente).
Por el contrario, el género Rock es el peor clasificado con tasas de Precisión, Recall y
Medida-F de 0.523, 0.450 y 0.484.
2. Clasificación mediante árbol de decisión (J48)
Tabla 5.2: Resumen del proceso de clasificación para el modelo convencional con J48. Edición propia
Observando los resultados para J48, se puede observar que la tasa de instancias
correctamente clasificadas es del 48.2 %, un 18% menor que utilizando SMO. Analizando
los valores estadísticos detallados se observa que, del mismo modo que aplicando SMO,
el género Clásico es el mejor clasificado con valores de Precisión, Recall y Medida-F de
0.809, 0.72 y 0.762 respectivamente. Además, el género Rock es el peor clasificado con
tasas de Precisión, Recall y Medida-F de 0.30, 0.318 y 0.244, resultados ligeramente
inferiores a SMO.
Resumen del proceso de clasificación
Clasificador: SMO
Clase Promedio
Blues Classical Country Disco HipHop Jazz Metal Pop Reggae Rock
Instancias
correctamente
clasificadas
74 89 56 57 62 63 85 82 49 45 66,2 %
Precisión 0,612 0,848 0,533 0,452 0,721 0,759 0,817 0,774 0,628 0,523 0,66
Recall 0,74 0,89 0,56 0,57 0,62 0,63 0,85 0,82 0,49 0,45 0,662
Medida F 0,67 0,868 0,546 0,504 0,667 0,689 0,833 0,796 0,511 0,484 0,661
Resumen del proceso de clasificación
Clasificador: J48
Clase Promedio
Blues Classical Country Disco HipHop Jazz Metal Pop Reggae Rock
Instancias
correctamente
clasificadas
53 72 47 37 43 48 64 54 33 31 48,2 %
Precisión 0,552 0.809 0,385 0,402 0,422 0,457 0,604 0535 0,259 0,30 0,485
Recall 0,53 0,72 0,47 0,37 0,43 0,48 0,64 0,54 0,33 0,318 0,482
Medida F 0,541 0,762 0,423 0,385 0,426 0,468 0,621 0,537 0,344 0,244 0,483
51
3. Clasificación mediante K-vecinos más cercanos (IBk)
Tabla 5.3: Resumen del proceso de clasificación para el modelo convencional con IBk. Edición propia.
En la tabla 5.3 se muestra el resultado del proceso utilizando el clasificador IBk con el
valor de K por defecto, K=1. Se puede observar que la tasa de instancias correctamente
clasificadas es del 59.7 %, un 6.5% menor que utilizando SMO y un 11.5 % mayor que
J48 y, del mismo modo que ocurre en los anteriores clasificadores, el género Clásico es
el mejor clasificado y, por el contrario, el género Rock es el que comporta mayor
confusión.
A modo de resumen, cabe destacar que los modelos de clasificación han producido unos
resultados significativos respecto al Base Line. Pese a no obtener unos resultados de
acierto excesivamente altos, en los tres casos han superado con creces el 10% de
instancias correctamente clasificadas (aproximadamente un 50%), obteniendo
porcentajes lógicos en cada uno de los modelos de acuerdo con el fundamento teórico de
cada uno de ellos.
Resumen del proceso de clasificación
Clasificador: IBk
Clase Promedio
Blues Classical Country Disco HipHop Jazz Metal Pop Reggae Rock
Instancias
correctamente
clasificadas
76 81 56 42 53 55 75 68 55 36 59,7 %
Precisión 0,752 0,88 0,467 0,412 0,624 0,688 0,798 0,624 0,509 0,33 0,608
Recall 0,76 0,81 0,56 0,42 0,53 0,55 0,75 0,68 0,55 0,36 0,597
Medida F 0,756 0,844 0,509 0,416 0,573 0,611 0,773 0,651 0,529 0,344 0,601
52
5.2. Resultados obtenidos para la clasificación utilizando SIMCA
mediante 10-fold Cross Validation
En este punto se analizan los resultados para la tipología de clasificación uno contra todos
o clasificación binaria de modelos especializados. Para ello, como se ha presentado en la
arquitectura convencional, se resumen los resultados del proceso para los distintos
modelos de clasificación.
1. Clasificación mediante Maquinas de Vectores de Soporte (SMO)
Tabla 5.4: Resumen del proceso de clasificación para cada uno de los modelos binarios utilizando la
arquitectura SIMCA y clasificación SMO. Edición propia.
Con los resultados obtenidos, se observa que las instancias correctamente clasificadas son
iguales o superiores al 90 % en todos los casos, superando en este punto a la arquitectura
convencional. De nuevo, el género Clásico es el mayor beneficiado de la aplicación de
SIMCA, obteniendo un promedio del 97%. A diferencia del modelo convencional, el peor
clasificado es únicamente un 7% menor, ascendiendo a un 90% de acierto, lo cual muestra
una mayor robustez.
Si se analiza la bondad global del clasificador, se obtiene un 91.6%. Pese a obtener un
valor tan alto de acierto, Precisión, Recall y Medida F, se han encontrado algunas
irregularidades al analizar el proceso de forma más detallada, cuyos resultados se
describen en el apartado 5.2.1. Análisis detallado de la precisión, recall y medida F,
subapartado 1.
2. Clasificación mediante árbol de decisión (J48)
Resumen del proceso de clasificación
Clasificador: J48
Modelos Promedio Blues/
No
Blues
Classical/
No
Classical
Country/
No
Country
Disco/
No Disco
HipHop/
No
HipHop
Jazz/
No Jazz
Metal/
No
Metal
Pop/
No
Pop
Reggae/
No
Reggae
Rock/
No
Rock
Instancias
correctamente
clasificadas
88,5 92,7 87,3 88,2 89,5 89 92,2 92,5 88,5 88,3 89,75 %
Precisión 0,671 0,831 0,630 0,682 0,690 0,685 0,813 0,807 0,663 0,562
Recall 0,621 0,816 0,596 0,656 0,670 0,640 0,780 0,744 0,588 0,539
Medida F 0,633 0,816 0,606 0,657 0,676 0,647 0,786 0,764 0,599 0,522
Tabla 5.5: Resumen del proceso de clasificación para cada uno de los modelos binarios utilizando la
arquitectura SIMCA y clasificación J48. Edición propia.
Resumen del proceso de clasificación
Clasificador: SMO
Modelos Promedio Blues/
No Blues
Classical/
No Classical
Country/
No Country
Disco/
No Disco
HipHop/
No HipHop
Jazz/
No Jazz
Metal/
No Metal
Pop/
No Pop
Reggae/
No Reggae
Rock/No
Rock
Instancias
correctamente
clasificadas
90 97 90 90 90 90 93,9 95,1 90 90 91,6 %
Precisión 0,45 0,946 0,45 0,455 0,45 0,45 0,903 0,925 0,450 0,45
Recall 0,5 0,873 0,5 0,5 0,5 0,5 0,735 0,798 0,5 0,5
Medida F 0,473 0,902 0,472 0,473 0,473 0,473 0,787 0,837 0,473 0,473
53
Utilizando el método de clasificación de árbol de decisión J48, se observa que la tasa de
instancias correctamente clasificadas es del 89.75%, ligeramente menor que el resultado
con SMO. El género Clásico es el que mejor funciona y el género Country el que obtiene
el menor porcentaje de instancias correctamente clasificadas, pero con resultados de
Precisión, Recall y Medida F que doblan al peor clasificado en el modelo Convencional
(0.630, 0.596, 0.606 frente a 0.30, 0.318, 0.244).
3. Clasificación mediante K-vecinos más cercanos (IBk)
Resumen del proceso de clasificación
Clasificador: IBk
Modelos Promedio Blues/
No
Blues
Classical/
No
Classical
Country/
No
Country
Disco/
No
Disco
HipHop/
No
HipHop
Jazz/
No
Jazz
Metal/
No
Metal
Pop/
No Pop Reggae/
No
Reggae
Rock/
No
Rock
Instancias
correctamente
clasificadas
93,8 95,5 88,8 89,4 90 90,7 93,4 92,6 88,9 87,4 91.05 %
Precisión 0,855 0,918 0,678 0,699 0,724 0,745 0,813 0,796 0,667 0,654
Recall 0,798 0,824 0,658 0,670 0,703 0,677 0,820 0,802 0,654 0,643
Medida F 0,815 0,855 0,661 0,678 0,695 0,701 0,810 0,786 0,657 0,627
Tabla 5.6: Resumen del proceso de clasificación para cada uno de los modelos binarios utilizando la
arquitectura SIMCA y clasificación IBk (K=1). Edición propia.
Para el clasificador IBk, basado en el modelo K-vecinos más cercanos con K=1, el
resultado promedio de bondad del clasificador es del 91.05%, situándose en el segundo
puesto entre SMO y J48, pero muy cercano a SMO. De nuevo, el modelo Clásico es el
mejor clasificado con un 95,5% y el modelo Rock el peor, con un 87,4%.
Cabe destacar que todos los modelos de clasificación han producido unos resultados muy
significativos respecto al Base Line. Los resultados de acierto para los tres modelos lo
han superado en un 80 %, un 20% más que aplicando la arquitectura convencional, bajo
las mismas condiciones respecto los descriptores de la colección de datos.
5.2.1. Análisis detallado de la precisión, recall y medida F
1. Análisis detallado de la clasificación mediante Máquinas de Vectores de Soporte
(SMO).
En el Anexo D, tablas D.4, D.5 y D.6, se muestran los valores de Precisión, Recall y
Medida F para cada fold, modelo y clase de cada uno de los géneros. Aquí se puede
observar si el clasificador está efectuando su tarea correctamente. Si se analiza la tabla
D.4, se observa que para todos los folds de los modelos Blues, Country, Disco, HipHop,
Jazz, Reggae y Rock, el valor de precisión de la pertenencia al género es 0, indicando que
de todas las instancias que realmente pertenecen al género ninguna se ha clasificado
correctamente. Por lo contrario, se obtienen muy buenos resultados de clasificación a lo
que no pertenece al género, con tasas superiores al 87%, produciendo que la bondad
global sea aproximadamente de un 45% en todos los casos. Pese a estos resultados, si se
analizan los modelos Clásico, Metal y Pop se observa un comportamiento lógico, con
altos porcentajes de precisión y dónde de nuevo, el género Clásico es el mejor clasificado
con un 94% de precisión de valor medio.
54
A través de la tabla D.5, donde se muestra el valor de Recall, se puede observar des de
otro punto de vista el comportamiento anunciado anteriormente. En concreto, para los
modelos binarios de Blues, Country, Disco, HipHop, Jazz, Reggae y Rock, el clasificador
es capaz de clasificar correctamente al 100% todo aquello que no pertenece al género,
indicado con un valor 1 de recall. Por el contrario, falla al 100% en clasificar la
pertenencia al género, lo que indica un valor 0 de recall. En cambio, para los modelos
Clásico, Metal y Pop se puede observar un comportamiento adecuado con muy buenos
resultados, con clasificaciones perfectas de la pertenencia al No Género para los folds 1,
4, 7, 9 y 10 para el caso del modelo Clásico y valores de pertenencia al género superiores
al 60%. Lo mismo ocurre para Metal y Pop en determinados folds cuanto a la pertenencia
al No Género, pero con valores de pertenencia al Género inferiores al modelo Clásico.
En definitiva, pese a obtener un comportamiento inesperado en algunos modelos, se
puede confirmar que el funcionamiento de la arquitectura es correcto, ya que para tres de
ellos se obtienen buenos resultados. Este comportamiento inesperado, puede producirse
por la tipología de descriptores utilizada en la extracción de características u otros
aspectos del proceso, cuyo estudio sobre la afectación a los distintos géneros musicales
es importante, pero fuera del abaste de este proyecto (líneas futuras de desarrollo).
2. Análisis detallado de la clasificación mediante árbol de decisión J48 y IBk.
Analizando el Anexo D, tablas D.7 a D.13, se puede observar que para las tipologías de
clasificador J48 y IBk, todos los resultados muestran un comportamiento lógico. Por
tanto, se reafirma lo mencionado para el clasificador SMO, cuyo comportamiento para
determinados modelos no es causa de la nueva arquitectura propuesta.
5.3. Comportamiento frente a bases de datos externas al proceso de
entrenamiento
5.3.1. La base de datos externa al proceso de entrenamiento
Hasta este punto, se ha analizado la bondad de las dos arquitecturas utilizando la misma
colección de archivos musicales con la cual se han entrenado y testeado los modelos. Uno
de los aspectos más interesantes es el de analizar que ocurre cuando el modelo se enfrenta
a la clasificación de datos que nunca ha visto, es decir, que no se hayan utilizado para
entrenar al modelo. Para poder testear y comparar este comportamiento frente a las dos
arquitecturas, se ha requerido de una nueva base de datos, cuya función será únicamente
participar en la parte de test del modelo. En concreto, se trata de una base de datos
catalogada como Dortmund (provista por Enric Guaus), cuyas características se definen
en la siguiente tabla.
55
Género Número de
Canciones
Duración
/Canción
(segundos)
Tasa de
muestreo
(Hz)
Resolución
(bits)
Formato de
compresión
Etiquetado
Alternativo 145
10
22050
16 MP3
“artista-
canción”.mp3
Blues 120
Electronica 113
FolkCountry 222
Jazz 319
Pop 116
RapHipHop 300
Rock 504
TOTAL 1839 307
minutos
Tabla 5.7: Descripción detallada de las características de la base de datos original Dortmund. Edición
propia.
Como se puede observar, se trata de una base de datos que contiene géneros comunes al
proceso de creación del modelo y otras tipologías que no han aparecido. Además, existe
un claro desbalanceo de la colección, al contrario de la utilizada para el entrenamiento
del modelo. Por este motivo, se ha decido adaptarla (balanceándola y seleccionando los
géneros comunes) para que se adecue a las características de la base de datos utilizada
hasta el momento (GTZAN), cuya función en este apartado es exclusivamente como
entrenamiento del modelo. La siguiente tabla muestra un resumen de las características
de la base de datos modificada con la cual se va a trabajar en la parte de test.
Género Número de
Canciones
Duración
/Canción
(segundos)
Tasa de
muestreo
(Hz)
Resolución
(bits)
Formato de
compresión
Etiquetado
Blues 100
10
22050 16 MP3
“artista-
canción”.mp3
FolkCountry 100
Jazz 100
Pop 100
RapHipHop 100
Rock 100
TOTAL 600 100
minutos
Tabla 5.8: Descripción detallada de las características de la base de datos Dortmund adaptada. Se han
eliminado los géneros no comunes y se ha limitado el número de canciones a 100 por género. Edición
propia.
Una vez adaptada la colección de datos utilizada para testear el modelo, el Base Line con
el que se parte en este caso es de un 16,6 % al tratarse de una colección balanceada y con
seis géneros distintos.
56
5.3.2. Resultados para la arquitectura convencional utilizando una base de datos
externa en el proceso de test
1. Clasificación mediante Maquinas de Vectores de Soporte (SMO)
Tabla 5.9: Resumen del proceso de clasificación para el modelo convencional mediante base de datos
externa de test, utilizando SMO. Edición propia.
2. Clasificación mediante árbol de decisión (J48)
3. Clasificación mediante K-vecinos más cercanos (IBk)
Tabla 5.11: Resumen del proceso de clasificación para el modelo convencional mediante base de datos
externa de test, utilizando IBk. Edición propia.
Resumen del proceso de clasificación
Clasificador: SMO
Modelo Promedio
Blues Country HipHop Jazz Pop Rock
Instancias
correctamente
clasificadas
26 26 57 25 22 20 29,33 %
Precisión 0,222 0,236 0,475 0,333 0,301 0,190 0,293
Recall 0,260 0,260 0,570 0,250 0,220 0,2 0,293
Medida F 0,240 0,248 0,518 0,286 0,254 0,195 0,290
Resumen del proceso de clasificación
Clasificador: IBk
Modelo Promedio
Blues Country HipHop Jazz Pop Rock
Instancias
correctamente
clasificadas
18 33 40 28 14 26 25,6 %
Precisión 0,333 0,236 0,440 0,329 0,182 0,170 0,282
Recall 0,180 0,330 0,4 0,28 0,14 0,26 0,265
Medida F 0,234 0,275 0,419 0,303 0,158 0,206 0,266
Resumen del proceso de clasificación
Clasificador: J48
Modelo Promedio
Blues Country HipHop Jazz Pop Rock
Instancias
correctamente
clasificadas
13 23 47 22 23 28 26 %
Precisión 0,183 0,247 0,402 0,208 0,230 0,248 0,253
Recall 0,130 0,230 0,470 0,220 0,230 0,280 0,260
Medida F 0,152 0,238 0,433 0,214 0,230 0,263 0,255
Tabla 5.10: Resumen del proceso de clasificación para el modelo convencional mediante base de datos
externa de test, utilizando J48. Edición propia.
57
Las tablas 5.9, 5.10 y 5.11 recogen el resultado de proceso de clasificación del modelo
convencional con SMO, J48 y IBk. A simple vista, puede observarse como el porcentaje
de instancias correctamente clasificadas ha descendido drásticamente respecto a la
Arquitectura Convencional, obteniendo una tasa de acierto máxima de 29,3% cuando se
aplica el método de clasificación SMO. Si se analiza en detalle, el número de géneros a
clasificar es de 6, aquellos comunes entre las dos bases de datos y que se han ajustado
previamente, a diferencia de los 10 géneros con los que se ha trabajado hasta este punto.
Debido a esto, ahora para la clasificación mediante SMO, HipHop es el mejor clasificado
con un 0.475 de valor de Precisión pese a ser una tasa baja y Rock, el peor clasificado,
con un valor de Precisión de 0.19.
Analizando el resultado para J48, se obtiene un 26% de bondad de clasificador. De nuevo,
un resultado muy bajo donde el género HipHop vuelve a ser el mejor clasificado y Blues
el peor. Por último, IBk produce una tasa de instancias correctamente clasificadas del
25.6%, ligeramente superior a J48. De nuevo, HipHop es el mejor clasificado con un
valor de Precisión de 0.44, inferior a J48. En cambio, el género peor clasificado
corresponde a Pop.
En general, pese a obtener unos resultados muy bajos pero superiores al base line, son los
esperados. Aplicando la arquitectura de clasificación convencional, se crea un
clasificador que mejor defina a todos los géneros de la base de datos existente. Al tenerlos
unificados y no dar importancia a los géneros por separado, se pueden obtener resultados
aceptables, pero se intuye que cuando el modelo se enfrente a una clasificación con datos
con los que nunca ha tratado, su respuesta no esté a la altura, tal y como han corroborado
con los resultados obtenidos.
5.3.3. Resultados para la arquitectura SIMCA utilizando una base de datos
externa en el proceso de test
1. Clasificación mediante Maquinas de Vectores de Soporte (SMO)
Tabla 5.12: Instancias correctamente clasificadas para cada modelo aplicando la arquitectura SIMCA con
una base de datos externa y método de clasificación SMO. Edición propia.
Resumen del proceso de clasificación
Clasificador: SMO
Modelo Promedio
Blues/No
Blues
Country/No
Country
HipHop/No
HipHop
Jazz/No
Jazz
Pop/No
Pop
Rock/No
Rock
Instancias
correctamente
clasificadas
83,3 83,3 83,3 83,3 83,3 83,3 83,3 %
Precisión 0,694 0,694 0,694 0,694 0,694 0,694
Recall 0,833 0,833 0,833 0,833 0,833 0,833
Medida F 0,758 0,758 0,758 0,758 0,758 0,758
58
2. Clasificación mediante árbol de decisión (J48)
Tabla 5.13: Instancias correctamente clasificadas para cada modelo aplicando la arquitectura SIMCA con
una base de datos externa y método de clasificación J48. Edición propia.
3. Clasificación mediante K-vecinos más cercanos (IBk)
Tabla 5.14: Instancias correctamente clasificadas para cada modelo aplicando la arquitectura SIMCA con
una base de datos externa y método de clasificación IBk. Edición propia.
Analizando las tablas 5.12, 5.13 y 5.14, se observa un gran cambio respecto a la aplicación
de la arquitectura convencional. El porcentaje de instancias clasificadas correctamente ha
ascendido a un máximo de un 83.3% para el método de clasificación SMO, pese a mostrar
el mismo comportamiento que el observado en la arquitectura convencional. Ahora, el
peor de los casos lo produce IBk con un 75.9 % de instancias correctamente clasificadas,
lo cual es muy buen resultado comparado con el Base Line. Además, puede observarse
como el método equilibra la clasificación para todos los modelos, con una desviación de
0, 1.64 y 1.45 para los métodos SMO, J48 y IBk respectivamente.
Si se analiza la clasificación para cada género, cabe destacar que el género Rock para la
clasificación mediante J48, resulta el género con mayor porcentaje de instancias
correctamente clasificadas. Analizando en detalle los resultados de la clasificación para
cada modelo, los cuales se muestran en el Anexo E, figuras E.1 a E.18, cabe destacar que
SIMCA actúa mejor en clasificar todo aquello no perteneciente al propio género, lo cual
muestra valores de precisión siempre superiores a los valores de recall.
Mediante estos resultados se puede observar la robustez de la arquitectura SIMCA frente
a bases de datos externas. Pese a haber disminuido su bondad frente a la clasificación con
la base de datos conocida, SIMCA es claramente un método más robusto que la
Resumen del proceso de clasificación
Clasificador: J48
Modelo Promedio
Blues/No
Blues
Country/No
Country
HipHop/No
HipHop
Jazz/No
Jazz
Pop/No
Pop
Rock/No
Rock
Instancias
correctamente
clasificadas
78 82 82,16 83,3 80 83,3 81,47 %
Precisión 0,722 0,693 0,712 0,694 0,727 0,694
Recall 0,780 0,820 0,822 0,833 0,8 0,833
Medida F 0,747 0,751 0,755 0,758 0,755 0,758
Resumen del proceso de clasificación
Clasificador: IBk
Modelo Promedio
Blues/No
Blues
Country/No
Country
HipHop/No
HipHop
Jazz/No
Jazz
Pop/No
Pop
Rock/No
Rock
Instancias
correctamente
clasificadas
77,6 76,16 78 76,3 72 75,5 75,92 %
Precisión 0,717 0,738 0,740 0,734 0,710 0,735
Recall 0,777 0,762 0,780 0,763 0,725 0,755
Medida F 0,743 0,749 0,757 0,747 0,717 0,744
59
arquitectura convencional, ya que este descenso es mucho menor. Además, cabe destacar
que existe una gran desviación de los resultados de bondad de la arquitectura entre clases
al exponer a la Arquitectura Convencional a datos externos, donde la diferencia de
resultado entre el género mejor clasificado frente a las distintas clases es muy superior
respecto a los resultados obtenidos a través de SIMCA, tal y como se puede observar, a
modo de ejemplo para J48, en la siguiente tabla.
Tabla 5.15: Comparativa de la desviación media entre la arquitectura Convencional y SIMCA para
clasificación mediante J48. Edición propia.
5.4. Comparativa de eficiencia entre arquitecturas
Seguidamente se recogen en distintas tablas datos referentes a la bondad de la
clasificación según arquitectura y tipología de clasificadores, con el objetivo de poder
resumir de forma clara y concisa los resultados mostrados en los apartados anteriores para
cada una de las arquitecturas, poderlas comparar directamente y obtener unos resultados
globales.
Modelo Convencional frente a SIMCA (en porcentaje)
CLASIFICACIÓN
Arquitectura SMO J48 IBK
Convencional 66,2 48,2 59,7
SIMCA 91,6 89,75 91,05 Diferencia entre arquitecturas 25,4 41,55 31,35
Tabla 5.16: Comparativa entre arquitectura Convencional y SIMCA para clasificación mediante SMO, J48
y IBK. Edición propia.
Modelo Convencional frente a SIMCA para base de datos Externa (en porcentaje)
CLASIFICACIÓN
Arquitectura SMO J48 IBK
Convencional 29,33 26 26,5
SIMCA 83,33 81,47 75,9 Diferencia entre arquitecturas 54 55,47 49,4
Tabla 5.17: Comparativa entre arquitectura Convencional y SIMCA frente a Base de Datos Externa al
proceso de entrenamiento para clasificación mediante SMO, J48 y IBK. Edición propia.
Instancias Correctamente Clasificadas
Clasificador: J48 Desviación
Media
Blues Country HipHop Jazz Pop Rock
Arquitectura
Convencional
13 23 47 22 23 28 7,66
Arquitectura
SIMCA
78 82 82,16 83,3 80 83,3 1.63
Diferencia entre arquitecturas 6.03
60
Las tablas 5.15 y 5.16, muestran la comparativa de eficiencia entre las dos arquitecturas
frente a una clasificación de datos conocidos y a una base de datos externa
respectivamente. En los dos casos, SIMCA obtiene porcentajes mayores respecto a la
arquitectura convencional, haciéndose más notable para el clasificador J48 con hasta un
40% de mejora. Cuando se clasifican bases de datos externas, SIMCA es aún más robusto
obteniendo resultados un 50% superiores para todos los casos.
Modelo Convencional frente a Convencional para base de datos externa (en porcentaje)
CLASIFICACIÓN
Arquitectura SMO J48 IBK
Convencional 66,2 48,2 59,7
Convencional para base de datos externa 29,33 26 26,5 Diferencia entre arquitecturas 36,87 22,2 33,1
Tabla 5.18: Comparativa entre arquitectura Convencional y Convencional frente a Base de Datos Externa
al proceso de entrenamiento para clasificación mediante SMO, J48 y IBK. Edición propia.
Modelo SIMCA frente a SIMCA para base de datos externa (en porcentaje)
CLASIFICACIÓN
Arquitectura SMO J48 IBK
SIMCA 91,6 89,75 91,05
SIMCA para base de datos externa 83,33 81,47 75,9
Diferencia entre arquitecturas 8,3 8,28 15,15
Tabla 5.19: Comparativa entre arquitectura SIMCA y SIMCA frente a Base de Datos Externa al proceso
de entrenamiento para clasificación mediante SMO, J48 y IBK. Edición propia.
Por último, las tablas 5.17 y 5.18 muestran la eficiencia propia entre modelos expuestos
a clasificación de la base de datos utilizada para entrenamiento, frente a la clasificación
de una base de datos externa. De nuevo, la arquitectura SIMCA es más robusta, con
valores mínimos de descenso del 8.28% respecto a 22.2% de la arquitectura convencional
y con máximos de descenso un 15.15% respecto a un 36.87, prácticamente el doble.
Como conclusión cabe destacar que, tal y como muestran los resultados obtenidos,
SIMCA ha demostrado ser una arquitectura de clasificación que aporta, no solamente
mejores resultados, sino una mayor robustez y adaptación a datos nunca vistos por el
sistema, lo cual lo hace especialmente interesante. a diferencia de la Arquitectura
Convencional.
61
Capítulo 6
6. CONCLUSIONES Y TRABAJO
FUTURO
El objetivo principal de este proyecto ha sido el de implementar y testear una nueva
arquitectura de clasificación de géneros musicales basada en el modelo SIMCA. De este
modo, ha sido posible demostrar que la generalización de la arquitectura SIMCA produce
resultados superiores al clasificador convencional. Esta nueva arquitectura ha ido ligada
a un cambio de concepto de clasificación por computador tal y como se entiende
habitualmente. Pasamos de un clasificador de géneros musicales un clasificador de
clasificadores, en los cuales cada uno de ellos se especializa en clasificar la pertenencia
al género o no, descartando todos los demás. Para conseguirlo, el estudio y comprensión
del modelo SIMCA ideado por [Wold & Sjostrom 1977] y la buena idea de su estructura
junto a la propuesta conceptual de [Guaus 2009], han sido clave para poder implementar
la arquitectura paso a paso y testear su funcionamiento en el campo de la clasificación de
los géneros musicales.
La evaluación de este proyecto puede considerase muy positiva, debido a que se ha
conseguido implementar una arquitectura con una lógica de estructura aparentemente más
eficiente que la arquitectura convencional, cuyos resultados expuestos lo han
corroborado. En todos los casos comparados, la arquitectura propuesta ha mostrado unos
resultados superiores con gran diferencia, consiguiendo en algunos de los casos hasta un
50% de mejora como se ha podido observar a lo largo del Capítulo 5.
Para poder llegar a este punto, ha sido necesario realizar un estudio sobre el campo que
rodea a la minería de datos, especialmente el relacionado con las MIR y, en concreto, la
clasificación musical. En el Capítulo 1 se introduce la importancia de la minería de datos
y se justifica la necesidad de seguir investigando en este campo, debido a la digitalización
de la información y la forma de consumir música que requieren de métodos inteligentes
que ayudan a plataformas como Spotify o Soundhoud, a revolucionar la forma en que se
escucha música. Estudiar de que se encarga este campo relacionado con la recuperación
de información musical, así como el actual estado del arte en clasificación automática de
géneros, ha sido clave para justificar que la propuesta de este proyecto tiene un sentido y
aplicaciones reales más allá del aspecto académico.
Siguiendo con el desarrollo del proyecto, en el Capítulo 2 se ha detallado cada uno de los
procesos y aspectos teóricos de los que requiere un clasificador de géneros musicales,
partiendo de la base de datos hasta el proceso de evaluación del modelo. Este punto ha
sido imprescindible para detallar la tipología de clasificación supervisada utilizada, así
como la extracción de la esencia del contenido musical y el funcionamiento de tres de las
mejores técnicas de clasificación más comúnmente usadas; SMO, J48 y IBk. Además,
este capítulo ha proporcionado todo el conocimiento base necesario para implementar la
arquitectura propuesta.
62
En el Capítulo 3 se ha presentado la nueva arquitectura de clasificadores individuales
propuesta, estudiando el modelo SIMCA y adaptándolo al objetivo de este proyecto. Para
ello ha sido necesario comprender la técnica de optimización de datos, PCA, para
aplicarla a la base de géneros musicales.
En el Capítulo 4, se ha puesto a prueba todo analizado hasta el momento, consiguiendo
implementar la arquitectura SICMA a través de una serie de archivos (disponibles en
https://github.com/DavidCampayo/automatic-genre-classifier-SIMCA) que han
permitido tener desglosado el método a fin de obtener el control de cada una de las fases
e ir viendo la evolución de los datos.
Finalmente, en el Capítulo 5 se evalúa la eficiencia enfrentando las dos arquitecturas y
exponiéndolas a distintos factores. A través de distintos valores estadísticos obtenidos de
la matriz de confusión, se han podido visualizar la eficiencia de los modelos aplicando
las tres tipologías de clasificación estudiadas. En los resultados obtenidos, se ha
observado un comportamiento inesperado para el clasificador SMO en determinados
géneros, lo cual ha sorprendido por ser considerado uno de los clasificadores más
eficientes. Pese a esto, el clasificador ha resultado 100% preciso en la clasificación de
todo lo no perteneciente a su género por lo que, al tratarse de una arquitectura de
clasificación supervisada, se puede afirmar que los datos restantes pertenecen al género.
Los clasificadores J48 y IBk han mostrado un comportamiento esperado, con resultados
de eficiencia ligeramente inferiores a SMO y, en definitiva, SIMCA ha demostrado ser
una arquitectura que trabaja especialmente bien en condiciones normales y aún mejor
siendo expuesto a datos nunca vistos.
6.1. Trabajo Futuro
Este proyecto ha permitido demostrar que la generalización de la arquitectura SIMCA
aporta mejoras notables al proceso de clasificación frente al clasificador convencional.
Como se ha observado, no se ha entrado en detalle en cómo puede afectar cada punto o
parámetro del proceso a modo de conseguir cada fase optimizada al 100%, más allá de lo
que se ha definido en la arquitectura. Gracias a la implementación desglosada de la
arquitectura, es posible dejar las puertas abiertas a futuras investigaciones como:
• Estudio exhaustivo de la tipología de extracción de características que mejor
define a cada género, para optimizar el modelo en primeras fases. Esto podría ser
la solución al comportamiento inesperado observado al aplicar el método de
clasificación SMO.
• Observar cómo afectan los parámetros propios de cada clasificador que puedan
inferir a la eficiencia de la arquitectura.
• Probar el método para distintas tipologías de clasificadores. En el proyecto, se han
comparado las tres clasificaciones más comunes, SMO, J48 y IBk. Sería
interesante testear otros clasificadores menos comunes y observar si SIMCA sigue
siendo robusto.
• Crear una interfaz intuitiva de prueba de la arquitectura propuesta para agilizar el
proceso. Gracias a Weka GUI, ha sido posible testear de forma rápida en fases
previas la arquitectura de clasificador convencional. Debido a la complejidad de
SIMCA, se han tenido que crear una serie de archivos en lenguaje Python para
poder implementarlo.
63
ANEXOS
Anexo A: Bases de datos de géneros musicales creadas por expertos
Base de
Datos
Números
de Géneros
Géneros Canciones Descripción
RWC (Real
World
Computing,
2004)
6 Musica Popular
Musica
Royalty-Free
Musica Classica
Musica Jazz
Género Musical
Instrumentos
Musicales
100
15
50
50
100
50
Es una base de datos registrada, creada
por Goto en 2003. El Género Musical
contiene 100 canciones organizadas en
33 subgéneros con 3 canciones por
cada uno y una pieza a capella.
Tabla A.1: Descripción detallada de las características de la base de datos RWC. Edición propia,
información extraída de [Guaus 2009].
Base de
Datos
Números
de
Géneros
Géneros Subgéneros Canciones Descripción
Ballroom
Dancers
3 Ballroom
Latin
Swing
Vals
Tango
Vals Vienés
Foxtrot
Quickstep
Cha Cha
Samba
Rumba y
Bolero
Rumba
Americana
Paso Doble
Salsa
Mambo
EC Swing
WC Swing
Lindy
Jive
323
189
137
242
263
215
194
195
8
24
17
8
3
5
8
140
Base de datos libre y
desbalanceada que contiene 30
segundos de cada pieza musical.
Para cada pieza se define el beat
per minute, lo que la hace útil para
la detección de ritmo y
clasificación de música de baile.
Tabla A.2: Descripción detallada de las características de la base de datos Ballroom Dancers. Edición
propia, información extraída de [Guaus 2009].
64
Anexo B: Características estándar del cálculo de descriptores
Figura B.1: Parámetros estándar de cálculo del descriptor Spectral Centroid contenido en el plugin Mir-
Edu. Edición propia.
Figura B.2: Parámetros estándar de cálculo del descriptor Spectral Crest contenido en el plugin Mir-Edu.
Edición propia.
Figura B.3: Parámetros estándar de cálculo del descriptor Spectral Flatness contenido en el plugin Mir-Edu.
Edición propia.
65
Figura B.4: Parámetros estándar de cálculo del descriptor Spectral Flux contenido en el plugin Mir-Edu.
Edición propia.
Figura B.5: Parámetros estándar de cálculo del descriptor Spectral Kurtosis contenido en el plugin Mir-
Edu. Edición propia.
Figura B.6: Parámetros estándar de cálculo del descriptor Spectral Rolloff contenido en el plugin Mir-Edu.
Edición propia.
66
Figura B.7: Parámetros estándar de cálculo del descriptor Spectral Skewness contenido en el plugin Mir-
Edu. Edición propia.
Figura B.8: Parámetros estándar de cálculo del descriptor Spectral Spread contenido en el plugin Mir-Edu.
Edición propia.
Figura B.9: Parámetros estándar de cálculo del descriptor Temporal Centroid contenido en el plugin Mir-
Edu. Edición propia.
Figura B.10: Parámetros estándar de cálculo del descriptor Zero Crossing Rate contenido en el plugin Mir-
Edu. Edición propia.
67
Figura B.11: Parámetros estándar de cálculo del descriptor MFCC contenido en el plugin Queen-Marys.
Edición propia.
Figura B.13: Parámetros estándar de cálculo del descriptor Attack Start End Times contenido en el plugin
Mir-Edu. Edición propia.
Figura B.12: Parámetros estándar de cálculo del descriptor Beats contenido en el plugin Mir-Edu. Edición
propia.
68
Figura B.14: Parámetros estándar de cálculo del descriptor Log Attack Time contenido en el plugin Mir-
Edu. Edición propia.
Figura B.15: Parámetros estándar de cálculo del descriptor RMS contenido en el plugin Mir-Edu. Edición
propia.
69
Anexo C: Resultados completos obtenidos de la aplicación del método
de PCA
Figura C.1: Resultado de la aplicación del método PCA para el género musical Blues. Se puede observar
la matriz de correlación, la combinación lineal de los descriptores originales ponderados por los vectores
propios y ordenados de mayor a menor, la matriz de vectores propios y los nuevos atributos ordenados de
mayor a menor proporción de explicación de los datos (I).
70
Figura C.1: Resultado de la aplicación del método PCA para el género musical Blues. Se puede observar
la matriz de correlación, la combinación lineal de los descriptores originales ponderados por los vectores
propios y ordenados de mayor a menor, la matriz de vectores propios y los nuevos atributos ordenados de
mayor a menor proporción de explicación de los datos (II).
71
Anexo D: Presentación detallada de resultados estadísticos obtenidos de
la aplicación de la arquitectura SIMCA y 10 fold cross validation
Tabla D.1: Análisis detallado de la Precisión para cada fold y género utilizando la arquitectura SIMCA y
clasificación SMO. Edición propia.
Tabla D.2: Análisis detallado de la Precisión para cada fold y género utilizando la arquitectura SIMCA y
clasificación J48. Edición propia.
Resumen del proceso de clasificación
Clasificador: SMO
Modelos Blues/
No
Blues
Classical/
No Classical Country/
No Country Disco/
No
Disco
HipHop/
No
HipHop
Jazz/
No
Jazz
Metal/
No
Metal
Pop/
No
Pop
Reggae/
No
Reggae
Rock/
No
Rock
Folds
1 88 98 84 91 91 93 94 95 91 90
2 91 97 91 90 91 89 92 94 92 96
3 91 98 91 89 96 91 89 98 85 88
4 92 97 87 92 88 91 95 98 91 87
5 93 97 86 87 90 87 94 92 88 97
6 87 94 91 89 90 89 97 96 91 90
7 87 97 92 93 90 89 94 94 90 91
8 91 95 91 91 87 89 92 97 91 85
9 93 99 95 92 87 93 96 95 91 81
10 87 98 92 86 90 89 96 92 90 95
Promedio 90 97 90 90 90 90 93,9 95,1 90 90
Promedio Total 91,6 %
Instancias Clasificadas Correctamente (en porcentaje)
Clasificador: J48 Modelos
Blues/ No
Blues
Classical/ No
Classical
Country/ No
Country
Disco/ No Disco
HipHop/ No
HipHop
Jazz/ No
Jazz
Metal/ No
Metal
Pop/ No
Pop
Reggae/ No
Reggae
Rock/ No
Rock
Folds
1 89 96 83 88 89 91 93 91 89 89
2 88 93 90 89 87 88 92 92 91 92
3 86 97 91 84 98 90 92 95 87 85
4 88 95 82 94 89 88 93 94 91 85
5 93 94 82 84 92 88 94 90 83 95
6 84 89 78 89 87 89 96 94 89 86
7 88 93 92 84 86 88 93 92 90 92
8 88 94 92 90 88 89 90 95 87 86
9 92 93 92 93 88 90 95 90 87 79
10 89 83 91 87 91 89 92 92 91 94
Promedio 88,5 92,7 87,3 88,2 89,5 89 93 92,5 88,5 88,3
Promedio Total 89,75
72
Instancias Clasificadas Correctamente (en porcentaje)
Clasificador: IBk
Modelos Blues/
No Blues
Classical/
No Classical
Country/
No Country
Disco/
No Disco
HipHop/
No HipHop
Jazz/
No Jazz
Metal/
No Metal
Pop/
No Pop
Reggae/
No Reggae
Rock/
No Rock
Folds
1 91 98 81 88 85 94 97 91 91 91
2 94 95 92 90 93 85 85 94 88 95
3 95 98 91 92 95 96 96 93 90 89
4 96 98 87 88 92 93 94 93 89 84
5 95 96 87 91 89 90 91 92 87 85
6 90 92 87 84 88 84 94 93 89 87
7 92 94 90 91 86 91 93 91 89 86
8 95 95 90 93 89 90 94 92 87 88
9 99 93 93 90 91 91 94 95 88 81
10 91 96 90 87 92 93 96 92 91 88
Promedio 93,8 95,5 88,8 89,4 90 90,7 93,4 92,6 88,9 87,4
Promedio Total 91.05
Tabla D.3: Análisis detallado de la Precisión para cada fold y género utilizando la arquitectura SIMCA y
clasificación IBk. Edición propia.
73
P
reci
sió
n
Cla
sifi
cado
r: S
MO
Mod
elo
Blu
es
Clá
sica
C
ount
ry
Dis
co
Hip
Hop
Ja
zz
Met
al
Pop
R
egga
e R
ock
Blu
es
No
Blu
es
Cla
N
o C
la
Cou
nt
No
Cou
nt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o M
et
Pop
N
o
Pop
Reg
N
o R
eg
Roc
k
No
Roc
k
Folds
1 0
0,88
1
0,97
9 0
0,84
0
0,91
0
0,91
0
0,93
0,
667
0,95
7 1
0,94
6 0
0,91
0
0,9
2 0
0,91
0,
917
0,97
0
0,91
0
0,9
0 0,
91
0 0,
89
1 0,
915
0,88
9 0,
945
0 0,
92
0 0,
96
3 0
0,91
0,
85
0,98
9 0
0,91
0
0,89
0
0,96
0
0,91
1
0,88
3 0,
75
1 0
0,85
0
0,88
4 0
0,92
1
0,96
9 0
0,87
0
0,92
0
0,88
0
0,91
1
0,94
7 1
0,97
8 0
0,91
9 0
0,87
5 0
0,93
0,
667
0,98
9 0
0,86
0
0,97
0
0,9
0 0,
87
0,83
3 0,
947
0,85
7 0,
925
0 0,
88
0 0,
97
6 0
0,87
0,
909
0,94
4 0
0,91
0
0,89
0
0,9
0 0,
89
0,75
0,
979
1 0,
959
0 0,
91
0 0,
9
7 0
0,87
1
0,96
6 0
0,92
0
0,93
0
0,9
0 0,
89
1 0,
938
0,66
7 0,
957
0 0,
9 0
0,91
8 0
0,91
0,
857
0,95
7 0
0,91
0
0,91
0
0,87
0
0,89
0,
6 0,
937
1 0,
969
0 0,
91
0 0,
85
9 0
0,93
1
0,98
9 0
0,95
0
0,92
0
0,87
0
0,93
1
0,95
8 0,
778
0,96
7 0
0,91
0
0,81
10
0 0,
87
1 0,
979
0 0,
92
0 0,
86
0 0,
9 0
0,89
0,
8 0,
968
1 0,
914
0 0,
9 0
0,95
Pro
med
io
0 0,
9 0,
92
0,97
31
0 0,
9 0
0,91
0
0,9
0 0,
9 0,
865
0,94
29
0,89
4 0,
956
0 0,
9009
0
0,9
Pro
med
io P
or
Mod
elo
0,45
0,
9465
5 0,
45
0,45
5 0,
45
0,45
0,
9039
5 0,
9250
5 0,
4504
5 0,
45
Tab
la D
.4:
Anál
isis
det
alla
do
de
la P
reci
sió
n p
ara
cad
a fo
ld y
géner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón S
MO
. E
dic
ión p
rop
ia.
74
R
ecal
l
Cla
sifi
cado
r: S
MO
Mod
elo
Blu
es
Cas
sica
l C
ount
ry
Dis
co
Hip
Hop
Ja
zz
Met
al
Pop
R
egga
e R
ock
Blu
es
No
Blu
es
Cla
N
o C
la
Cou
nt
No
Cou
nt
Dis
co
No
Dis
co
Hip
N
o H
ip
Jazz
N
o Ja
zz
Met
N
o
Met
Pop
N
o P
op
Reg
N
o R
eg
Roc
k
No
Roc
k
Folds
1 0
1 0,
75
1 0
1 0
1 0
1 0
1 0,
5 0,
978
0,58
3 1
0 1
0 1
2 0
1 0,
846
0,98
9 0
1 0
1 0
1 0
1 0,
43
1 0,
615
0,98
9 0
1 0
1
3 0
1 0,
875
0,98
9 0
1 0
1 0
1 0
1 0,
35
1 1
0,97
9 0
1 0
1
4 0
1 0,
571
1 0
1 0
1 0
1 0
1 0,
55
1 0,
8 1
0 1
0 1
5 0
1 0,
8 0,
979
0 1
0 1
0 1
0 1
0,5
0,98
9 0,
462
0,98
9 0
1 0
1
6 0
1 0,
667
0,98
8 0
1 0
1 0
1 0
1 0,
6 0,
989
0,42
9 1
0 1
0 1
7 0
1 0,
786
1 0
1 0
1 0
1 0
1 0,
4 1
0,5
0,97
8 0
1 0
1
8 0
1 0,
6 0,
989
0 1
0 1
0 1
0 1
0,33
0,
978
0,5
1 0
1 0
1
9 0
1 0,
923
1 0
1 0
1 0
1 0
1 0,
56
1 0,
7 0,
978
0 1
0 1
10
0 1
0,71
4 1
0 1
0 1
0 1
0 1
0,57
0,
989
0,47
6 1
0 1
0 1
Pro
med
io
0 1
0,75
3 0,
9934
0
1 0
1 0
1 0
1 0,
48
0,99
23
0,60
7 0,
9913
0
1 0
1
Pro
med
io P
or
Mod
elo
0,5
0,87
33
0,5
0,5
0,5
0,5
0,73
55
0,79
89
0,5
0,5
Tab
la D
.5:
Anál
isis
det
alla
do
de
Rec
all
par
a ca
da
fold
y g
én
ero
uti
liza
nd
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón S
MO
. E
dic
ión p
rop
ia.
75
F-M
easu
re
Cla
sifi
cado
r: S
MO
Mod
elo
Blu
es
Cas
sica
l C
ount
ry
Dis
co
Hip
Hop
Ja
zz
Met
al
Pop
R
egga
e R
ock
Blu
es
No
Blu
es
Cla
N
o C
la
Cou
nt
No
Cou
nt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Pop
N
o
Pop
Reg
N
o
Reg
Roc
k
No
Roc
k
Folds
1 0
0,93
6 0,
857
0,98
9 0
0,91
3 0
0,95
3 0
0,95
3 0
0,96
4 0,
571
0,96
8 0,
737
0,97
2 0
0,95
3 0
0,94
7
2 0
0,95
3 0,
88
0,98
3 0
0,95
3 0
0,94
7 0
0,95
3 0
0,94
2 0,
6 0,
956
0,72
7 0,
966
0 0,
958
0 0,
98
3 0
0,95
3 0,
875
0,98
9 0
0,95
3 0
0,94
2 0
0,98
0
0,95
3 0,
522
0,93
8 0,
857
0,98
9 0
0,91
9 0
0,93
6
4 0
0,95
8 0,
727
0,98
4 0
0,93
0
0,95
8 0
0,93
6 0
0,95
3 0,
706
0,97
3 0,
889
0,98
9 0
0,95
3 0
0,93
5 0
0,96
4 0,
727
0,98
4 0
0,92
5 0
0,93
0
0,94
7 0
0,93
0,
625
0,96
7 0,
6 0,
956
0 0,
936
0 0,
985
6 0
0,93
0,
769
0,96
6 0
0,95
3 0
0,94
2 0
0,94
7 0
0,94
2 0,
667
0,98
4 0,
6 0,
979
0 0,
953
0 0,
947
7 0
0,93
0,
88
0,98
3 0
0,95
8 0
0,96
4 0
0,94
7 0
0,94
2 0,
571
0,96
8 0,
571
0,96
8 0
0,94
7 0
0,95
3
8 0
0,95
3 0,
706
0,97
3 0
0,95
3 0
0,95
3 0
0,93
0
0,94
2 0,
429
0,95
7 0,
667
0,98
4 0
0,95
3 0
0,91
9
9 0
0,96
4 0,
96
0,99
4 0
0,94
7 0
0,95
8 0
0,93
0
0,96
4 0,
714
0,97
8 0,
737
0,97
2 0
0,95
3 0
0,89
5
10
0 0,
93
0,83
3 0,
989
0 0,
958
0 0,
925
0 0,
947
0 0,
942
0,66
7 0,
979
0,63
6 0,
955
0 0,
947
0 0,
974
Pro
med
io
0 0,
9471
0,
8214
0,
9834
0
0,94
43
0 0,
9472
0
0,94
7 0
0,94
74
0,60
72
0,96
68
0,70
2 0,
973
0 0,
9472
0
0,94
66
Pro
med
io P
or
Mod
elo
0,47
355
0,90
24
0,47
215
0,47
36
0,47
35
0,47
37
0,78
7 0,
8375
5 0,
4736
0,
4733
Tab
la D
.6:
Anál
isis
det
alla
do
de
la M
edid
a F
par
a ca
da
fold
y g
éner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón S
MO
. E
dic
ión p
rop
ia.
76
P
reci
sión
Cla
sifi
cado
r: J
48
Mod
elo
Blu
es
Cas
sica
l C
ount
ry
Dis
co
Hip
Hop
Ja
zz
Met
al
Pop
R
egga
e R
ock
Blu
es
No
Blu
es
Cla
N
o C
la
Cou
nt
No
Cou
nt
Dis
co
No
Dis
co
Hip
N
o H
ip
Jazz
N
o
Jazz
Met
N
o M
et
Pop
N
o P
op
Reg
N
o
Reg
Roc
k
No
Roc
k
Folds
1 0,
667
0,89
7 0,
75
0,97
8 0,
429
0,86
0,
333
0,93
4 0,
333
0,92
6 0,
333
0,94
7 0,
556
0,96
7 0,
636
0,94
4 0,
375
0,93
5 0,
4 0,
916
2 0,
286
0,92
5 0,
8 0,
944
0,4
0,92
6 0,
455
0,94
4 0,
066
0,78
8 0,
462
0,94
3 0,
8 0,
933
0,85
7 0,
925
0 0,
919
0,25
0,
978
3 0,
273
0,93
3 0,
778
0,98
9 0,
5 0,
946
0,22
2 0,
901
0,75
0,
99
0,42
9 0,
935
0,73
7 0,
963
0,57
1 0,
978
0,6
0,9
0 0,
876
4 0,
3 0,
944
0,66
7 0,
968
0,27
3 0,
888
0,66
7 0,
957
0,57
1 0,
914
0,38
5 0,
954
0,93
6 0,
833
0,7
0,96
7 0,
5 0,
927
0,37
5 0,
891
5 0,
5 0,
957
0,44
4 0,
989
0,35
7 0,
895
0,4
0,91
8 0,
583
0,96
6 0,
667
0,88
7 0,
833
0,94
7 0,
636
0,93
3 0,
222
0,89
0
0,96
9
6 0,
364
0,89
9 0,
7 0,
911
0 0,
897
0,5
0,90
6 0,
385
0,94
3 0,
5 0,
906
0,57
1 0,
989
0,6
0,95
8 0,
333
0,92
6 0,
167
0,90
4
7 0,
571
0,90
3 0,
818
0,94
4 0,
5 0,
938
0,23
5 0,
964
0,16
7 0,
904
0,44
4 0,
923
0,8
0,93
7 0,
5 0,
957
0,5
0,91
7 0
0,90
9
8 0,
2 0,
916
0,83
3 0,
947
0,55
6 0,
956
0,4
0,92
6 0,
571
0,90
3 0,
5 0,
915
0,45
5 0,
955
0,66
7 0,
959
0,3
0,93
3 1
0,85
9
9 0,
4 0,
947
0,73
3 0,
976
0 0,
948
0,57
1 0,
957
0,53
8 0,
931
0,2
0,93
7 0,
7 0,
978
0,5
0,94
4 0,
25
0,92
4 0
0,80
6
10
0,62
5 0,
913
0,5
0,96
7 0,
4 0,
937
0,57
1 0,
892
0,66
7 0,
918
0,5
0,93
3 0,
429
0,95
7 1
0,91
4 1
0,90
9 0
0,94
9
Pro
med
io
0,41
86
0,92
34
0,70
23
0,96
13
0,34
2 0,
9191
0,
435
0,92
99
0,46
3 0,
9183
0,
442
0,92
8 0,
682
0,94
59
0,66
7 0,
9479
0,
408
0,91
8 0,
219
0,90
57
Pro
med
io P
or
Mod
elo
0,67
1 0,
8318
0,
6303
0,
6826
5 0,
6907
0,
685
0,81
38
0,80
73
0,66
3 0,
5624
5
Tab
la D
.7:
Anál
isis
det
alla
do
de
la P
reci
sió
n p
ara
cad
a fo
ld y
géner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón J
48
. E
dic
ión p
rop
ia.
77
Rec
all
Cla
sifi
cad
or:
J48
Mo
del
o
Blu
es
Cas
sica
l C
ou
ntr
y
Dis
co
Hip
Hop
Jazz
M
etal
P
op
Reg
gae
R
ock
Folds
B
lues
N
o
Blu
es
Cla
N
o
Cla
Co
unt
No
Co
unt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Po
p
No
Po
p
Reg
N
o
Reg
Ro
ck
No
Ro
ck
1
0,1
7
0,9
89
0,7
5
0,9
78
0,1
88
0,9
52
0,3
33
0,9
34
0,2
2
0,9
56
0,2
86
0,9
57
0,6
3
0,9
57
0,5
83
0,9
55
0,3
33
0,9
45
0,2
0
,96
7
2
0,2
2
0,9
45
0,6
15
0,9
77
0,2
22
0,9
67
0,5
0
,93
3
0,2
2
0,9
34
0,5
45
0,9
21
0,5
7
0,9
77
0,4
62
0,9
89
0
0,9
89
0,5
0
,93
8
3
0,3
3
0,9
12
0,8
75
0,9
78
0,4
44
0,9
56
0,1
82
0,9
21
0,7
5
0,9
9
0,3
33
0,9
56
0,8
2
0,9
4
0,6
67
0,9
68
0,4
0
,95
3
0
0,9
66
4
0,3
8
0,9
24
0,5
71
0,9
78
0,2
31
0,9
08
0,5
0
,97
8
0,3
3
0,9
66
0,5
56
0,9
12
0,4
6
0,9
89
0,7
0
,96
7
0,2
22
0,9
78
0,2
31
0,9
43
5
0,4
3
0,9
68
0,8
0
,94
7
0,3
75
0,8
95
0,4
62
0,8
97
0,7
0
,94
4
0,1
54
0,9
89
0,5
0
,98
9
0,5
38
0,9
54
0,1
67
0,9
2
0
0,9
79
6
0,3
1
0,9
2
0,4
67
0,9
65
0
0,8
57
0,1
82
0,9
78
0,5
0
,91
1
0,1
82
0,9
78
0,8
0
,96
8
0,4
29
0,9
78
0,2
22
0,9
56
0,1
0
,94
4
7
0,3
1
0,9
66
0,6
43
0,9
77
0,2
5
0,9
78
0,5
71
0,8
6
0,1
0
,94
4
0,3
64
0,9
44
0,4
0
,98
9
0,5
0
,95
7
0,2
0
,97
8
0
0,9
89
8
0,1
1
0,9
56
0,5
0
,98
9
0,5
56
0,9
56
0,2
22
0,9
67
0,3
1
0,9
66
0,2
73
0,9
66
0,5
6
0,9
34
0,3
33
0,9
89
0,3
33
0,9
23
0,0
67
1
9
0,2
9
0,9
68
0,8
46
0,9
54
0
0,9
68
0,5
0
,96
7
0,5
4
0,9
31
0,1
43
0,9
57
0,7
8
0,9
67
0,5
0
,94
4
0,2
22
0,9
34
0
0,9
75
10
0,3
9
0,9
66
0,5
71
0,9
57
0,2
5
0,9
67
0,2
86
0,9
65
0,2
0
,98
9
0,4
55
0,9
44
0,4
3
0,9
57
0,4
67
1
0,1
1
0
0
,98
9
Pro
med
io
0,2
9
0,9
514
0,6
64
0,9
7
0,2
516
0,9
404
0,3
738
0,9
4
0,3
9
0,9
531
0,3
29
0,9
524
0,5
9
0,9
667
0,5
18
0,9
701
0,2
2
0,9
576
0,1
098
0,9
69
Pro
med
io P
or
Mod
elo
0,6
219
0,8
169
0,5
96
0,6
569
0,6
702
0,6
407
5
0,7
802
5
0,7
44
0,5
887
5
0,5
394
Tab
la D
.8:
Anál
isis
det
alla
do
de
Rec
all
par
a ca
da
fold
y g
én
ero
uti
liza
nd
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón J
48
. E
dic
ión p
rop
ia.
78
F
-Mea
sure
Cla
sifi
cad
or:
J4
8
Mod
elo
Blu
es
Cas
sica
l C
ou
ntr
y
Dis
co
Hip
Hop
Jazz
M
etal
P
op
Reg
gae
R
ock
Blu
es
No
Blu
es
Cla
N
o
Cla
Co
unt
No
Co
unt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Po
p
No
Po
p
Reg
N
o
Reg
Ro
ck
No
Ro
ck
Folds
1
0,2
67
0,9
41
0,7
5
0,9
78
0,2
61
0,9
04
0,3
33
0,9
34
0,2
67
0,9
41
0,3
08
0,9
52
0,5
88
0,9
62
0,6
09
0,9
49
0,3
5
0,9
4
0,2
67
0,9
41
2
0,2
5
0,9
35
0,6
96
0,9
6
0,2
86
0,9
46
0,4
76
0,9
39
0,2
35
0,9
29
0,5
0
,93
2
0,6
67
0,9
55
0,6
0
,96
5
0
0,9
53
0,3
33
0,9
57
3
0,3
0
,92
2
0,8
24
0,9
84
0,4
71
0,9
51
0,2
0
,91
1
0,7
5
0,9
9
0,3
75
0,9
46
0,7
78
0,9
51
0,6
15
0,9
73
0,4
8
0,9
26
0
0,9
19
4
0,3
33
0,9
34
0,6
15
0,9
73
0,2
5
0,8
98
0,5
71
0,9
68
0,4
21
0,9
39
0,4
55
0,9
33
0,5
88
0,9
62
0,7
0
,96
7
0,3
1
0,9
52
0,2
86
0,9
16
5
0,4
62
0,9
63
0,5
71
0,9
68
0,3
75
0,8
95
0,4
29
0,9
07
0,6
36
0,9
55
0,2
5
0,9
35
0,6
25
0,9
67
0,5
83
0,9
43
0,1
9
0,9
05
0
0,9
4
6
0,3
33
0,9
09
0,5
6
0,9
37
0
0,8
76
0,2
67
0,9
41
0,4
35
0,9
27
0,2
67
0,9
41
0,6
67
0,9
79
0,5
0
,96
8
0,2
7
0,9
41
0,1
25
0,9
24
7
0,4
0
,93
3
0,7
2
0,9
6
0,3
33
0,9
57
0,3
33
0,9
09
0,1
25
0,9
24
0,4
0
,93
3
0,5
33
0,9
62
0,5
0
,95
7
0,2
9
0,9
46
0
0,9
47
8
0,1
43
0,9
35
0,6
25
0,9
67
0,5
56
0,9
56
0,2
86
0,9
46
0,4
0
,93
3
0,3
53
0,9
4
0,5
0
,94
4
0,4
44
0,9
74
0,3
2
0,9
28
0,1
25
0,9
24
9
0,3
33
0,9
57
0,7
86
0,9
65
0
0,9
58
0,5
33
0,9
62
0,5
38
0,9
31
0,1
67
0,9
47
0,7
37
0,9
72
0,5
0
,94
4
0,2
4
0,9
29
0
0,8
83
10
0,4
76
0,9
39
0,5
33
0,9
62
0,3
08
0,9
52
0,3
81
0,9
27
0,3
08
0,9
52
0,4
76
0,9
39
0,4
29
0,9
57
0,6
36
0,9
55
0,1
8
0,9
52
0
0,9
69
Pro
med
io
0,3
3
0,9
368
0,6
68
0,9
654
0,2
84
0,9
293
0,3
809
0,9
344
0,4
12
0,9
421
0,3
55
0,9
398
0,6
112
0,9
611
0,5
69
0,9
595
0,2
6
0,9
372
0,1
14
0,9
32
Pro
med
io P
or
Mod
elo
0,6
332
5
0,8
167
0,6
066
5
0,6
576
5
0,6
768
0,6
474
5
0,7
861
5
0,7
641
0,5
994
5
0,5
228
Tab
la D
.9:
Anál
isis
det
alla
do
de
la M
edid
a F
par
a ca
da
fold
y g
éner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón J
48
. E
dic
ión p
rop
ia.
79
P
reci
sió
n
Cla
sifi
cad
or:
IB
K (
K-n
eare
st-n
eigh
bo
r)
Mo
del
o
Blu
es
Cas
sica
l C
ou
ntr
y
Dis
co
Hip
Hop
Jazz
M
etal
P
op
Reg
gae
R
ock
Blu
es
No
Blu
es
Cla
N
o
Cla
Co
un
t
No
Co
unt
Dis
c
o
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Po
p
No
Po
p
Reg
N
o
Reg
Ro
ck
No
Ro
ck
Folds
1
0,7
14
0,9
25
0,8
75
0,9
89
0,3
64
0,8
65
0,3
85
0,9
54
0
0,9
04
0,6
67
0,9
48
0,8
57
0,9
78
0,6
36
0,9
44
0,5
0
,95
6
0,5
71
0,9
35
2
0,6
36
0,9
78
0,7
86
0,9
77
0,5
56
0,9
56
0,5
0
,92
6
0,7
5
0,9
38
0,3
0
,91
1
0,4
44
0,8
9
0,8
89
0,9
45
0,1
67
0,9
26
0,4
44
1
3
0,6
67
0,9
89
1
0,9
79
0,5
0
,94
6
0,7
14
0,9
35
0,4
44
1
0,8
57
0,9
68
1
0,9
54
0,4
62
1
0,7
27
0,9
21
0,6
67
0,8
97
4
0,7
5
0,9
78
0,8
57
0,9
89
0,5
0
,88
5
0,3
33
0,9
55
0,8
33
0,9
26
0,6
67
0,9
47
0,7
78
0,9
56
0,6
36
0,9
66
0,3
33
0,9
26
0,3
64
0,8
99
5
0,6
67
0,9
68
0,6
0
,97
9
0,5
56
0,9
1
0,7
0
,93
3
0,4
62
0,9
54
0,7
14
0,9
14
0,5
45
0,9
55
0,8
57
0,9
25
0,4
55
0,9
21
0,0
71
0,9
77
6
0,6
67
0,9
23
1
0,9
14
0,2
5
0,9
24
0,1
43
0,8
92
0,3
75
0,9
24
0,2
22
0,9
01
0,4
29
0,9
78
0,5
0
,95
7
0,4
17
0,9
55
0,3
64
0,9
33
7
0,7
78
0,9
34
0,9
0
,94
4
0,3
75
0,9
46
0,3
33
0,9
47
0,3
0
,92
2
0,6
25
0,9
35
0,6
67
0,9
56
0,4
44
0,9
56
0,4
29
0,9
25
0,2
22
0,9
23
8
0,8
33
0,9
57
0,8
57
0,9
57
0,4
44
0,9
45
0,6
67
0,9
47
0,6
25
0,9
13
0,5
56
0,9
34
0,6
67
0,9
67
0,4
0
,97
8
0,2
5
0,9
24
0,6
36
0,9
1
9
1
0,9
89
0,8
75
0,9
35
0,3
33
0,9
68
0,3
33
0,9
36
0,7
5
0,9
24
0,2
5
0,9
38
0,6
1
0
,69
2
0,9
89
0,2
0
,91
6
0,5
0
,83
7
10
0,8
33
0,9
15
1
0,9
59
0,4
0
,95
6
0,5
38
0,9
2
0,5
83
0,9
66
0,7
0
,95
6
0,6
67
0,9
89
0,8
18
0,9
33
0,5
45
0,9
55
0
0,9
46
Pro
med
io
0,7
54 5
0,9
556
0,8
75
0,9
622
0,4
28
0,9
301
0,4
65
0,9
345
0,5
12
0,9
371
0,5
558
0,9
352
0,6
65
0,9
623
0,6
33
0,9
593
0,4
02
0,9
325
0,3
84
0,9
25 7
Pro
med
io P
or
Mod
elo
0,8
550
5
0,9
186
0,6
789
5
0,6
995
5
0,7
246
5
0,7
455
0,8
138
5
0,7
963
5
0,6
674
0,6
548
Tab
la D
.10
: A
nál
isis
det
alla
do
de
la P
reci
sió
n p
ara
cad
a fo
ld y
géner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón I
Bk.
Ed
ició
n p
rop
ia.
80
R
ecall
Cla
sifi
cad
or:
IB
K (
K-n
eare
st-n
eig
hb
or)
Mod
elo
Blu
es
Cas
sica
l C
ou
ntr
y
Dis
co
Hip
Hop
Jazz
M
etal
P
op
Reg
gae
R
ock
Blu
es
No
Blu
es
Cla
N
o
Cla
Co
unt
No
Co
unt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Po
p
No
Po
p
Reg
N
o
Reg
Ro
ck
No
Ro
ck
Folds
1
0,4
2
0,9
77
0,8
75
0,9
89
0,2
5
0,9
17
0,5
56
0,9
12
0
0,9
34
0,2
86
0,9
89
0,7
5
0,9
89
0,5
83
0,9
55
0,5
56
0,9
45
0,4
0
,96
7
2
0,7
8
0,9
56
0,8
46
0,9
66
0,5
56
0,9
56
0,3
0
,96
7
0,3
3
0,9
89
0,2
73
0,9
21
0,2
9
0,9
42
0,6
15
0,9
89
0,1
25
0,9
46
1
0,9
48
3
0,8
9
0,9
56
0,7
5
1
0,4
44
0,9
56
0,4
55
0,9
78
1
0,9
48
0,6
67
0,9
89
0,7
7
1
1
0,9
26
0,5
33
0,9
65
0,1
67
0,9
89
4
0,7
5
0,9
78
0,8
57
0,9
89
0,1
54
0,9
77
0,5
0
,91
3
0,4
2
0,9
89
0,4
44
0,9
78
0,6
4
0,9
78
0,7
0
,95
6
0,2
22
0,9
56
0,3
08
0,9
2
5
0,5
7
0,9
78
0,6
0
,97
9
0,3
57
0,9
53
0,5
38
0,9
66
0,6
0
,92
2
0,3
85
0,9
77
0,6
0
,94
4
0,4
62
0,9
89
0,4
17
0,9
32
0,3
33
0,8
66
6
0,4
6
0,9
66
0,4
67
1
0,2
22
0,9
34
0,0
91
0,9
33
0,3
0
,94
4
0,1
82
0,9
21
0,6
0
,95
8
0,4
29
0,9
68
0,5
56
0,9
23
0,4
0
,92
2
7
0,5
4
0,9
77
0,6
43
0,9
88
0,3
75
0,9
46
0,2
86
0,9
57
0,3
0
,92
2
0,4
55
0,9
66
0,6
0
,96
7
0,5
0
,94
6
0,3
0
,95
6
0,2
22
0,9
23
8
0,5
6
0,9
89
0,6
0
,98
9
0,4
44
0,9
45
0,4
44
0,9
78
0,3
9
0,9
66
0,4
55
0,9
55
0,6
7
0,9
67
0,6
67
0,9
36
0,2
22
0,9
34
0,4
67
0,9
53
9
0,8
6
1
0,5
38
0,9
89
0,4
0
,95
8
0,2
5
0,9
57
0,5
0
,97
7
0,1
43
0,9
68
1
0,9
34
0,9
0
,95
6
0,1
11
0,9
56
0,2
11
0,9
51
10
0,3
9
0,9
89
0,4
29
1
0,5
0
,93
5
0,5
0
,93
0,7
0
,94
4
0,6
36
0,9
66
0,8
6
0,9
68
0,6
0
,97
6
0,6
0
,94
4
0
0,9
26
Pro
med
io
0,6
2
0,9
766
0,6
61
0,9
889
0,3
702
0,9
477
0,3
92
0,9
491
0,4
5
0,9
535
0,3
93
0,9
63
0,6
8
0,9
647
0,6
46
0,9
597
0,3
64
0,9
457
0,3
50 8
0,9
365
Pro
med
io P
or
Mod
elo
0,7
984
5
0,8
247
0,6
589
5
0,6
705
5
0,7
035
0,6
778
0,8
204
0,8
026
5
0,6
549
5
0,6
436
5
Tab
la D
.11
: A
nál
isis
det
alla
do
del
Rec
all
par
a ca
da
fold
y g
éner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón I
Bk.
Ed
ició
n p
rop
ia.
81
F
-Mea
sure
Cla
sifi
cad
or:
IB
K(K
-nea
rest
-nei
gh
bor)
Mo
del
o
Blu
es
Cas
sica
l C
ou
ntr
y
Dis
co
Hip
Hop
Jazz
M
etal
P
op
Reg
gae
R
ock
Blu
es
No
Blu
es
Cla
N
o
Cla
Co
unt
No
Co
unt
Dis
co
No
Dis
co
Hip
N
o
Hip
Jazz
N
o
Jazz
Met
N
o
Met
Po
p
No
Po
p
Reg
N
o
Reg
Ro
ck
No
Ro
ck
Folds
1
0,5
26
0,9
5
0,8
75
0,9
89
0,2
96
0,8
9
0,4
55
0,9
33
0
0,9
19
0,4
0
,96
8
0,8
0
,98
4
0,6
09
0,9
49
0,5
3
0,9
5
0,4
71
0,9
51
2
0,7
0
,96
7
0,8
15
0,9
71
0,5
56
0,9
56
0,3
75
0,9
46
0,4
62
0,9
63
0,2
86
0,9
16
0,3
48
0,9
15
0,7
27
0,9
66
0,1
4
0,9
35
0,6
15
0,9
73
3
0,7
62
0,9
72
0,8
57
0,9
89
0,4
71
0,9
51
0,5
56
0,9
56
0,6
15
0,9
73
0,7
5
0,9
78
0,8
67
0,9
76
0,6
32
0,9
61
0,6
2
0,9
43
0,2
67
0,9
41
4
0,7
5
0,9
78
0,8
57
0,9
89
0,2
35
0,9
29
0,4
0
,93
3
0,5
56
0,9
56
0,5
33
0,9
62
0,7
0
,96
7
0,6
67
0,9
61
0,2
7
0,9
41
0,3
33
0,9
09
5
0,6
15
0,9
73
0,6
0
,97
9
0,4
35
0,9
27
0,6
09
0,9
49
0,5
22
0,9
38
0,5
0
,94
4
0,5
71
0,9
5
0,6
0
,95
6
0,4
4
0,9
27
0,1
18
0,9
18
6
0,5
45
0,9
44
0,6
36
0,9
55
0,2
35
0,9
29
0,1
11
0,9
12
0,3
33
0,9
34
0,2
0
,91
1
0,5
0
,96
8
0,4
62
0,9
63
0,4
8
0,9
39
0,3
81
0,9
27
7
0,6
36
0,9
55
0,7
5
0,9
66
0,3
75
0,9
46
0,3
08
0,9
52
0,3
0
,92
2
0,5
26
0,9
5
0,6
32
0,9
61
0,4
71
0,9
51
0,3
5
0,9
4
0,2
22
0,9
23
8
0,6
67
0,9
73
0,7
06
0,9
73
0,4
44
0,9
45
0,5
33
0,9
62
0,4
76
0,9
39
0,5
0
,94
4
0,6
67
0,9
67
0,5
0
,95
7
0,2
4
0,9
29
0,5
38
0,9
31
9
0,9
23
0,9
95
0,6
67
0,9
61
0,3
64
0,9
63
0,2
86
0,9
46
0,5
7
0,9
5
0,1
82
0,9
52
0,7
5
0,9
66
0,7
83
0,9
72
0,1
4
0,9
35
0,2
96
0,8
9
10
0,5
26
0,9
5
0,6
0
,97
9
0,4
44
0,9
45
0,5
19
0,9
25
0,6
36
0,9
55
0,6
67
0,9
61
0,7
5
0,9
78
0,6
92
0,9
54
0,5
7
0,9
5
0
0,9
36
Pro
med
io
0,6
65
0,9
657
0,7
363
0,9
751
0,3
86
0,9
381
0,4
152
0,9
414
0,4
47
0,9
449
0,4
54
0,9
486
0,6
585
0,9
632
0,6
14
0,9
59
0,3
8
0,9
389
0,3
24
0,9
299
Pro
med
io P
or
Mod
elo
0,8
153
5
0,8
557
0,6
618
0,6
783
0,6
959
5
0,7
015
0,8
108
5
0,7
866
5
0,6
576
5
0,6
27
T
abla
D.1
2:
Anál
isis
det
alla
do
de
la M
edid
a F
par
a ca
da
fold
y g
éner
o u
tili
zand
o l
a ar
quit
ectu
ra S
IMC
A y
cla
sifi
caci
ón I
Bk.
Ed
ició
n p
rop
ia.
82
Anexo E: Resultados de clasificación para base de datos externa
mediante arquitectura SIMCA para los métodos de clasificación SMO,
J48 y IBk
Figura E.1: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
Figura E.2: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
83
Figura E.3: Resumen del proceso de clasificación para el modelo Blues / No Blues, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
Figura E.4: Resumen del proceso de clasificación para el modelo Country / No Country, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
84
Figura E.5: Resumen del proceso de clasificación para el modelo Country / No Country, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
Figura E.6: Resumen del proceso de clasificación para el modelo Country / No Country, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
85
Figura E.7: Resumen del proceso de clasificación para el modelo HipHop / No HipHop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
Figura E.8: Resumen del proceso de clasificación para el modelo HipHop / No HipHop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
86
Figura E.9: Resumen del proceso de clasificación para el modelo HipHop / No HipHop, arquitectura
SIMCA utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
Figura E.10: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
87
Figura E.11: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
Figura E.12: Resumen del proceso de clasificación para el modelo Jazz / No Jazz, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
88
Figura E.13: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
Figura E.14: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
89
Figura E.15: Resumen del proceso de clasificación para el modelo Pop / No Pop, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
Figura E.16: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación SMO. Extraída de Weka GUI.
90
Figura E.17: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación IBk. Extraída de Weka GUI.
Figura E.18: Resumen del proceso de clasificación para el modelo Rock / No Rock, arquitectura SIMCA
utilizando la base de datos Dortmund para test y clasificación J48. Extraída de Weka GUI.
91
Anexo F: Reducción de la dimensionalidad de los datos mediante la
aplicación del PCA
Género
Blues Classical Country Disco HipHop Jazz Metal Pop Reggae Rock
Número de
descriptores
previos al
PCA
32 32 32 32 32 32 32 32 32 32
Número de
descriptores
posterior al
PCA
17 17 20 20 19 19 19 18 20 19
Tabla F.1: Comparativa de la reducción de la dimensionalidad de los descriptores, antes y después de
aplicar el análisis de componentes principales.
92
Bibliografía
[Ahrendt 2006] Ahrendt, P. (2006) Music Genre Classification Systems: A
Computational Approach. Music Genre Classifications Systems, 5-14.
[Bogdanov, Porter, Herrera & Serra, 2016] Bogdanov, D., Porter, A., Herrera, P., & Serra,
X. (2016) Cross-collection evaluation for music classification tasks.
[Cannam, Levy, Sutton 2009] Cannam, C., Levy, M., Sutton, C. (2009). Sonic Annotator.
https://vamp-plugins.org/sonic-annotator/ Último acceso 25 Julio, 2017.
[Chase 2001] Chase, A. R. (2001). Music discriminations by carp (cyprinus carpio).
Animal Learning & Behavior 29, 336–353.
[Cook 1999] Cook, P.R. (1999). Music, Cognition, and Computerized Sound: An
Introduction to Psychoacoustics. The MIT Press.
[Donkelaar & Kimitaka 2011] Donkelaar, H., Kimitaka, K. (2011). The Auditory System.
[Equipo de Machine Learning 1993] Equipo de Machine Learning (1993). Weka
(Waikato Environment for Knowledge Analysis).
https://www.cs.waikato.ac.nz/ml/weka/index.html Último acceso 7
Agosto, 2017
[Equipo SIMAC, ESASIER, OMRAS2 2009] Equipo SIMAC, ESASIER, OMRAS2
(2009) VAMP Plugins. https://vamp-plugins.org/index.html Último acceso
3 Agosto, 2017
[Guaus 2009] Guaus, E. (2009). Audio content processing for automatic music genre
classification: descriptors, databases, and classifiers.
[Li, Ogihara and Tzanetakis 2011] Li, T., Ogihara, M., and Tzanetakis, G. (2011). Music
Data Mining (7), páginas 33-40
[Mazoni & Dannengberg 2000] Mazoni, D., Dannenberg, R. (2000). Audacity.
https://www.audacityteam.org/ Último acceso 15 de Julio, 2017.
[Oramas, Nieto, Barbieri & Serra, 2017] Oramas, S., Nieto, O., Barbieri, F., & Serra,
X., (2017). Multi-label music genre classification from audio, text and images using
deep features
[Peeters 2004] Peeters, G. (2004). A large set of audio features for sound description
(similarity and classification) in the CUIDADO project.
[Polotti & Davide Rocchesso 2008] Polotti, P., Rocchesso, D. (2008). Sound to Sense,
Sense to Sound: A State of the Art in Sound and Music Computing.
93
[Schedl, Gómez & Urbano 2014] Schedl, M., Gómez, E., and Urbano, J. (2014). Music
Information Retreival: Recent Developments and Applications
[Tan, Steinbach, Kumar] Tan, P.N. Steinnbach, M, and Kumar, V. (2006). Introduction
to Data Mining. Addison-Wesley Companion.
[Tzanetakis & Cook 2002] Tzanetakis, G., Cook, P. (2002). Human perception and
computer extraction of musical beat strength.
[Tzanetakis & Cook 2002] Tzanetakis, G., Cook, P., (2002). Music Genre Classification
of Audio Signals in IEEE Transactions on Audio and Speech Processing 2002.
[Vanden & Hubert 2005] Vanden, K,. Hubert, M., (2005). Robust Classification in High
Dimensions based on the SIMCA method, in Chemometrics and Intelligent Laboratory
Systems.
[White 1976] White, J.D. (1976). The analysis of music. Prentice-Hall Englewood Cliffs
[Wold & Sjostrom 1977] Wold, S., Sjostrom, M. (1977). SIMCA: A method for analyzing
chemical data in terms of similarity and analogy, in Kowalski, B.R., ed., Chemometrics
Theory and Application, American Chemical Society Symposium Series 52, Wash., D.C.,
American Chemical Society, p. 243-282.