identificaciÓn de instrumentos musicales a partir del

30
IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL ALGORITMO MFCC (MEL FREQUENCY CEPSTRAL COEFFICIENT) JUAN SEBASTIÁN MÉNDEZ HERNÁNDEZ Trabajo de grado para optar por el título de profesional en Ingeniería Electrónica Directora: Ing. Johana María Flórez Lozano. Ph.D. Profesora de Catedra Facultad de Ingeniería Asesor: Ing. Gustavo Adolfo Ramírez Espinosa. M.Sc. Pontificia Universidad Javeriana Facultad de Ingeniería Departamento de Ingeniería Electrónica Bogotá D.C. 2020

Upload: others

Post on 24-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

ALGORITMO MFCC

(MEL FREQUENCY CEPSTRAL COEFFICIENT)

JUAN SEBASTIÁN MÉNDEZ HERNÁNDEZ

Trabajo de grado para optar por el título de profesional en Ingeniería Electrónica

Directora:

Ing. Johana María Flórez Lozano. Ph.D.

Profesora de Catedra Facultad de Ingeniería

Asesor:

Ing. Gustavo Adolfo Ramírez Espinosa. M.Sc.

Pontificia Universidad Javeriana

Facultad de Ingeniería

Departamento de Ingeniería Electrónica

Bogotá D.C.

2020

Page 2: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

AGRADECIMIENTOS

Agradezco enormemente a mi directora de trabajo de grado, la ingeniera Johana María Flórez Lozano;

y a mi asesor, el ingeniero Gustavo Adolfo Ramírez Espinosa, por su tiempo, compromiso y paciencia en este proceso. En medio de las circunstancias de contingencia de salud a nivel mundial, se brindaron

los espacios necesarios con el fin de llevar a cabo el presente trabajo de grado, contando con su apoyo

y enseñanzas para poder plasmar aquí mi pasión por la música y la ingeniería.

De igual forma, quiero agradecer al Maestro Guillermo Escobedo Rodríguez y a mis compañeros

instrumentistas, quienes fueron parte en mi formación como músico, en especial a la clarinetista July

Paola Ramos y al trombonista Mateo Ruiz, por enseñarme que una vez la música impacta y hace parte

en la vida, la manera en la que interactuamos con nuestro entorno y con los demás se escucha y se interpreta de maneras inexplicables. Así mismo, afortunadamente conté con su colaboración con algunos

audios para el desarrollo de este estudio.

Finalmente, y no menos importante, agradezco a mi familia y amigos por acompañarme en esta etapa

tan importante, en el que cada reto y cada día en vela, como parte del día a día de un ingeniero, se hacían

más gratificantes y valiosos. Es así como pude desaprender la visión que tiene un ingeniero del mundo

y a partir de mi vocación empezar a transformar realidades locales en mi país.

Page 3: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

1

TABLA DE CONTENIDO

INTROUCCIÓN ...................................................................................................................... 2

MARCO TEÓRICO ................................................................................................................. 3

OBJETIVO DEL PROYECTO .................................................................................................. 7

ANALISIS DE RESULTADOS ............................................................................................... 23

CONCLUSIONES Y RECOMENDACIONES .......................................................................... 25

BIBLIOGRAFÍA ................................................................................................................... 25

ANEXOS .............................................................................................................................. 27

TABLA DE FIGURAS

Figura 1. Árbol de Decisión binario. Fuente: elaboración propia..................................................... 3

Figura 2. Ejemplo modelo K-NN para k=3. Fuente: elaboración propia. .......................................... 4

Figura 3. Ejemplo SVM para dos clases. Fuente: elaboración propia. .............................................. 5

Figura 4. Diagrama de bloques del sistema. Fuente: elaboración propia. .......................................... 8

Figura 5. Extracción de características. Fuente: elaboración propia. ................................................ 9

Figura 6. Segmentación por cuadros. Fuente: elaboración propia. ................................................. 10

Figura 7. Ventana Hamming. Fuente: elaboración propia............................................................. 10

Figura 8. Banco de Filtros Triangulares. Fuente: elaboración propia. ............................................ 11

Figura 9. Vector de Características. Fuente: elaboración propia. ................................................... 11

Figura 10. Exactitud del modelo K-NN variando k entre 1 y 20. Fuente: elaboración propia. ........... 12

Figura 11. Matriz de Confusión. Fuente: elaboración propia. ....................................................... 13

Figura 12. Visualización comunicación en MQTT.fx. Fuente: elaboración propia. .......................... 15

Figura 13. Exactitud para audios con diferentes niveles de ruido. Fuente: elaboración propia. .......... 16

Figura 14. Exactitud para los diferentes kernel de SVM. Fuente: elaboración propia. ...................... 17

Figura 15. Curva ROC Árbol de Decisiones. Fuente: elaboración propia. ...................................... 19

Figura 16. Curva ROC K-NN. Fuente: elaboración propia. .......................................................... 19

Figura 17. Curva ROC SVM. Fuente: elaboración propia. ........................................................... 19

Figura 18. Exactitud en la Clasificación. Fuente: elaboración propia. ............................................ 21

Figura 19. Exactitud de la Validación del Entrenamiento. Fuente: elaboración propia. .................... 23

TABLA DE TABLAS

Tabla 1. Exactitud modelos de clasificación con la herramienta Classification Learner. .................... 11

Tabla 2. Etiquetas. ........................................................................................................................... 12

Tabla 3. Exactitud de cada modelo para los distintos niveles de SNR................................................ 16

Tabla 4. Exactitud con el conjunto de entrenamiento. ....................................................................... 17

Tabla 5. Matriz de Confusión de la validación del entrenamiento del Árbol de decisiones................. 18

Tabla 6. Matriz de Confusión de la validación del entrenamiento K-NN. .......................................... 18

Tabla 7. Matriz de Confusión de la validación del entrenamiento SVM. ........................................... 18

Tabla 8. Precisión de la validación del entrenamiento de cada instrumento. ...................................... 18

Tabla 9. Matriz de Confusión de la evaluación de la clasificación del Árbol de Decisiones. .............. 20

Tabla 10. Matriz de Confusión de la evaluación de la clasificación K-NN. ....................................... 20

Tabla 11. Matriz de Confusión de la evaluación de la clasificación SVM.......................................... 20

Tabla 12. Precisión de la clasificación de cada instrumento. ............................................................. 20

Tabla 13. Recall para cada instrumento. ........................................................................................... 21

Tabla 14. Tiempo de clasificación de un audio. ................................................................................ 22

Tabla 15. Tiempo total que implementa el sistema en identificar y transmitir la información. ........... 22

Page 4: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

2

INTROUCCIÓN

En las agrupaciones musicales sinfónicas, existen ocasiones donde no se consigue un buen balance

auditivo. Esto es generalmente ocasionado por enmascaramientos de unos instrumentos con otros.

Asimismo, a la hora de llevar a cabo un acto musical, no se consideran diferentes factores como el nivel sonoro, que por lo general es un inconveniente a nivel acústico al no contemplar los efectos del escenario

cuando no es un espacio adecuado para tal fin. Esto genera que el público no reciba de manera idónea

lo que los músicos quieren interpretar.

De acuerdo con lo anterior, es importante comprender que los instrumentos cuentan con un timbre y

una proyección sonora diferente, la cual está ligada a la misma naturaleza del instrumento (material,

estructura, forma de ensamble, boquilla). Aun así, surgen preguntas dentro de la investigación de estas temáticas: ¿es posible identificar instrumentos musicales desde las aplicaciones tecnológicas? ¿es

posible reconocer un instrumento musical en contextos polifónicos? ¿qué características auditivas

diferencian un instrumento musical de otro?

Este tipo de cuestionamientos permiten reconocer la importancia de la singularidad de cada instrumento musical y cómo desde su naturaleza misma conforman un conjunto sonoro con otros

instrumentos, brindando texturas y colores al oído humano durante una interpretación o acto musical.

Así como cada voz humana tiene un timbre en específico y puede ser identificable al oído humano cada vez que se percibe, los instrumentos cuentan con características sonoras que los hacen únicos, es

por lo que el presente trabajo de grado evalúa la implementación de un algoritmo que posibilite

reconocer y clasificar un conjunto de instrumentos musicales compuesto por clarinete, flauta traversa,

trombón y timbales sinfónicos en contextos polifónicos.

Para ello se evalúan tres diferentes técnicas de clasificación con el fin de elegir la de mejor

desempeño, para con esta implementar un sistema de clasificación de instrumentos musicales a partir

de las características de los sonidos generados por estos, extrayendo sus coeficientes MFCC (Mel Frequency Cepstral Coefficient por sus siglas en inglés). Adicionalmente, se evalúa la pertinencia para

implementar este sistema de clasificación en un sistema embebido de cómputo reducido, proponiendo

el protocolo MQTT para la transmisión del instrumento identificado.

Page 5: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

3

MARCO TEÓRICO

Para el desarrollo del presente trabajo de grado es importante comprender el funcionamiento de los

sistemas de clasificación, los cuales tienen como fin aprender una función que asigna a cada conjunto

de atributos, compuesto por varias características o descriptores, una de las etiquetas de clase predefinida, como lo definen Tan, Steinbach y Kumar (2014) en su libro Introduction to Data Mining.

Con base a lo anterior, se implementan algoritmos de Machine Learning, cuyo objetivo es crear sistemas

que aprendan automáticamente a identificar y clasificar objetos.

Dentro de los modelos de clasificación que se implementan en este estudio, se encuentran los árboles

de decisiones, K-Nearest Neighbors (K-NN) y Support Vector Machine (SVM), ya que cuentan con una

precisión alta en los procesos de clasificación de señales de audio y se han implementado en el estado

del arte como métodos de clasificación de instrumentos.

Un claro ejemplo de lo anterior es el trabajo desarrollado por Liu y Xie (2010), de la Universidad de

Comunicación de China, en el que concluyen que después de evaluar la clasificación de instrumentos

tradicionales chinos versus instrumentos tradicionales occidentales por medio del modelo de SVM y usando las características sonoras con los coeficientes MFCC, se genera mayor precisión que con otras

características, alcanzando una exactitud mayor al 87%, por lo cual dentro de este trabajo se ha optado

por la implementar este modelo.

De igual forma, dentro de las investigaciones realizadas en el análisis y clasificación de instrumentos

musicales, Somerville y Uitdenbogerd (2008) concluyen que, entre cuatro clasificadores incluyendo los

árboles de decisiones, el algoritmo K-NN proporciona los mejores resultados de precisión, con un

promedio del 80% para ocho géneros musicales en grabaciones con múltiples instrumentos.

En este caso, cada modelo se analizará con unas métricas estándar para este tipo de sistemas, con el

fin de evaluar el desempeño y escoger el algoritmo de clasificación que proporcione la mayor exactitud

en la clasificación de instrumentos musicales para ser incluido a futuro en un sistema embebido.

El primer modelo que se evalúa es el árbol de decisiones, expuesto por Quinlan (1986) como una

estructura jerárquica en el que cada ruta que empieza desde el nodo raíz representa una secuencia de

división de datos hasta que alcanza un resultado booleano en el nodo hoja. Un ejemplo visual de lo

anteriormente mencionado, para un árbol de decisión binario, se observa en la Figura 1.

Figura 1. Árbol de Decisión binario. Fuente: elaboración propia.

De acuerdo con lo anterior, cada nodo interno dentro del árbol de decisión representa un atributo que

se selecciona para dividir los datos. En cada etapa de la construcción del árbol, se selecciona el atributo que tiene la máxima potencia de división y se coloca a lo largo de una ruta hasta que cada subconjunto

de datos resultante esté completamente purificado, es decir, todos los datos en el subconjunto conducen

a la misma decisión y se han etiquetado.

Page 6: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

4

Convencionalmente, se usa un árbol de decisión para tomar decisiones booleanas en las que la

potencia de división de un atributo o pureza de los nodos se calcula como su ganancia de información que, a su vez, se calcula como su reducción de entropía. En el caso de buscar decisiones booleanas, la

entropía de un conjunto de datos se calcula como se expresa en la ecuación 1, donde P1 es la porción de

la primera decisión y P2 es la porción de la segunda decisión.

𝐻(𝑛𝑜𝑑𝑜) = −𝑃1 × log2 𝑃1 − 𝑃2 × log2 𝑃2 (1)

Por otro lado, el segundo algoritmo de clasificación que se analiza es K-NN. Herrera, Amatriain, Batlle y Serra (2000), en su investigación Towards instrument segmentation for music content

description: a critical review of instrument classification techniques, exponen que el K-NN es uno de los

algoritmos más populares para la clasificación de instrumentos musicales.

Lo anterior se debe a que K-NN es un algoritmo supervisado, es decir, se tiene etiquetado el conjunto

de datos de entrenamiento con la clase esperada. Así mismo, este algoritmo se basa en instancias, lo que

hace referencia a que no requiere de un entrenamiento para aprender un modelo, sino que, por el contrario,

memoriza las instancias de entrenamiento que se usan como base para nuevas predicciones.

De acuerdo con Cover y Hart (1967), quienes plantearon formalmente las propiedades del modelo K-

NN, primero se ubican y se asignan los vectores de características de las muestras del conjunto de

entrenamiento a una clase, y luego, para clasificar una nueva instancia, encuentra un conjunto de k ejemplos de entrenamiento (k-vecinos) más cercanos en el espacio de características, y etiqueta el nuevo

ejemplo a la clase que tiene más elementos en el conjunto. En la Figura 2 se observa un ejemplo para un

sistema de dos clases con dos características.

Figura 2. Ejemplo modelo K-NN para k=3. Fuente: elaboración propia.

Generalmente, para evaluar los k-vecinos se usa una distancia euclidiana, la cual se representa como

una línea recta o la trayectoria más corta entre dos puntos, descrita por la ecuación 2, sin embargo,

también existen otras distancias como la Chebyshev y Manhattan que utilizan otros parámetros para

contemplar los ejemplares del espacio al momento de clasificar un nuevo ejemplar.

𝐷𝐸𝑢𝑐(𝑥𝑖 , 𝑥𝑗) = √∑ (𝑥𝑟𝑖 − 𝑥𝑟𝑗)2𝑝𝑟=1 (2)

El último clasificador estudiado es la Máquina de Soporte Vectorial (Support Vector Machine o SVM

por sus siglas en inglés) que, como exponen Stitson, Weston, Gammerman, Vovk y Vapnik (1996), usa propiedades geométricas para calcular un hiperplano de separación óptimo directamente de los datos de

Page 7: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

5

entrenamiento. Este algoritmo también introduce métodos para tratar casos no linealmente separables,

es decir, donde no se puede encontrar una línea recta y casos en los que hay ruido en los datos de

entrenamiento, como por ejemplo, cuando algunas de las muestras de entrenamiento son incorrectas.

Para encontrar el hiperplano de separación óptimo, se tiene que encontrar el hiperplano que maximice

la distancia mínima entre el hiperplano y cualquier muestra del conjunto de datos de entrenamiento. Para lograr lo anterior, es importante ajustar correctamente el parámetro C, que Cortes y Vapnik (1995),

lo definen como el parámetro que controla el número y severidad de violaciones del margen de

separación que se toleran en el proceso de entrenamiento.

Si C tiende a infinito no se permite ninguna violación del hiperplano y por lo tanto, el resultado es equivalente a un clasificador de margen máximo. Si por el contrario, entre más se acerque C a cero,

menos se penalizan los errores y más observaciones pueden estar en el lado incorrecto del margen o

incluso del hiperplano.

A partir de lo anterior, en el proceso de optimización, sólo las observaciones que se encuentran justo

en el margen o que lo violan influyen sobre el hiperplano. A estas observaciones se les conoce como

vectores de soporte y son las que definen el clasificador obtenido. En la Figura 3 se visualiza un ejemplo

para un sistema lineal de dos clases con dos características.

Figura 3. Ejemplo SVM para dos clases. Fuente: elaboración propia.

Adicionalmente, Stitson, et al. (1996), exponen que el algoritmo de SVM cuenta con diferentes

funciones kernel con el fin de clasificar sistemas que no son separables linealmente o no son

completamente separables, por lo que se proyecta la información a un espacio de características de mayor dimensión. Dentro de las funciones kernel más implementadas se encuentran la lineal, la

polinomial, la función de base radial Gaussiana (RBS) y la sigmoid.

Una vez se tiene claro cómo funcionan los modelos de clasificación elegidos a evaluar en este trabajo, es importante considerar el desarrollo del vector de características a la entrada del sistema. En este caso,

el vector de entrada está compuesto por los valores estadísticos, media, mediana, varianza, covarianza

y desviación estándar de los Coeficientes Cepstrales en la Frecuencia Mel (MFCC, Mel Frequency Cepstral Coefficient por sus siglas en inglés), los cuales son los valores numéricos que representan el

audio de una manera que imita las propiedades fisiológicas del sistema auditivo de los seres humanos.

Los MFCC son características muy populares en el reconocimiento de voz, por lo que hoy en día se

vuelven muy útiles en análisis y reconocimiento de señales musicales, y en los sistemas de clasificación

de géneros musicales, como sustentan Nagawade y Ratnaparkhe (2017).

Así como el anterior proyecto soporta que la extracción de los MFCC es una de las maneras más

eficientes de caracterizar las señales musicales para la identificación de instrumentos musicales, Jeyalakshmi, Murugeshwari y Karthick (2018) concluyen que “el mejor algoritmo hasta el momento es

Page 8: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

6

el MMFC, ya que este da mejores resultados que otros métodos al apreciar un número mayor de

coeficientes” (p. 355).

Para entender más a fondo la extracción de los coeficientes MFCC por favor dirigirse a la sección

Desarrollo, sin embargo, los MFCC se extraen básicamente al separar una señal en pequeños tramos o

cuadros, seguido a esto, se calcula la Transformada de Fourier (FFT) en cada tramo y se extrae el espectro de potencia (P), como se describe en la ecuación 3, donde xi hace referencia a cada cuadro de

la señal y N al número de puntos de la FFT.

𝑃 =|𝐹𝐹𝑇(𝑥𝑖)|

2

𝑁 (3)

Una vez se cuenta con el espectro de potencia se aplica un banco de filtros triangulares

correspondientes a la escala Mel, propuesta por Stevens y Volkmann (1940), la cual se expresa matemáticamente por la ecuación 4, donde f es la frecuencia en Hz. Luego de esto, se extrae el logaritmo

y se aplica la transformada discreta de coseno para así obtener los cepstrum –anagrama de spectrum

(espectro en inglés)– como lo definen Childers, Skinner y Kemerait (1977) en su trabajo investigativo

Signal detection and extraction by cepstrum techniques.

𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑀𝑒𝑙 = 2595 log10(1 +𝑓

700) (4)

Page 9: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

7

OBJETIVO DEL PROYECTO

El objetivo del presente trabajo de grado es construir un sistema IoT (Internet de las Cosas o Internet of

Things, por sus siglas en inglés) para la clasificación de un conjunto de instrumentos musicales, para lo cual se plantea un desarrollo algorítmico que es el descrito en este documento y se plantea como trabajo

futuro el desarrollo hardware en un dispositivo embebido.

De acuerdo con lo anterior, entre los alcances de este trabajo se encuentra la aplicación del algoritmo

desarrollado en el ambiente de programación de Python en la versión 3.7, como se evidencia en el enlace expuesto en el Anexo 1. Asimismo, el algoritmo propuesto es un sistema de clasificación que requiere

como entrada un vector de características de clasificación compuesto por las medidas estadísticas de los

primeros trece coeficientes MFCC, entre éstas la media, la mediana, la varianza, la covarianza y la desviación estándar para cada coeficiente, dando un vector con una longitud de 65 características por

cada audio con duración de 3 segundos.

De la misma manera, se escogió el modelo de SVM lineal como el sistema de clasificación, ya que, a partir del protocolo de pruebas, se evidencia un porcentaje de exactitud aproximado del 97% en la

validación de su entrenamiento y un 68% de exactitud en la clasificación de instrumentos en ambientes

polifónicos.

Finalmente, se evalúa la factibilidad del algoritmo para su implementación en un sistema embebido de cómputo reducido, en el que se propone la transmisión del instrumento reconocido por medio del

protocolo MQTT. Es así como a partir del protocolo de pruebas, el sistema en general implementa un

tiempo doce veces menor a la duración de un audio en informar al usuario cual es el instrumento

identificado, lo que lo hace muy apropiado para sistemas de aplicaciones IoT.

Page 10: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

8

DESARROLLO

El presente trabajo de grado se desarrolla en cuatro momentos, como se describen en la Figura 4. El

primer momento hace referencia a la extracción de las características de los audios, los cuales están en formato de audio wave (.wav), codificados en 16 bits por un canal mono, con una duración de 3

segundos, muestreados a una frecuencia de 44.1 kHz.

El segundo momento es la etapa de entrenamiento, la cual tiene como entrada el 70% de los vectores de características de los audios de entrenamiento y su salida es el modelo de clasificación ya entrenado.

Seguido a esto se encuentra la fase de validación que cuenta como entrada con el 30% restante de los

vectores de características, así como también los modelos entrenados, a su salida se cuentan con las

métricas utilizadas para la comparación de los modelos analizados.

Finalmente, el cuarto momento hace referencia a la clasificación de los audios de instrumentos en

contextos polifónicos, en donde se transmite a la salida la información del instrumento clasificado a un

servidor.

Figura 4. Diagrama de bloques del sistema. Fuente: elaboración propia.

A partir del diagrama de bloques, se plantea que los bloques de la parte inferior, encerrados con el

recuadro rojo, son el sistema embebido, por lo que en la última fase se evalúa el sistema para determinar

el alcance y pertinencia de su aplicación en hardware en un sistema embebido de cómputo reducido.

Cabe resaltar que la entrada del sistema en general son muestras sonoras de cuatro familias de

instrumentos musicales: clarinete, flauta traversa, trombón y timbal. Para el conjunto de entrenamiento

y validación se utilizaron 400 audios, es decir 100 muestras de cada instrumento en un contexto monofónico, compuesto por notas tenidas, intervalos y melodías sencillas. De igual forma, para el

conjunto de evaluación o clasificación se usaron 120 audios, compuestos por 30 audios por cada

instrumento armonizado con otro instrumento, como cuerdas, piano y percusión.

El algoritmo propuesto que se describe en esta sección se puede evidenciar en el archivo digital

adjunto a este documento, en donde se encuentra el código desarrollado en el ambiente de Python, en

su versión 3.7.

Extracción de características:

Para la extracción de los coeficientes MFCC se tuvieron en cuenta los resultados obtenidos por Han,

Chan, Choy y Pun (2006) en su investigación An efficient MFCC extraction method in speech recognition, en el que se propone el proceso de extracción de las características para la identificación de

cada audio, como se observa en la Figura 5.

Page 11: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

9

Figura 5. Extracción de características. Fuente: elaboración propia.

En el caso de los audios de instrumentos sin acompañamiento (conjunto de entrenamiento y

validación), se añade un ruido con distribución uniforme para recrear las frecuencias de instrumentos en

un contexto polifónico, y así obtener una mejor precisión en la clasificación, como se justifica en la

sección Protocolo de Pruebas, en el enunciado Adición de Ruido.

De acuerdo con lo anterior, se establece una Relación Señal a Ruido (SNR, Signal-to-Noise Ratio

por sus siglas en inglés) de -12 dB, por lo que se extrae el valor RMS de la señal y se calcula el valor de

la amplitud que debe tener el ruido, como se ve en la ecuación 5, donde A hace referencia a la amplitud

RMS.

𝑆𝑁𝑅𝑑𝐵 = 10 log10 (𝑃𝑠𝑒ñ𝑎𝑙𝑃𝑟𝑢𝑖𝑑𝑜

) = 20 log10 (𝐴𝑠𝑒ñ𝑎𝑙𝐴𝑟𝑢𝑖𝑑𝑜

)

𝑆𝑁𝑅𝑑𝐵 = 20 log10 (𝐴𝑠𝑒ñ𝑎𝑙𝐴𝑟𝑢𝑖𝑑𝑜

)

𝐴𝑟𝑢𝑖𝑑𝑜 =1

10𝑆𝑁𝑅𝑑𝐵20

𝐴𝑠𝑒ñ𝑎𝑙 (5)

Una vez se conoce el valor de la amplitud de la señal de ruido se genera la función de distribución

uniforme con valores de amplitud aleatorios entre -Aruido y Aruido, con una longitud igual a la duración de

los audios.

Es así como las señales ya están listas para la etapa de preénfasis, en donde la señal de entrada pasa

por un filtro pasa altas 1- az-1, descrito por la ecuación 6, donde 𝑆′𝑛 es la salida, 𝑆𝑛 es la entrada y a es

el factor de preénfasis con un valor de 0.97. Esta etapa permite reducir el rango espectral debido a que

normalmente las altas frecuencias tienen menor magnitud que las frecuencias bajas.

𝑆′𝑛 = 𝑆𝑛 − 𝑎𝑆′𝑛−1 (6)

Después de la etapa de preénfasis se procede a separar la señal en pequeñas secciones llamadas

cuadros o marcos, con duración entre 20ms y 25ms como se establece normalmente en el estado del arte. En este caso, como se observa en la Figura 6, se fija una duración de cuadro de 23ms, lo que genera

una longitud de la ventana igual a 1015 muestras, equivalente a la longitud del cuadro multiplicada por

la frecuencia de muestreo.

Adicionalmente, como sustentan Han et al. (2006), se establece una superposición entre cuadros adyacentes del 50%, es decir, 11.5 ms, para obtener una buena correlación entre los cuadros y no se

pierda información de la señal entre un cuadro y el otro.

Page 12: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

10

Figura 6. Segmentación por cuadros. Fuente: elaboración propia.

Al segmentar la señal en cuadros se producen efectos de alta frecuencia al comienzo y al final de los marcos, debido a que se generan cambios repentinos de la señal a cero o de cero a la señal. Por lo tanto,

se implementa la etapa de ventaneo con el fin de contrarrestar los efectos de borde, que en este caso, se

usa la ventana de Hamming (como se observa en la Figura 7), descrita matemáticamente por la ecuación

7, con N como la longitud de la ventana y n el número de muestra dentro del cuadro, entre 0 y 1015.

𝐻𝑎𝑚(𝑁) = 0.54 − 0.46 cos(2𝜋𝑛

𝑁−1) (7)

Figura 7. Ventana Hamming. Fuente: elaboración propia.

La siguiente etapa es el cálculo de la Transformada de Fourier (FFT) para encontrar el espectro en frecuencia en cada uno de los cuadros. Con el fin de obtener una buena resolución en frecuencia, se

implementa una FFT de N puntos igual a 1024 para evitar truncamientos en el análisis del espectro y

para que el tiempo de cálculo de la FFT sea mucho menor al ser un número de base 2, como justifican

Radhouane, Liu y Modlin (2000) en su estudio sobre reducción de memoria en el cálculo de la FFT.

Una vez se cuenta con el espectro en frecuencia de la señal, se procede a hacer la transformación a

la escala Mel por medio de un banco de filtros triangulares, normalmente de orden 40. Cada filtro

triangular tiene una respuesta de 1 en el centro de la frecuencia y decrece linealmente a 0 hasta que alcanza la frecuencia central del filtro adyacente, como se observa en la Figura 8, y se expresa

matemáticamente en la ecuación 8, donde m es el número del filtro y k es la frecuencia en la escala de

Mel.

𝐵𝑎𝑛𝑐𝑜 𝑑𝑒 𝐹𝑖𝑙𝑡𝑟𝑜𝑠(𝑁) =

{

0 𝑘 < 𝑓(𝑚 − 1)𝑘−𝑓(𝑚−1)

𝑓(𝑚)−𝑓(𝑚−1) 𝑓(𝑚 − 1) ≤ 𝑘 < 𝑓(𝑚)

1 𝑘 = 𝑓(𝑚)𝑓(𝑚+1)−𝑘

𝑓(𝑚+1)−𝑓(𝑚) 𝑓(𝑚) < 𝑘 ≤ 𝑓(𝑚 + 1)

0 𝑘 > 𝑓(𝑚 + 1)

(8)

Page 13: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

11

Figura 8. Banco de Filtros Triangulares. Fuente: elaboración propia.

Los coeficientes obtenidos después del banco de filtros están altamente correlacionados, por lo que se aplica la Transformada Discreta de Coseno (CDT) a cada cepstrum de la frecuencia Mel compactando

su energía y así producir una representación comprimida del banco de filtros.

En esta misma etapa se implementa un filtro sinusoidal en el espectro ceptral para desenfatizar las frecuencias altas producto del preénfasis de la primera etapa. Es así como se obtienen los MFCC, que

para la clasificación se utilizan los primeros 13 que son suficientes para la caracterización de los

instrumentos. Adicionalmente, se reemplaza el primer factor por el logaritmo de la energía del cuadro,

ya que brinda información más representativa.

Finalmente, a la entrada de la última etapa se cuentan con 13 factores por cada cuadro del audio, es

decir, al tener cada audio 260 cuadros, se obtiene una matriz de dimensión 260x13. Por consiguiente, se

realiza el cálculo de cinco medidas estadísticas por cada factor, incluyendo la media, mediana, varianza, covarianza y desviación estándar, lo que genera un vector de 65 características por cada audio, como se

describe en la Figura 9.

Figura 9. Vector de Características. Fuente: elaboración propia.

Entrenamiento y validación:

Como parte del proceso de entrenamiento se implementó la herramienta Classification Learner de

Matlab, en la cual se realizó el entrenamiento de diferentes modelos de clasificación para determinar

cuáles son los algoritmos más idóneos para el sistema de clasificación. Es así como se obtienen los resultados de seis modelos, registrados en la Tabla 1, en donde se evidencia que los modelos con mayor

exactitud en el entrenamiento son el árbol de decisiones, K-NN y SVM lineal, respecto a los demás.

Modelo Exactitud (%)

Árbol de Decisiones 92,8 %

Naive Bayes - Gaussiano 86.3 %

SVM Lineal 97 %

SVM Gaussiano 63.7 %

Discriminante Lineal 91.3 %

KNN 95 %

Tabla 1. Exactitud modelos de clasificación con la herramienta Classification Learner.

Page 14: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

12

Seguido a esto, se realiza el entrenamiento de los tres modelos en el ambiente de Python, como se

evidencia en los archivos del enlace del Anexo 1, con 400 atributos de entrada, de los cuales se establecen aleatoriamente 280 como el conjunto de entrenamiento, equivalente a un 70% y los otros 120

restantes equivalentes al 30% se asignan al conjunto de validación. Para facilitar el proceso de validación

las clases se establen como se indica en la Tabla 2.

Clase Valor

Clarinete (Cl) 0

Flauta (FL) 1

Trombón (Tr) 2

Timbales (Ti) 3

Tabla 2. Etiquetas.

El primer modelo que se entrena es el Árbol de Decisión, considerando el criterio de entropía como función que mide la pureza de la división de los nodos, que a su vez es el inverso de la información de

ganancia, en donde se busca que en los nodos hoja haya una entropía igual a cero, lo que indica que la

etiqueta fue asignada. Al realizar el entrenamiento se genera el árbol expuesto en el Anexo 2.

El segundo modelo es K-NN, en el cual es importante determinar el número de vecinos óptimo a

considerar para clasificar nuevos atributos. De esta forma, se cuenta con la distancia euclidiana como

parámetro de potencia para encontrar los vecinos cercanos, la cual genera mejor precisión al no implementar cómputos innecesarios al buscar la trayectoria más corta entre los dos atributos que se

comparan.

De acuerdo con lo anterior, como se visualiza en la Figura 10, se evalúa la respuesta del modelo

variando el parámetro k de 1 a 20, obteniendo así en la validación del entrenamiento la exactitud más

alta de 76% para k vecinos igual a 2.

Figura 10. Exactitud del modelo K-NN variando k entre 1 y 20. Fuente: elaboración propia.

El último modelo entrenado es SVM, en el que se establece la función de kernel lineal, como se sustenta en la sección Protocolo de Pruebas. De igual manera, se establece el parámetro de regulación C muy

grande, lo que ajusta un menor margen de separación entre las clases y por consiguiente hay menos

vectores de soporte que identifican el modelo entrenado. En este caso, al ser un sistema con más de dos

clases se ajusta el modelo para que en el entrenamiento y clasificación se realice una comparación de

una clase contra todas las demás.

Durante la fase de validación del entrenamiento del sistema y la clasificación de nuevos atributos se

utilizan algunas herramientas para visualizar el desempeño de los algoritmos de clasificación, entre estas, se emplea la matriz de confusión que permite visualizar a que clase fueron asignados los atributos

Page 15: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

13

de entrada del modelo de clasificación, en cada fila se encuentra la predicción para cada clase y en las

columnas la etiqueta real a la que deberían ser asignados.

Usualmente, en las matrices de confusión se contempla una clase positiva, la cual es aquella a la que

debe ser etiquetado el atributo que se está clasificando y una clase negativa correspondiente a las demás

clases. Con base a lo anterior, en la Figura 11 se ilustra un ejemplo de matriz de confusión para dos

clases, en donde la clase 1 se puede representar como la clase positiva.

Etiqueta Real

Eti

quet

a as

ignad

a

Clase 1 Clase 2

Cla

se 1

VP FP

Cla

se 2

FN VN

Figura 11. Matriz de Confusión. Fuente: elaboración propia.

En relación con la Figura 11, la tasa de verdaderos positivos (VP) hace referencia al número de

asignaciones correctas de la clase positiva, la razón de falsos positivos (FP) indica el número de asignaciones incorrectas de la clase positiva, la tasa de falsos negativos (FN) corresponde a las

predicciones incorrectas de la clase negativa y la razón de verdaderos negativos (VN) indica las

predicciones correctas para la clase negativa.

A partir de la matriz de confusión se pueden obtener diferentes métricas que permiten analizar el

desempeño de los modelos entrenados y así seleccionar el sistema de clasificación final, proceso que se

describe en la sección de Protocolo de Pruebas. Dentro de estas métricas se encuentra la exactitud, la cual hace referencia a lo cercano que esta el resultado de un valor medido al valor verdadero. En la

ecuación 9 se encuentra la función de exactitud empleada, donde m representa el número de clases.

𝐸𝑥𝑎𝑐𝑡𝑖𝑡𝑢𝑑 =1

𝑚∑

𝑣𝑝𝑖+𝑣𝑛𝑖

𝑣𝑝𝑖+𝑓𝑝𝑖+𝑓𝑛𝑖+𝑣𝑛𝑖

𝑚𝑖=1 (9)

De igual forma, se usa la métrica de precisión, la cual indica la capacidad del clasificador de no

etiquetar como positivo un atributo que es negativo. Es así, como en la ecuación 10 se expresa

matemáticamente la precisión, donde m es el número de clases.

𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 =∑ 𝑣𝑝𝑖𝑚𝑖=1

∑ (𝑣𝑝𝑖+𝑓𝑝𝑖)𝑚𝑖=1

(10)

Adicionalmente, se considera el recall o recuerdo, métrica que hace referencia a la capacidad del

clasificador de encontrar todas las muestras positivas. En este caso se calcula el recall como se observa

en la ecuación 11, donde m es el número de muestras.

𝑅𝑒𝑐𝑎𝑙𝑙 =∑ 𝑣𝑝𝑖𝑚𝑖=1

∑ (𝑣𝑝𝑖+𝑓𝑛𝑖)𝑚𝑖=1

(11)

Por otro lado, otra herramienta que se implementó es la Curva Característica del Receptor ROC

(Receiver Operating Characteristic por sus siglas en inglés), la cual es una representación gráfica para

Page 16: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

14

evaluar la calidad de salida del clasificador. De acuerdo con lo anterior, se tiene en cuenta la razón de

los verdaderos positivos frente a la razón de falsos positivos.

Usualmente, la gráfica ROC se emplea en los sistemas de clasificación binarios, por lo que para ser

empleada en modelos de clasificación de múltiples clases se recurre a ajustar los modelos para hacer

una clasificación de una clase contra todas las demás y así encontrar un punto por curva para cada clase,

de la cual, al calcular el área bajo la curva, se estima la precisión de la clase.

Seguido a esto, se hace un macro promedio para calcular la precisión del modelo entrenado, para

esto, se grafica la curva del sistema en general a partir de cada punto perteneciente a la curva de cada

clase y finalmente, se calcula el área bajo la curva. En otras palabras, se suman las precisiones de todas las clases y se promedia por el número de clases, como se describe en la ecuación 12, donde m es el

número de clases y Pr es la precisión de cada clase.

𝑀𝑎𝑐𝑟𝑜 𝑃𝑟𝑜𝑚𝑒𝑑𝑖𝑜 =∑ 𝑃𝑟𝑖𝑚𝑖=1

𝑚 (12)

Clasificación y Transmisión:

En un principio para esta etapa, se procede a evaluar los modelos previamente entrenados, con el fin de

escoger el algoritmo definitivo para el sistema de clasificación. De acuerdo con lo anterior, se tiene como entrada los tres modelos previamente entrenados y los vectores de características de los audios

correspondientes al conjunto de clasificación, el cual está conformado por 30 audios de cada instrumento

musical en contextos polifónicos, para un total de 120 audios.

El anterior proceso se describe con más detalle en la sección de Protocolo de Pruebas, sin embargo, se obtiene como resultado que el modelo con mayor exactitud tanto en la validación del entrenamiento

como en la evaluación de la clasificación es el SVM lineal, con 97% y 68% respectivamente.

Una vez se determina el sistema de clasificación, se procede a realizar la transmisión del instrumento identificado, por lo que se propone el protocolo de comunicación MQTT (Message Queuing Telemetry

Transport por sus siglas en inglés) para informar al usuario cual es el instrumento identificado. Se decide

implementar MQTT ya que Krishna, Ravi, Sailendra y Kumar (2017) concluyen en su investigación, Implementation of MQTT Protocol on Low Resourced Embedded Network que el protocolo MQTT tiene

rápida respuesta, buen rendimiento, buena seguridad, bajo consumo y menor ancho de banda.

Este protocolo se basa en la arquitectura publicación-suscripción usualmente para aplicaciones IoT

(Internet of Things, por sus siglas en inglés). En este caso, se publica el nombre del instrumento identificado utilizando el bróker “test.mosquitto.org” en el puerto 1883, con el tema o tópico

MFCC/clasificación. Cabe resaltar que para observar la información que se publica, el usuario debe

estar inscrito al tema. En ese caso, se valida que la comunicación se realiza de manera correcta por medio del software MQTT.fx, como se ve el ejemplo en la Figura 12, con un instrumento identificado

como Timbal.

Page 17: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

15

Figura 12. Visualización comunicación en MQTT.fx. Fuente: elaboración propia.

Finalmente, se procede a evaluar la aplicación del algoritmo en un sistema embebido, por lo que se

carga el modelo de SVM entrenado previamente y se estima el tiempo empleado en la clasificación de un nuevo audio, desde la extracción de sus características, la clasificación y transmisión al usuario de

cuál es el instrumento identificado. El análisis de tiempos se hace con un procesador Intel Core i7-5500

de 64 bits, con velocidad de reloj base de 2.40GHz y 16GB de memoria RAM como se explica

detalladamente en la sección de Protocolo de Pruebas.

Como se mencionó anteriormente, los resultados del cálculo del tiempo que emplea el procesador

Intel en clasificar un nuevo audio de entrada indican que el proceso completo se demora en promedio

252,88 milisegundos, lo que quiere decir que es doce veces menor al tiempo de un audio de entrada, lo

que lo hace óptimo para la aplicación en sistemas embebidos.

Page 18: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

16

PROTOCOLO DE PRUEBAS

En esta sección se exponen los resultados de las pruebas realizadas durante el desarrollo del trabajo de

grado, por tal motivo si en algún momento se necesitan profundizar conceptos por favor dirigirse al

capítulo de Desarrollo. De igual forma, en los archivos que se encuentran en el enlace del Anexo 1, se

pueden evidenciar los algoritmos realizados para obtener los resultados que se exponen a continuación.

Adición de ruido:

Durante el desarrollo de este estudio se encontró que después de caracterizar y entrenar los modelos, al clasificar los audios de los instrumentos acompañados, la exactitud de algunos modelos era un poco

baja. Es por lo que, se decidió añadir ruido con distribución uniforme a los audios de entrada

correspondientes al conjunto de entrenamiento y validación, es decir las muestras de instrumentos sin

acompañamiento, con el fin de simular un ambiente polifónico con varias frecuencias.

En la Tabla 3 se encuentran los resultados obtenidos tanto en el proceso de validación del

entrenamiento (audios de instrumentos sin acompañamiento) como en la evaluación de la clasificación (audios en contexto polifónicos), para ruido con un SNR de -3 dB, -6 dB y -12 dB, obteniendo que el

mejor resultado se da con un valor de SNR de -12 dB, como también se observa en la Figura 13.

Clasificador

Sin Ruido -3 dB -6 dB -12 dB

Val

idac

ión

Cla

sifi

caci

ón

Val

idac

ión

Cla

sifi

caci

ón

Val

idac

ión

Cla

sifi

caci

ón

Val

idac

ión

Cla

sifi

caci

ón

Árbol de

Decisiones 88% 34% 87% 32% 89% 34% 90% 34%

K-NN 74% 51% 75% 52% 75% 54% 76% 54%

SVM 94% 65% 94% 67% 95% 67% 97% 68%

Tabla 3. Exactitud de cada modelo para los distintos niveles de SNR.

Figura 13. Exactitud para audios con diferentes niveles de ruido. Fuente: elaboración propia.

Page 19: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

17

Elección de la función kernel para el modelo SVM:

El algoritmo SVM se puede implementar con diferentes funciones kernel dependiendo si los atributos a clasificar son separables linealmente o no. Por tal razón, se realizó la comparación entre el kernel

Gaussiano, Lineal y polinomial de segundo grado. Los modelos se compararon con los mismos

parámetros C igual a 1E10 y un valor gamma igual a 0.015, es decir, 1 sobre el número de características.

Los resultados obtenidos indican que el kernel más indicado para este sistema es el Lineal, ya que

proporciona una exactitud mayor tanto en la validación del entrenamiento como en la clasificación de

los instrumentos en contexto polifónico, con un 97% y un 68% respectivamente, como se observa en la

Figura 14.

Figura 14. Exactitud para los diferentes kernel de SVM. Fuente: elaboración propia.

Selección del modelo final a partir de las métricas de entrenamiento y clasificación:

Para la selección del modelo de clasificación se consideran la exactitud y la precisión como métricas

decisivas tanto en el entrenamiento como en la evaluación del entrenamiento. En un principio, se realiza el entrenamiento de los modelos árbol de decisiones, K-NN y SVM, con el 30% de las muestras del

conjunto de audios de entrenamiento, en donde se obtienen los porcentajes de exactitud registrados en

la Tabla 4.

Modelo Exactitud

Árbol de Decisiones 100%

K-NN 91%

SVM 100%

Tabla 4. Exactitud con el conjunto de entrenamiento.

Después de contar con los modelos entrenados se realiza la validación con el 70% restante del

conjunto de audios para el entrenamiento. Es así como se obtienen las diferentes matrices de confusión

para cada modelo, como se observan en las Tablas 5, 6 y 7, cuya descripción se encuentra en la sección de Desarrollo, sin embargo, esta matriz permite visualizar a que clase fueron asignados los atributos del

conjunto de validación.

97%

68%

89%

65%

92%

66%

0%

20%

40%

60%

80%

100%

Validación Clasificación

Exac

titu

d

Linear Gaussiano Polinomial

Page 20: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

18

Etiqueta Real

Eti

quet

a as

ignad

a

Cl Fl Tr Ti

Cl 31 3 1 2

Fl 3 20 2 0

Tr 0 0 30 0

Ti 0 0 3 25

Tabla 5. Matriz de Confusión de la validación del entrenamiento del Árbol de decisiones.

Etiqueta Real

Eti

quet

a as

ignad

a

Cl Fl Tr Ti

Cl 27 2 6 2

Fl 7 13 4 1

Tr 2 1 25 2

Ti 0 0 4 24

Tabla 6. Matriz de Confusión de la validación del entrenamiento K-NN.

Etiqueta Real

Eti

quet

a as

ignad

a

Cl Fl Tr Ti

Cl 36 1 0 0

Fl 1 22 2 0

Tr 0 0 30 0

Ti 0 0 0 28

Tabla 7. Matriz de Confusión de la validación del entrenamiento SVM.

A partir de las matrices de confusión se calcula la precisión de cada clase para cada uno de los modelos, como se visualiza en la Tabla 8. De igual forma, se observa el promedio general para cada

modelo, en donde el árbol de decisiones tiene una precisión del 89%, K-NN del 76% y SVM del 97%.

Modelo

Clase

Clarinete (Cl)

Flauta (Fl) Trombón (Tr) Timbal (Ti) Promedio

Árbol de Decisiones 91% 87% 83% 93% 89%

K-NN 75% 81% 64% 83% 76%

SVM 97% 96% 94% 100% 97%

Tabla 8. Precisión de la validación del entrenamiento de cada instrumento.

Por otro lado, se consideró la Curva Característica del Receptor ROC (Receiver Operating Characteristic por sus siglas en inglés), en la cual, por cada clase, se tiene en cuenta la razón de los

verdaderos positivos frente a la razón de falsos positivos. Con base a lo anterior, se hace un promedio

con los puntos de cada etiqueta para calcular el área bajo la curva del sistema en general, lo que indica

el porcentaje de precisión del modelo entrenado para la validación del entrenamiento.

En las Figuras 15, 16 y 17 se grafican las correspondientes curvas ROC para cada uno de los

algoritmos de clasificación, rectificando que el modelo entrenado con mayor precisión es SVM, sólo

Page 21: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

19

que en este caso se cuenta con una desviación de -3% al binarizar las clases, hacer la clasificación de

una clase contra todas las demás y calcular el macro promedio de la precisión.

Figura 15. Curva ROC Árbol de Decisiones. Fuente: elaboración propia.

Figura 16. Curva ROC K-NN. Fuente: elaboración propia.

Figura 17. Curva ROC SVM. Fuente: elaboración propia.

Page 22: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

20

En este momento ya se cuentan con los tres modelos entrenados, por lo que se procede a clasificar los

audios de evaluación o clasificación, correspondientes a 30 audios por cada instrumento en contextos polifónicos, lo que genera como resultado las diferentes matrices de confusión expuestas en las Tablas

9, 10 y 11.

Etiqueta Real

Eti

quet

a as

ignad

a

Cl Fl Tr Ti

Cl 3 7 2 18

Fl 4 4 16 6

Tr 2 13 10 5

Ti 0 7 1 22

Tabla 9. Matriz de Confusión de la evaluación de la clasificación del Árbol de Decisiones.

Etiqueta Real E

tiquet

a as

ignad

a

Cl Fl Tr Ti

Cl 10 17 0 3

Fl 13 14 3 0

Tr 1 5 21 3

Ti 4 1 7 18

Tabla 10. Matriz de Confusión de la evaluación de la clasificación K-NN.

Etiqueta Real

Eti

quet

a as

ignad

a

Cl Fl Tr Ti

Cl 18 10 0 2

Fl 5 24 0 1

Tr 5 7 17 1

Ti 0 7 1 22

Tabla 11. Matriz de Confusión de la evaluación de la clasificación SVM.

De acuerdo con las matrices de confusión obtenidas en la clasificación, se calcula la precisión de cada clase para cada uno de los modelos, como se visualiza en la Tabla 12. De igual forma, se observa

el promedio general para cada modelo, en donde el árbol de decisiones tiene una precisión del 31%, K-

NN del 54% y SVM del 73%.

Modelo Clase

Clarinete (Cl) Flauta (Fl) Trombón (Tr) Timbal (Ti) Promedio

Árbol de Decisiones 33% 13% 34% 43% 31%

K-NN 36% 38% 68% 75% 54%

SVM 64% 50% 94% 85% 73%

Tabla 12. Precisión de la clasificación de cada instrumento.

Page 23: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

21

Asimismo, después de haber validado el entrenamiento de los modelos y haber clasificado los audios

de los instrumentos en contextos polifónicos, se realiza el cálculo del recall para cada familia de instrumentos, considerando la información obtenida en las matrices de confusión, como se registran en

la Tabla 13.

Modelo

Clase

Clarinete (Cl) Flauta (Fl) Trombón (Tr) Timbal (Ti) Promedio

Val

idac

ión

entr

enam

iento

Árbol de Decisiones 84% 80% 100% 89% 88%

K-NN 73% 52% 83% 86% 74%

SVM 97% 89% 100% 100% 97%

Cla

sifi

caci

ón

Árbol de Decisiones 10% 13% 33% 73% 33%

K-NN 33% 47% 70% 60% 53%

SVM 60% 80% 57% 73% 68%

Tabla 13. Recall para cada instrumento.

La clasificación de los instrumentos en contexto polifónicos dio resultados interesantes relacionados

con la exactitud obtenida en el entrenamiento, ya que como se observa en la Figura 18, se grafican los

resultados de exactitud, en donde el Árbol de Decisión tiene la menor exactitud con un 34%, seguido a este K-NN genera una exactitud del 54% y finalmente el modelo de SVM tiene la mayor exactitud con

un 68%. De acuerdo con lo anterior y con base a los resultados obtenidos en el entrenamiento, se guarda

el modelo de SVM y se escoge como el sistema de clasificación para este trabajo de grado.

Figura 18. Exactitud en la Clasificación. Fuente: elaboración propia.

Medición tiempo empleado de operación:

Como etapa final en el desarrollo de este trabajo de grado se realiza la medición del tiempo que se tarda

el sistema en identificar un instrumento, desde que entra el audio al sistema, se extraen las características a partir de los coeficientes MFCC, se clasifica y se transmite información obtenida. Este análisis de

tiempos se hace con un procesador Intel Core i7-5500 de 64 bits, con velocidad de reloj base de 2.40GHz

y 16GB de memoria RAM, en un solo proceso con un solo núcleo.

Page 24: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

22

En un principio se hace la prueba con 10 audios de instrumentos, con el fin de evaluar la duración

del sistema solo en clasificar un audio, es decir desde que entra el audio, se extraen sus características y con el modelo entrenado de SVM se clasifica. Se consignan los tiempos en la Tabla 14 y se obtiene un

promedio de 48 milisegundos.

Audio Tiempo [s]

Mixto1.wav 0,04375

Mixto13.wav 0,04697

Mixto28.wav 0,04048

Mixto36.wav 0,04361

Mixto49.wav 0,04197

Mixto57.wav 0,05929

Mixto72.wav 0.05563

Mixto87.wav 0,05197

Mixto100.wav 0,0463

Mixto115.wav 0,0544

Promedio[s] 0,04763

Tabla 14. Tiempo de clasificación de un audio.

Finalmente, con los mismos audios, se evalúa la duración desde que entra un audio al sistema hasta

que el usuario recibe la información del instrumento identificado, con el fin de estimar cuánto tiempo dura la transmisión de la información. Con los tiempos consignados en la Tabla 15 se obtiene un

promedio de 252,88 milisegundos.

Audio Tiempo [s]

Mixto1.wav 0,24262

Mixto13.wav 0,27087

Mixto28.wav 0,25261

Mixto36.wav 0,24431

Mixto49.wav 0,24270

Mixto57.wav 0,26400

Mixto72.wav 0,25460

Mixto87.wav 0,24505

Mixto100.wav 0,26119

Mixto115.wav 0,25085

Promedio[s] 0,25288

Tabla 15. Tiempo total que implementa el sistema en identificar y transmitir la información.

Con base a los resultados obtenidos anteriormente, se estima que la comunicación por medio del

protocolo MQTT dura aproximadamente 205 milisegundos, es decir 15 veces menos de la duración de

un audio de entrada, lo que lo hace óptimo para la implementación en un sistema embebido de cómputo

reducido.

Page 25: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

23

ANALISIS DE RESULTADOS

Los audios utilizados para el entrenamiento fueron grabados en un ambiente silencioso y aceptable

acústicamente, por lo que al hacer el entrenamiento del sistema con señales a las que se les sumó un

ruido este brindó mejores resultados, aumentando la exactitud en un 3%, ya que esto simula el contexto

polifónico que es en donde realmente se va a implementar el sistema.

Por otra parte, es importante considerar que los algoritmos utilizados en este estudio son modelos de

aprendizaje supervisado, lo que facilita la clasificación de los instrumentos al conocer las clases deseadas. Asimismo, al contar con un vector de características de 65 atributos se genera una precisión

mucho más alta que en investigaciones anteriores, al considerar más características que solo el valor de

los 13 coeficientes MFCC.

Si bien los resultados obtenidos en el desarrollo de este estudio indican una exactitud alta en la

validación del entrenamiento con respuestas mayores al 76% para los 3 modelos, como se observa en la

Figura 19, el modelo de SVM presenta la mayor exactitud con un 97%. Adicionalmente, este modelo

proporciona la precisión más alta para cada una de las familias de instrumentos, mayor al 50%, tanto en la validación del entrenamiento como en la clasificación de instrumentos en contextos polifónicos, por

esta razón se escoge como el modelo final para el sistema de clasificación.

Figura 19. Exactitud de la Validación del Entrenamiento. Fuente: elaboración propia.

Asimismo, se obtiene que la precisión promedio con el conjunto de validación es más baja que con

el conjunto de entrenamiento, lo que demuestra que el hiperplano óptimo formado por el conjunto de

entrenamiento, para el modelo de SVM, no puede garantizar buenos resultados con el conjunto de

validación del entrenamiento.

Igualmente, durante el proceso de evaluación de los modelos se observaron resultados interesantes.

Uno de estos es el registrado en las matrices de confusión de las Tablas 9, 10 y 11, en donde se evidencia

que los errores más comunes en la clasificación son entre clarinete y flauta. Lo anterior sucede ya que estas clases cuentan con una precisión aceptable y un recall alto, lo que indica que el modelo detecta

bien la clase, pero también incluye muestras de otras clases. Esto puede suceder debido a que el timbre

de estos instrumentos es muy similar.

Por otro lado, al evaluar los tiempos de procesamiento del sistema, se encuentra una respuesta rápida

en comparación a la duración de los audios que se clasifican. Para la identificación de un instrumento,

desde que entra el audio, se extraen sus características a partir de los coeficientes MFCC y se clasifica con el modelo entrenado de SVM, emplea un tiempo sesenta y tres veces menos de lo que se demoraría

el proceso de adquisición del audio, es decir que la implementación de este algoritmo en un sistema

embebido es muy viable.

Page 26: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

24

De la misma manera, a partir de los resultados obtenidos en las mediciones del tiempo empleado,

incluyendo la transmisión al usuario del instrumento identificado, el sistema se tarda quince veces menos de la duración de un audio de entrada, lo que rectifica que el protocolo MQTT es una buena alternativa

en el diseño del sistema embebido y para aplicaciones de Internet de las Cosas Musicales (IoMUT, en

inglés Internet of Musical Things). Asimismo, este protocolo es compatible con diferentes motores de

cómputo reducido como Raspberry Pi y ESP8266.

Page 27: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

25

CONCLUSIONES Y RECOMENDACIONES

El sistema de clasificación propuesto en este trabajo de grado clasifica con una exactitud promedio del

68% cuatro familias de instrumentos musicales que incluyen clarinete, flauta traversa, trombón y

timbales sinfónicos, a partir de sus características tímbricas dadas por cinco medidas estadísticas por cada uno de los primero trece coeficientes MFCC, extraídos de audios con duración de 3 segundos para

cada instrumento en contextos polifónicos. De igual manera, para la validación del entrenamiento se

cuenta con una exactitud promedio del 97% con los mismos instrumentos.

A partir del análisis de los resultados, se puede evidenciar que, entre los modelos de aprendizaje

evaluados, el algoritmo de SVM con función de kernel lineal proporciona la mayor exactitud en la

clasificación de instrumentos musicales en contextos polifónicos, con un porcentaje equivalente al 68% y una precisión del 73%. Los demás modelos cuentan con menor desempeño, dentro de los cuales el

algoritmo de K-NN le sigue con un máximo porcentaje de exactitud y precisión del 54%. De acuerdo

con lo anterior, se escoge el modelo de SVM lineal como sistema de clasificación final.

Adicionalmente, este sistema cuenta con un tiempo de procesamiento, el cual incluye la extracción de las características y la clasificación del instrumento, mucho menor respecto a la duración de los

audios de entrada. Con base a lo anterior y a las pruebas realizadas, con un procesador de alto

rendimiento, no se espera que la duración del procesamiento en un sistema de cómputo reducido cambie radicalmente y sea mayor a 3 segundos, por lo que es apropiado para aplicaciones IoT (Internet de las

Cosas).

Igualmente, el protocolo MQTT es una muy buena opción para transmitir la información del instrumento identificado, ya que como se menciona anteriormente, emplea un tiempo de comunicación

poco comparable a la duración de un audio de entrada. Adicionalmente, este protocolo es compatible en

motores de cómputo reducido y permite desarrollar diferentes interfaces de visualización para informar

al usuario la respuesta del sistema de clasificación.

Asimismo, se desarrolló el sistema de clasificación en el ambiente de programación de Python en la

versión 3.7, lo que facilita su implementación en motores de cómputo reducido al ser ligero y ser

compatible con la versión de Micropython, especializada para este tipo de aplicaciones.

Cabe resaltar que, para el desarrollo de este estudio, se utilizaron sonidos grabados previamente. Por

esto, se recomienda a la hora de diseñar un sistema embebido considerar un sistema de adquisición que

grabe los sonidos con una duración de tres segundos, el cual sea capaz de codificar los audios en un

formato de al menos 16 bits por un canal mono. En dado caso que se adquieran los audios con un formato diferente a 16 bits, se recomienda ajustar el rango de codificación entre -32768 y 32767, debido a que

así fue diseñado el sistema.

De acuerdo con lo anterior, en dado caso que esta aplicación se utilice en agrupaciones sinfónicas en el que se conocen los instrumentos y el formato de la agrupación es fijo, se sugiere realizar el

entrenamiento con muestras de los instrumentos que conforman la agrupación, con el fin de garantizar

un mejor rendimiento del sistema y así ahorrar tiempo en el preprocesamiento de las señales de audio. En el caso de este estudio, se contempló un contexto más general al añadir un ruido uniforme a los

audios del conjunto de entrenamiento y validación, lo cual simula frecuencias en un contexto polifónico.

Finalmente, al estar diseñado el sistema para ejecutar todo en un único proceso, se propone para

trabajos futuros desarrollar la etapa de extracción de características en un contexto de computación distribuida, con el fin de disminuir tiempos y mejorar el rendimiento del sistema, debido a que es viable

fragmentar las muestras de entrada en diferentes ventanas y extraer las características simultáneamente.

Page 28: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

26

BIBLIOGRAFÍA

Tan, P., Steinbach, M., & Kumar, V. (2014). Introduction to Data Mining. no. 1.

Liu, J., & Xie, L. (2010). SVM-Based Automatic Classification of Musical Instruments. 2010

International Conference on Intelligent Computation Technology and Automation. Changsha. pp. 669-

673. doi: 10.1109/icicta.2010.64.

Somerville, P., & Uitdenbogerd, A. (2008). Multitimbral Musical Instrument Classification.

International Symposium on Computer Science and its Applications. Hobart, ACT. pp. 269-274. doi:

10.1109/CSA.2008.67.

Quinlan, J. (1986). Induction of decision trees. Machine Learning. vol 1. no. 1. pp. 81–106. doi:

10.1007/BF00116251

Perfecto, H., Xavier, A., Eloi, B., & Xavier S. (2000). Towards Instrument Segmentation for Music

Content Description: A Critical Review of Instrument Classification Techniques. Proc. ISMIR.

Cover, T., & Hart, P. (1967). Nearest neighbor pattern classification. IEEE Transactions on Information

Theory. vol. 13. no. 1. pp. 21-27. doi: 10.1109/TIT.1967.1053964.

Stitson, M. O., Weston, J. A. E., Gammerman, A., Vovk, V., & Vapnik, V. (1996). Theory of support

vector machines. University of London, vol. 117, no. 827, pp. 188-191.

Cortes, C., & Vapnik, V. (1995). Support vector networks. Machine Learning. vol. 20. pp. 273–297.

Nagawade, M., & Ratnaparkhe, V. (2017). Musical instrument identification using MFCC. 2nd IEEE

International Conference on Recent Trends in Electronics, Information & Communication Technology

(RTEICT).

Jeyalakshmi, C., Murugeshwari, B., & Karthick, M. (2018). HMM and K-NN based Automatic Musical

Instrument Recognition. 2018 2nd International Conference on I-SMAC (IoT in Social, Mobile,

Analytics and Cloud). Palladam. India. pp. 350-355. doi: 10.1109/I-SMAC.2018.8653725.

Stevens, S. S., & Volkmann, J. (1940). The relation of pitch to frequency: a revised scale. The American

Journal of Psychology. vol. 53. pp. 329–353.

Childers, D.G., Skinner, D. P., & Kemerait, R. C. (1977). The cepstrum: A guide to

processing. Proceedings of the IEEE. vol. 65. no. 10. pp. 1428-1443. doi: 10.1109/PROC.1977.10747.

Han, W., Chan, C., Choy, C., & Pun, K. (2006). An efficient MFCC extraction method in speech

recognition. 2006 IEEE International Symposium on Circuits and Systems. Island of Kos. pp. 145-148.

doi: 10.1109/ISCAS.2006.1692543.

Radhouane, R., Liu, P., & Modlin, C. (2000). Minimizing the memory requirement for continuous flow FFT implementation: continuous flow mixed mode FFT (CFMM-FFT). 2000 IEEE International

Symposium on Circuits and Systems (ISCAS). Geneva. Switzerland. pp. 116-119. vol.1. doi:

10.1109/ISCAS.2000.857040.

Krishna, P. G., Ravi, K. S., Kumar, V. S., & Kumar, M. S. (2017). Implementation of MQTT Protocol

on Low Resourced Embedded Network. International Journal of Pure and Applied Mathematics. vol.

116. no. 6. pp. 161-166.

Page 29: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

27

ANEXOS

Anexo 1. Archivos digitales.

En el siguiente enlace se encuentran los algoritmos desarrollados en Python, como evidencia de lo

propuesto en el presente trabajo de grado. De igual forma, se recomienda leer el documento nombrado

README.md en el que se describe como se deben ejecutar los archivos para que se logren los resultados

registrados en este documento.

Enlace: https://github.com/juanseemendez/Trabajo_de_Grado-Juan_Mendez.git

Page 30: IDENTIFICACIÓN DE INSTRUMENTOS MUSICALES A PARTIR DEL

Pontificia Universidad Javeriana – Facultad de Ingeniería - Departamento de Electrónica

28

Anexo 2. Modelo del entrenamiento del árbol de decisiones.