Logo Studenta

Ajuste de Voz Inteligente

¡Este material tiene más páginas!

Vista previa del material en texto

Ajuste de voz inteligente
Autor:
Nicolás Eduardo Gaona Ordoñez
Directora:
Johana Maria Flórez Lozano Ph.D
Pontificia Universidad Javeriana
Facultad de Ingenieŕıa
Departamento de Electrónica
Bogotá D.C
Índice
1. Resumen 3
2. Problemática 3
3. Objetivos 3
3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Objetivos espećıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Marco teórico 4
4.1. Señales de audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2. La voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3. Escalas musicales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.4. Single board computer : Raspberry Pi 3B+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4.1. I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4.2. SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.5. Coeficientes ceptrales en las frecuencias de mel (MFCCs) . . . . . . . . . . . . . . . . . . . . 6
4.6. Transformada rápida de Fourier (FFT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.7. Inteligencia artificial (IA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.7.1. Red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.7.2. Análisis de componentes principales (PCA) . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Métodos y materiales 7
5.1. Extracción de muestras para entrenar el sistema . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1.1. Establecer programa a utilizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1.2. Establecer caracteŕısticas de las muestras . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1.3. Adquisición y recolección de muestras . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1.4. Comprobación de las escalas de las canciones usadas . . . . . . . . . . . . . . . . . . . 18
5.2. Sistemas de IA usados y métricas de evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.1. Selección de métodos a implementar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.2. Teoŕıa de los métodos propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.3. Selección de métricas de evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.3. Hardware del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3.1. Esquemático de la PCB implementada . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3.2. PCB implementada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3.3. Selección de tarjeta y micrófono para etapa de adquisición . . . . . . . . . . . . . . . . 27
5.4. Implementación métodos de IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4.1. Arquitecturas implementadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4.2. Preprocesamiento perceptrón multicapa primera implementación . . . . . . . . . . . . 29
5.4.3. Preprocesamiento perceptrón multicapa segunda implementación . . . . . . . . . . . . 29
5.4.4. Preprocesamiento perceptrón multicapa tercera implementación . . . . . . . . . . . . . 29
5.4.5. Preprocesamiento perceptrón multicapa cuarta implementación . . . . . . . . . . . . . 30
5.4.6. Preprocesamiento perceptrón multicapa quinta implementación . . . . . . . . . . . . . 30
5.4.7. Preprocesamiento SVR caracteŕısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.4.8. Preprocesamiento SVR con audios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.4.9. Preprocesamiento SVR con todo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5. Estructura plástica externa del sistema hardware . . . . . . . . . . . . . . . . . . . . . . . . . 31
1
6. Resultados de validación cuantitativa del sistema 32
6.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.1.1. Control de pantalla LCD para escala y cantidad de efecto . . . . . . . . . . . . . . . . 33
6.1.2. Adquisición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.3. Extracción y exteriorización del audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.4. Procesos en paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2. Métodos y métricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2.1. Arquitectura a implementar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3. Análisis de los resultados de validación cuantitativa del sistema . . . . . . . . . . . . . . . . . 39
7. Validación cualitativa del sistema 39
8. Conclusiones 45
9. Recomendaciones futuras 45
10.Dificultades encontradas 46
2
1. Resumen
Ajuste de voz inteligente corresponde con un proyecto que busca dar solución al problema de la afinación
vocal, mediante el uso de métodos de inteligencia artificial que permitan automatizar dicho proceso. Se
incorpora el uso del sistema embebido Raspberry Pi modelo 3B+ a modo de control central del sistema, de
manera que el usuario ingresa su voz mediante la interfaz UM2 y el micrófono Behringer XM1800S, junto
con la escala y la cantidad de efecto que desea aplicar a dicha voz por medio de potenciómetros, una LCD
para mostrar la información de la escala y cantidad de efecto y un parlante que extrae el audio. Se realizó la
recolección de cinco interpretaciones por cada una de las escalas que contribuyeran a la construcción de los
datos para realizar el entrenamiento de los modelos de inteligencia artificial. Se seleccionaron e implementaron
las métricas y métodos basados en su uso para problemas de regresión y series de tiempo y se cargaron sobre el
sistema embebido Raspberry Pi modelo 3B+. Los resultados a partir de las métricas utilizadas, evidenciaron
que los métodos implementados no se ajustan de manera adecuada para describir el proceso de afinación.
Por otro lado, el funcionamiento del hardware presento un desempeño adecuado a lo esperado mediante el
uso de un multiproceso para la adquisición y el control de la LCD al tiempo.
El documento viene distribuido en las siguientes secciones: la sección de objetivos, donde se presenta lo que
se espera alcanzar con el sistema, en segundo lugar el marco teórico, que presenta la información requerida
para el entendimiento del proyecto, en tercer lugar los métodos y materiales, donde se presenta la extracción
de muestras para entrenar el sistema, sistemas de IA usados y métricas de evaluación, hardware del sistema,
implementación de métodos de IA y por último la estructura plástica externa del sistema hardware, en cuarto
lugar los resultados de validación cuantitativa del sistema, donde se presentan los resultados obtenidos tanto
en el proceso de hardware, como en las arquitecturas implementadas, en quinto lugar, se presenta la validación
cualitativa del sistema, donde se busca mediante un formulario, la valoración por parte de expertos en el área
de la ingenieŕıa de sonido, en sexto lugar, las conclusiones, en séptimo lugar las recomendaciones futuras,
donde basado en los resultados y evidencias a lo largo del proyecto se presentan aspectos a tener en cuenta
y por último, la sección de dificultades encontradas, donde se exponen las dificultades durante el desarrollo
del proyecto.
2. Problemática
La afinación vocal y su producción ha sido un problema tratado desde la digitalización de la misma para
poder producir proyectos de la mejor calidad. El procesode grabación de vocales perfectas consumı́a gran
cantidad de tiempo por parte de los productores, los cantantes y un gran trabajo para la conformación del
tema a partir de varias tomas realizadas. Con la introducción del primer software comercial, Autotune, se
redujo la cantidad de tomas necesarias para la conformación de un tema, lo que trajo consigo reducción en
costos de estudio, mayor cantidad de clientes y una gran reducción del tiempo empleado.
La introducción de este software al mundo se dio con la salida al mercado de la canción ”believe”de Cher,
que utilizó el efecto a su máxima expresión, generando un efecto robótico en la voz. El sencillo de Cher,
vendió 11 millones de copias, ganó un premio Grammy y encabezó la lista de éxitos en 23 páıses [1].
Por esto nos planteamos la introducción de un sistema hardware compacto y portátil que realice correcciones
de afinación en tiempo real (con retardo imposible de detectar por el ser humano) de manera automática y
que el usuario pueda llevar a cualquier sitio.
3. Objetivos
3.1. Objetivo general
Implementar un sistema electrónico portátil que ejecute correcciones de afinación de voz en tiempo real
mediante el uso de técnicas de inteligencia artificial.
3
3.2. Objetivos espećıficos
Construir y recopilar muestras de voces de diferentes escalas que contribuyan a la adecuación del
modelo del sistema.
Definir dos técnicas de inteligencia artificial para ser implementadas en un sistema de afinación.
Entrenar y evaluar el desempeño de los sistemas de inteligencia artificial implementados sobre un
dispositivo remoto.
Implementar sobre una SBC el sistema de inteligencia artificial y validar el funcionamiento del sistema
mediante contraste de caracteŕısticas de la señal.
4. Marco teórico
La información contenida en la sección del marco teórico pretende hacer una breve descripción de los concep-
tos básicos para el entendimiento del proyecto. Se presentan: las señales de audio, la voz, escalas musicales,
la SBC Raspberry, coeficientes ceptrales en las frecuencias de mel (MFCCs), transformada rápida de fourier
(FFT) e inteligencia artificial.
4.1. Señales de audio
Una señal corresponde con una variable de nuestro entorno f́ısico, representada mediante el uso de una función
[2]. El sonido es un fenómeno f́ısico ocasionado por el movimiento del aire. El espectro audible humano va
desde 20Hz a 20KHz. El sonido se mide en decibelios (dB).
Las caracteŕısticas de una señal de audio son:
Amplitud: Es equivalente al volumen y corresponde con la elevación de la onda sobre el valor medio.
Periodo: Corresponde con la duración de una oscilación completa, es decir el tiempo entre dos cres-
tas(puntos más altos de la onda) o valles(puntos más bajos de la onda).
Frecuencia: Corresponde con la cantidad de ciclos completos por unidad de tiempo.
Longitud de onda: Distancia entre entre dos crestas(puntos más altos de la onda) o valles(puntos más
bajos de la onda) [3].
4.2. La voz
El cuerpo humano cuenta con un aparato (figura 1) gracias al cual es posible la generación de sonido, este
es el aparato fonador.
4
Figura 1: Aparato fonador y sus partes. Imagen tomada de [4]
Para la generación del sonido, donde el diafragma cumple una función fundamental, pues es el musculo
principalmente involucrado en la respiración, el aire expulsado por los pulmones, pasa por los bronquios y
traquea hasta la laringe, donde el aire se encuentra con las cuerdas vocales haciéndolas vibrar y generando
sonido. En el canto, debemos tener en cuenta dos conceptos importantes, la tesitura y el tono. La tesitura
corresponde a las notas que logramos alcanzar de manera cómoda. En el caso de un cantante profesional
debeŕıa ser de dos octavas o más [4]. El tono describe la frecuencia a la que vibran las cuerdas vocales de la
persona. La frecuencia media de la voz masculina se encuentra aproximadamente 106 hercios, mientras que
para la voz femenina es de 193 aproximadamente [5].
4.3. Escalas musicales
Corresponde a un conjunto de notas que se tocan de manera ascendente o descendente estando separadas
entre si por un tono [6]. La escala musical se encuentra constituida por ocho notas (tabla 1), a partir de las
cuales se generan las armónicas. Las notas son definidas por la frecuencia de vibración de la onda. Aśı a cada
nota le corresponde una frecuencia.
Nota musical Frecuencia en Hertz
C 261
D 293
E 328.8
F 348.8
G 391.1
A 438.9
B 492.7
Tabla 1: Nota musical con su frecuencia. Tomada de [7].
Las escalas musicales se construyen a partir de ciertas proporciones establecidas entre las notas. Una octava
esta compuesta por cinco tonos y dos semitonos presentes entre mi y fa, y entre si y do [7]. El tono mayor
es obtenido al ordenar las notas de forma que entre la tercera y la cuarta, y la séptima y la octava (donde
esta corresponde con la primera una octava más alta) exista un semitono. La escala mayor se encuentra
compuesta de dos partes iguales llamadas tetracordos (grupo de cuatro notas secuencialmente ordenadas),
5
con un semitono entre la tercera y cuarta nota y entre la séptima y octava. Las escalas mayores (tabla 2)
se pueden formar a partir de cualquier nota si el primer tetracordo inicia en cualquier nota y el segundo se
encuentra a una distancia de un tono.
Si la construcción de la escala mayor se realiza desde una nota diferente a DO, se requiere de una armadura
(conjunto de alteraciones para crear una escala mayor). Estas alteraciones vienen dadas por el ciclo de quintas
[8].
Nombre de la escala mayor Notas de la escala mayor
C mayor C D E F G A B
D mayor D E F# G A B C#
E mayor E F# G# A B C# D#
F mayor F G A Bbemol C D E
G mayor G A B C D E F#
A mayor A B C# D E F# G#
B mayor B C# D# E F# G# A#
Tabla 2: Escalas mayores. Tomado de [9].
4.4. Single board computer : Raspberry Pi 3B+
La Raspberry Pi es un sistema embebido con un procesador de cuatro núcleos a 1.4GHz y 64 bits, bluetooth
4.2, 40 pines de GPIO, puerto para cámara, puerto para pantalla táctil, entrada de alimentación de 5V
a 2.5A, con puertos de comunicación SPI, I2C Y UART y permite conexiones USB, ethernet, wifi, jack
de 3.5mm, puerto de HDMI, puerto para micro SD y micro-usb [10]. En el caso del presente proyecto, se
emplean dos protocolos:
4.4.1. I2C
El I2C es un protocolo de comunicación de bus incorporado en dispositivos para comunicación serie. Dicho
protocolo presenta dos lineas bidireccionales para la comunicación, SDA (realiza el transporte de datos) y
SCL (realiza el transporte de la señal de reloj), de manera que el env́ıo de datos se encuentra sincronizado
a los pulsos de la señal de reloj [11].
4.4.2. SPI
El SPI es un protocolo de comunicación sincrona full duplex (es decir de manera simultanea puede enviar
y recibir datos), en la cual los datos de maestro y esclavos se sincronizan con el reloj. Los dispositivos SPI
vienen de tres o cuatro cables, el de cuatro cables contiene reloj, selección de chip, maestro fuera esclavo en
MOSI (transmite datos del maestro a esclavo) y maestro adentro esclavo afuera en MISO (transmite datos
del esclavo al maestro) [12].
4.5. Coeficientes ceptrales en las frecuencias de mel (MFCCs)
Los coeficientes ceptrales en las frecuencias de mel son caracteŕısticas ampliamente usadas en el área del
habla. Partiendo de la señal en tiempo, se aplica la transformada al espectro de Fourier, se toma el logaritmo
de la magnitud del espectro de Fourier y se realiza la transformada coseno de este último, por lo que el
resultante no queda en dominio del tiempo ni de la frecuencia. La escala mel es una escala que relaciona las
frecuencias de un tono con las medidas realmente, de manera que las frecuencias sean más acordes a las del
espectro audible [13].
4.6. Transformada rápida de Fourier (FFT)
La FFT (transformada rápida de Fourier), es un algoritmo para el cálculo de la transformada discreta de
Fourier que en vez de requerir las N2 operaciones, solo requiere (NlogN) donde N esla secuencia de números
complejos. Dicho algoritmo se basa en la descomposición de la transformada en transformadas más simples
hasta llegar a dos elementos (N=2), una vez resuelta la más simple se empieza a escalar [14].
6
4.7. Inteligencia artificial (IA)
Es la ciencia encargada de la creación de máquinas que logran realizar procesos que para un humano re-
queriŕıan inteligencia. Entre las áreas en que se involucra la IA, se encuentra el tratamiento de lenguajes
naturales, sistemas expertos, robótica, aprendizaje entre muchas otras [15].
El aprendizaje automático es una de las ramas de la inteligencia artificial, basada en el ingreso de datos
a la máquina de manera que esta realice su aprendizaje a partir de estos ejemplos de datos, sin recurrir a
procesos matemáticos, permitiendo aśı la solución de situaciones complejas de tratar mediante formulas [16].
4.7.1. Red neuronal
Una neurona es un cuerpo celular, con ramificaciones llamadas dendritas y una ramificación más larga
llamada axón. El axón es el que permite enviar información entre neuronas y las dendritas son las que
reciben esta información. Aśı la conexión entre una neurona y otra se da gracias al axón de una y la dendrita
de otra. La activación de la neurona solo se genera si se supera el nivel mı́nimo de potencial eléctrico. Las
conexiones poseen plasticidad, lo que se relaciona con la capacidad de aprendizaje y memorización. Una red
neuronal artificial (Figura 2) se compone de entrada, unos pesos asociados, un bloque de suma, una función
de activación y la salida.
Figura 2: Estructura de una red neuronal. Imagen tomada de [17].
La arquitectura de una red neuronal, dependen de factores como el tipo de función de activación utilizado,
la conexión entre neuronas, es decir si sus conexiones solo pueden darse hacia adelante o con conexiones de
retroalimentación permitiendo la formación de bucles y si el aprendizaje es supervisado, por lo tanto utiliza
etiquetas para el aprendizaje y no supervisado si no requiere de etiquetas para el aprendizaje [18].
4.7.2. Análisis de componentes principales (PCA)
El análisis de componentes principales es una técnica no supervisada (basado en observaciones) utilizada para
la reducción de la dimensión de las caracteŕısticas para el aprendizaje, basándose en la combinación de las
caracteŕısticas originales, de manera que se evita una alta dimensionalidad que contribuye a un sobreajuste
del modelo [19].
5. Métodos y materiales
Esta sección tiene como finalidad presentar de manera detallada la implementación realizada para cada uno
de los procesos que componen el desarrollo del proyecto. Se presenta la tarea de extracción de las muestras
para el entrenamiento del sistema, que se compone de la selección del programa a utilizar, las caracteŕısticas
deseadas de las muestras y la adquisición de las mismas. Aśı mismo la tarea de los sistemas de IA utilizados y
7
métricas de evaluación, compuesto por la selección de los métodos a implementar y las métricas para evaluar
los mismos. En adición la tarea de hardware del sistema compuesto por el desarrollo del esquemático, la PCB
y la selección de la tarjeta de adquisición de muestras. Por último, se presenta la tarea de implementación
de métodos de IA, constituida por las arquitecturas implementadas seleccionadas y los preprocesamientos
de los datos para cada una de las arquitecturas.
5.1. Extracción de muestras para entrenar el sistema
Como parte del sistema, se encuentra el proceso de extracción de muestras que brindan a la máquina el
material y las caracteŕısticas necesarias para aprender a solucionar el problema requerido, en este caso la
afinación. Por lo que se requiere de un programa que nos permita realizar las grabaciones de las distintas
interpretaciones, de unas caracteŕısticas establecidas y con base en estas culminar con la grabación de las
muestras a usar durante el entrenamiento de la máquina.
5.1.1. Establecer programa a utilizar
Para la generación de las muestras de voz, se requirió de la grabación de interpretaciones para las cuales se
hizo uso de programas destinados para dicho fin.
Para la extracción de dichas muestras se opto por el programa Adobe Audition en su versión 2018, esto
debido a que era el programa que se teńıa a disposición en el sitio donde se realizaron las grabaciones. Cabe
destacar que a d́ıa de hoy se cuenta con una gran cantidad de programas que cumplen con la misma finalidad
y que el programa se escogió dada la accesibilidad.
Por otro lado y dado a que requerimos que las muestras grabadas se encuentren afinadas, requerimos de un
plugin que nos permitiera dicho objetivo. Debido a lo limitado de los recursos con que se cuenta, se opto
por el software disponible en la universidad llamado Pro tools y se utilizo el plugin de Antares Auto tune.
Es importante resaltar este es solo uno de los múltiples softwares que pudimos haber utilizado para la labor
planteada, los softwares y el plugin escogido fueron utilizados dada la disposición de los recursos.
5.1.2. Establecer caracteŕısticas de las muestras
Para las muestras de voces se contó con 5 interpretaciones por cada una de las escalas definidas, teniendo
aśı un conjunto de grabaciones de 35 interpretaciones iniciales dado a que se utilizaron siete escalas, corres-
pondientes a las escalas mayores (C, D, E, F, G, A y B), con una duración promedio de dos minutos por
interpretación, una frecuencia de muestreo de 44.100Hz, grabadas en pista monofónica y con un formato
WAV. Las interpretaciones fueron realizadas por dos mujeres y dos hombres, de diferentes generaciones, con
el fin de tener e intentar tener en cuenta al público objetivo del sistema y de igual forma contribuir al sistema
de inteligencia artificial.
Las escalas trabajadas se encuentran acotadas dado a que existe una gran cantidad y al tenerlas en cuenta
en dicho sistema, el desarrollo del proyecto creceŕıa en cuanto a dificultad y tiempo requerido.
Por otro lado, las canciones utilizadas en cada una de las escalas fueron escogidas de modo que en su forma
original se encuentren en las escalas correspondientes.
5.1.3. Adquisición y recolección de muestras
Para la grabación de las muestras de entrenamiento, se utilizo el programa Adobe Audition, se utilizó un
micrófono dinámico Behringer XM 1800S Ultravoice (figura 3) y un mixer Yamaha multitrack MD Recorder
MD4 (figura 4).
8
Figura 3: Micrófono dinámico Behringer XM 1800S Ultravoice.
Figura 4: Mixer Yamaha multitrack MD Recorder MD4.
El proceso de obtención de las muestras fue el siguiente: Primero se realizaron las grabaciones de las inter-
pretaciones. Para esto se abrió el programa (figura 5) y se seleccionó la opción de ”multipista” para ingresar
nuestra pista y la grabación de voz (figura 6).
Figura 5: Icono del programa Adobe Audition.
9
Figura 6: Ingreso a la multipista.
Se inserta la pista de la canción a interpretar para referencia de la interpretación, con el fin de tener un
mejor desempeño (figura 7).
Figura 7: Inserción de la pista para referenciar el canto.
En la segúnda pista se inserta la entrada del micrófono que se va utilizar (figura 8).
10
Figura 8: Inserción de la entrada del micrófono.
Se habilita la opción ”R”, con el fin de habilitar la entrada del micrófono (figura 9).
Figura 9: Habilitación de la opción R.
Se presiona la opción ”grabar” para poder grabar la muestra de voz (figura 10).
11
Figura 10: Presionar la opción grabar.
Una vez obtenidas dichas muestras se realizo una limpieza del ruido en el audio. Para esto, se realiza la
selección de la zona que tomaremos como muestra del ruido como se ilustra en la figura 11.
Figura 11: Selección de muestra de ruido.
Se selecciona la opción ”capturar impresión de ruido” (figura 12).
12
Figura 12: Captura de la muestra de ruido.
Contando con la captura de la muestra de ruido, se procede a seleccionar todo el audio y a aplicar la opción”reducción de ruido”, con el fin de eliminarlo en toda la interpretación (figura 13).
Figura 13: Selección de la reducción de ruido.
Al seleccionar la opción de ”reducción de ruido” se selecciona la reducción a aplicar y se da la opción de
”aplicar” (figura 14).
13
Figura 14: Aplicación de la reducción de ruido.
Se modificó la amplitud de aquellos intervalos en que la señal se satura. Seleccionamos la zona que deseamos
amplificar (figura 15).
Figura 15: Selección de región a amplificar.
Seleccionamos la opción de ”amplificación” (figura 16).
14
Figura 16: Selección de la opción de amplificación.
Se escoge el aumento que aplicaremos a la región seleccionada y se presiona ”aplicar” para ver reflejada la
amplificación (figura 17).
Figura 17: Selección de cantidad de aumento y aplicación del aumento.
Finalmente, se eliminaron los intervalos considerables de silencio en las interpretaciones. Para obtener un
conjunto de 35 grabaciones, almacenadas en un conjunto de carpetas por escala mayor (figura 18 y figura
19):
15
Figura 18: Carpetas con las grabaciones de muestras en escalas definidas.
Figura 19: Contenido de la carpeta B.
Por otro lado, una vez se contó con las muestras de voz, se procedió a aplicarles el efecto de Autotune con
el fin de contar con el conjunto de muestras libres de efecto y el conjunto de muestras con efecto Autotune.
Para este procedimiento se utilizó el software Protools (figura 20) y el plugin de Antares Autotune (figura
21).
Figura 20: Interfaz de protools.
16
Figura 21: Plugin autotune.
Se procedió a importar los archivos previamente grabados (figura 22).
Figura 22: carga de audio.
Para el proceso se utilizo la siguiente sesión (figura 23):
Figura 23: plugin autotune.
Dicha sesión consta de cuatro canales, donde el primero contiene el plugin con una cantidad baja de efecto,
el segundo con una cantidad media de efecto y el tercero con una cantidad de efecto alta. Por otro lado se
17
cuenta con un cuarto canal que se encarga del monitoreo, es decir para escuchar lo que sucede en los canales
anteriormente descritos. Se le aplicó el efecto a cada una de las muestras, teniendo en cuenta las escalas de
cada una de las interpretaciones y considerando la cantidad de efecto aplicado, con lo cual por cada una de
las muestras ingresadas tenemos tres salidas, una con una cantidad baja, otra con una cantidad de efecto
media y la última con una cantidad de efecto alta. Para la aplicación del efecto se hizo uso de la herramienta
”commit” (figura 24), con el fin de generar un canal nuevo con cada una de las voces con efecto ya aplicado
(figura 25).
Figura 24: Uso de la herramienta commit.
Figura 25: canales creados después del commit.
El proceso descrito anteriormente fue realizado con cada una de las muestras pregrabadas. Una vez termi-
nado el proceso de recolección y adquisición se obtuvieron 35 grabaciones sin ningún efecto y un total de
105 grabaciones con efecto aplicado. Sin embargo, es importante tener en cuenta que a estas muestras se
ingresaran al modelo de IA con ventanas de tiempo.
5.1.4. Comprobación de las escalas de las canciones usadas
Como parte del proceso de validación de las muestras adquiridas, se usaron programas destinados al ámbito
musical (Tunebat, Mixxx y Vocalremover) con el fin de comprobar la escala en la que se encontraban las
interpretaciones. A continuación se presenta la información obtenida para cada una de las escalas con los
18
tres programas.
Para las canciones en la escala A mayor los resultados se presentan en la tabla 3:
Canción Tunebat Mixxx Vocalremover
Amor eterno A mayor A mayor A mayor
Hawai C# menor A mayor A mayor
La playa A mayor A mayor A bemol menor
Rosas A mayor A mayor D bemol mayor
Yesterday F# menor A mayor A mayor
Tabla 3: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala A.
Para las canciones en la escala B mayor los resultados se presentan en la tabla 4:
Canción Tunebat Mixxx Vocalremover
Mi guitarra No detectado B mayor B mayor
Mi historia entre sus dedos B bemol menor B mayor D bemol menor
Por el amor de una mujer No detectado B mayor C mayor
Prometiste B mayor B mayor E menor
Tengo tu love B mayor B mayor E bemol mayor
Tabla 4: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala B.
Para las canciones en la escala C mayor los resultados se presentan en la tabla 5:
Canción Tunebat Mixxx Vocalremover
Vereda tropical A menor C mayor E menor
La foto de los dos G mayor C mayor G menor
Como te va mi amor C# mayor C mayor E mayor
Como fue C mayor C mayor E menor
All i want C mayor C mayor G mayor
Tabla 5: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala C.
Para las canciones en la escala D mayor los resultados se presentan en la tabla 6:
Canción Tunebat Mixxx Vocalremover
Como han pasado los años D mayor D mayor D mayor
Con los años A mayor A mayor C mayor
Im yours D mayor D mayor D mayor
My way A mayor E menor F mayor
Noches de cartagena G mayor A mayor D menor
Tabla 6: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala D.
Para las canciones en la escala E mayor los resultados se presentan en la tabla 7:
Canción Tunebat Mixxx Vocalremover
Hechizo E mayor E mayor E mayor
Obsesión E mayor A mayor A bemol menor
Para siempre E mayor E mayor E mayor
Tiempo para amar E mayor E mayor E mayor
Va cayendo una lágrima C# menor A mayor D mayor
Tabla 7: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala E.
Para las canciones en la escala F mayor los resultados se presentan en la tabla 8:
19
Canción Tunebat Mixxx Vocalremover
Aśı fue C mayor F mayor C mayor
Chachacha A menor A mayor A menor
De que callada manera F mayor F mayor F mayor
Dulce pecado F mayor F mayor F mayor
Piel canela D menor B bemol mayor A menor
Tabla 8: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala F.
Para las canciones en la escala G mayor los resultados se presentan en la tabla 9:
Canción Tunebat Mixxx Vocalremover
Fuiste tu G mayor G mayor E menor
Sabor a mi A menor G mayor E menor
Tarde lo conoćı C mayor G mayor B menor
Te soñé D mayor A mayor D mayor
Querido tommy G mayor A mayor B menor
Tabla 9: Evaluación de tonalidad mediante software experto sobre canciones definidas como de escala G.
Sin embargo y como se evidencia en las tablas (3, 4, 5, 6, 7, 8, 9), los resultados son muy variantes entre los
programas utilizados, por lo cual se opto por tomar la asesoŕıa de un experto en el ámbito a manera de gúıa
principal para la comprobación de las escalas de cada una de las interpretaciones.
5.2. Sistemas de IA usados y métricas de evaluación
El área de la inteligencia artificial se compone de un conjunto de métodos, métricas y problemas a resolver,
con desempeños variantes en cada caso, por lo cual para la selección de los métodos a implementar y las
métricas con que se evaluarán, se tuvieron en cuenta dos factores de interés basados en la problemática de
la afinación: el estado del arte de la inteligencia artificial en el área de la afinación vocal y la búsqueda
de métodos utilizados en problemas de series de tiempo y las correspondientes métricas para evaluar su
comportamiento.
5.2.1. Selección de métodos a implementar
En la búsqueda del estado del arte en los usos de inteligencia artificial en el área de la afinación, se encontró
que entre los métodos implementados para la solución al problema de la afinación vocal la referencia [20]
hace uso de una CRNN (red neuronal convolucional recurrente). En la referencia [21] que también ataca el
problema de afinación vocal se utiliza una CNN (red convolucional). Cabe resaltar que de estas implemen-
taciones presentadas en el estado del arte aplicado a la afinación vocal, la que presento mejor desempeño
fue la [20].En adición, realizando búsquedas en el estado del arte de los métodos empleados en soluciones a
problemas relacionados con series de tiempo, se encontró que en [22], se hace uso del preceptron mult́ıcapa
(MLP) y las redes neuronales recurrentes (RNN), en [23] se mencionan los perceptrones multicapas (MLP)
y las redes recurrentes (RNN) y en [24] se utilizan las CNN y las RNN.
De igual forma, se implementará un método de ML (machine learning), en la búsqueda del estado del arte
se encontró que en [25] se usa la regresión lineal y SVR (Support vector regression), por otro lado en [26] se
menciona el uso de SVR. En la tabla 10 se presenta el resumen de los métodos encontrados:
Referencia Métodos
[20] CRNN(red neuronal recurrente convolucional)
[21] CNN(red neuronal convolucional)
[22] MLP(perceptrón multicapa)y RNN(red neuronal recurrente)
[23] MLP(perceptrón multicapa)y RNN(red neuronal recurrente)
[24] CNN(red neuronal convolucional)y RNN(red neuronal recurrente)
[25] Regresión linealy SVR(Support Vector Regression)
[26] SVR(Support Vector Regression)
Tabla 10: Tabla resumen de los métodos.
20
5.2.2. Teoŕıa de los métodos propuestos
Teniendo en cuenta lo encontrado en el estado del arte, se realizo la selección de tres métodos a implementar.
RNN (red neuronal recurrente): Una red neuronal recurrente (figura 26) es un tipo de red que se
encuentra ampliamente relacionada con los problemas en que se trabaja con datos secuenciales. Dichas
redes toman información de las entradas anteriores para influir los estados actuales. Es importante
tener en cuenta que dicha red comparte los mismos parámetros entre cada capa.
Las redes recurrentes hacen uso del algoritmo BPTT (repropagación a través del tiempo), de modo que
el modelo se entrena calculando los errores generados desde la capa de salida hasta la capa de entrada,
ajustando aśı los parámetros del modelo [27].
Figura 26: Estructura de red recurrente. Tomada de [27]
MLP (perceptrón multicapa): Un perceptrón multicapa (figura 27) es una estructura de red neuronal
utilizada en problemas que no son linealmente separables, en la que cada neurona de la red tiene una
función de activación no lineal [28].
El método de entrenamiento utilizado mayormente se conoce como backpropagation (propagación hacia
atrás), que se constituye de dos partes:
• La fase de avance en la que los pesos en la red son fijos y la señal de entrada es propagada a lo
largo de la red hasta la salida, por lo que los cambios que se pueden presentar están ligados a los
potenciales de activación y salidas de las neuronas.
• La fase de retorno se genera debido a una señal de error dada la diferencia entre la respuesta
esperada y la salida de la red, de forma que dicha señal de error se propaga alrededor de la red
pero en la dirección contraria trayendo consigo ajustes en los pesos.
Figura 27: estructura del perceptrón multicapa. Tomada de [28]
21
SVR (support vector regression): Una máquina de soporte vectorial (figura 28) para predicción de tipo
regresión es un algoritmo supervisado basado en una generalidad de la máquina de soporte vectorial
para clasificación, en el que se devuelve una salida de valor continuo. En dicho método, se inicia
con la generación del hiperplano con la tendencia de los datos, junto a dicho hiperplano se realiza
la construcción de una región de ε-insensibilidad alrededor de la función denominada ε-tube, lo que
se busca es encontrar una región que presente una mejor proximidad a la función a modo de que se
tenga la mayor cantidad del conjunto de entrenamiento generando un equilibrio entre la complejidad
del modelo y el error de la predicción. Es decir se busca optimizar a partir de la región planteada.
En conclusión, lo que se busca es generar el hiperplano que modele el comportamiento del sistema de
manera que se puedan predecir datos en un futuro [29].
Figura 28: Estructura de SVR. Tomada de [29]
5.2.3. Selección de métricas de evaluación
En la búsqueda del estado del arte de la inteligencia artificial en el área de la afinación propuesto en la etapa
de concepción, se encontró que en la referencia [20] la métrica utilizada para la evaluación del sistema de
inteligencia artificial implementado fue el MSE (error cuadrático medio), al igual que en la referencia [21].
Por otro lado, realizando búsquedas en el estado del arte de los métodos empleados en problemas de series
de tiempo, se encontró en [22] el uso del MAPE (error porcentual absoluto medio), en [24] se menciona el
MAE (error absoluto medio), el MAPE, el MSE y el R cuadrado (coeficiente de determinación). En [30],
se menciona la GMRAE (media geométrica del error relativo absoluto) y el MDRAE (error absoluto de la
media relativa), sumado a esto se encontró en [31] un conjunto de métricas comunes en problemas de series
de tiempo,como el R cuadrado, el error absoluto medio (MAE), el error absoluto mediano (MEDAE), el
error cuadrático medio (MSE) y el error porcentual absoluto medio (MAPE).
En la tabla 11 se presenta el resumen de las métricas encontradas:
Referencia MSE MAPE MAE R-cuadrado GMRAE MDRAE MEADE
[20] X
[21] X
[22] X
[24] X X X X
[30] X X
[31] X X X X X
Tabla 11: Tabla resumen de las métricas.
teniendo en cuenta las métricas encontradas en el estado del arte se definieron las siguientes para evaluar
22
nuestros métodos:
MSE: Métrica que calcula el error cuadrático medio entre la salida esperada y la salida predichas. Un
valor de MSE de cero, nos indica que el error es nulo, de manera que las predicciones han sido correctas
en su totalidad.
MSE =
1
N
×
N∑
i=1
(salidaesperadai − salidapredichai)2
donde N corresponde a la cantidad de muestras.
MAE: Métrica que calcula el error absoluto medio entre la salida esperada y la salida predicha. Un
valor de MAE de cero, nos indica que el error es nulo, de manera que las predicciones han sido correctas
en su totalidad.
MAE =
1
N
×
N∑
i=1
|salidaesperadai − salidapredichai|
donde N corresponde a la cantidad de muestras.
R cuadrado: Dicha métrica idealmente se encuentra entre cero y uno, donde un valor de cero nos indica
que el modelo no se ajusta y un valor de uno, nos representa un muy buen ajuste del modelo. Sin
embargo, en las implementaciones utilizadas, fue usado el R cuadrado de la libreria scikit learn, donde
dicho valor puede ser uno si el modelo se ajusta correctamente, cero, si el modelo predice sin tener en
cuenta la entrada y negativo dependiendo del desajuste del modelo.
salidaesperada =
1
N
N∑
i=1
salidaesperadai
sumatotalcuadrados =
N∑
i=1
(salidaesperadai − salidaesperada)2
sumatotalresiduos =
N∑
1
(salidaesperadai − salidapredichai)2
R2 = 1− sumatotalresiduos
sumatotalcuadrados
5.3. Hardware del sistema
Teniendo en cuenta la portabilidad de la solución y la interacción entre el usuario y el sistema, se realizo un
desarrollo hardware que permite al usuario interactuar de manera directa con la Raspberry. A continuación
se presentan los componentes que lo integran, su construcción y la selección de la tarjeta y micrófono para
la adquisición de muestras.
5.3.1. Esquemático de la PCB implementada
Para el desarrollo de la interfaz de usuario, se utilizó el software Altium Designer para el diseño del circuito
impreso utilizado como interfaz con el usuario. En la interfaz de usuario se cuenta con dos potenciómetro, un
ADC MCP3008, una LCD 16X2 y un header de 20x2. La función de los potenciómetros es emular la selección
de escalas, asignando a cada posición una de las escala de corrección con el fin de que el sistema tenga una
referencia para el ajuste y otro para seleccionar la cantidad de efecto que se aplicará a la voz, siendo estas
bajo, medio y alto, según la escala del plugin. En la figura 29 y 30 se presenta el circuito esquemático de
conexión de los potenciómetros.
23
R 10 K?
3.3 V
CH0 MCP3008
Figura 29: Esquemático potenciómetro canal cero.
R 10 K?
3.3 V
CH1 MCP3008
Figura 30: Esquemáticopotenciómetro canal uno.
Por otro lado se utilizó el ADC (MPC3008) con resolución de 10 bits, para realizar la conversión del voltaje
que se genera con el divisor del potenciómetro con el fin de que los pines GPIO de la SBC reciban la señal
mediante el protocolo SPI. En la tabla 12 se presentan las conexiones necesarias para la comunicación entre
el ADC y la Raspberry.
Pin MCP3008 Asignación Pin f́ısico RPI 3B+
AGND GND 9
DGND GND 9
CH0 salida del potenciómetro1 -
CH1 salida del potenciómetro2 -
Chip select GPIO5 29
VDD 3.3V 1
VREF 3.3V 1
DIN MOSI 19
DOUT MISO 21
CLOCK CLOCK 23
Tabla 12: Pines para conexión entre ADC y Raspberry.
De igual forma el header utilizado servirá a modo de conexión entre la PCB y la SBC, de manera que la PCB
se ubique sobre los pines de la SBC. Por último y a modo de retorno de información al usuario, la LCD que
24
funciona bajo el protocolo I2C, presenta mensajes según la información suministrada por los potenciómetros
y la interfaz de audio. En la tabla 13, se presenta la conexión entre la LCD y la Raspberry, aśı mismo en la
tabla 14,15 y 16 se presentan los posibles mensajes a presentar en la LCD.
Pin LCD Asignación Pin f́ısico RPI 3B+
VCC 5V 2
GND GND 9
SCL GPIO3(Clock) 5
SDA GPIO2(Data) 3
Tabla 13: Pines para conexión de LCD y Raspberry.
Voltaje de entrada Mensaje
0V-1.1V Poco
1.1V-2.2V Medio
2.2V-3.3V Mucho
Tabla 14: Potenciómetro cantidad de efecto.
Voltaje de entrada Mensaje
0V-0.47V Clave: Do
0.47-0.94V Clave: Re
0.94-1.41V Clave: Mi
1.41V-1.88V Clave: Fa
1.88V-2.35V Clave: Sol
2.35V-2.82V Clave: La
2.82V-3.3V Clave: Si
Tabla 15: Potenciómetro escala.
Tarjeta de adquisición Mensaje
Desconectada Conecte tarjeta y use el sistema
Conectada Revisión de tabla 14 y 15
Tabla 16: Detección de tarjeta de adquisición.
En la figura 31, se presenta el esquemático de la interfaz de usuario con las conexiones de los potenciómetros,
el ADC y la pantalla LCD con la Raspberry.
25
Figura 31: Esquemático interfaz de usuario.
5.3.2. PCB implementada
En la figura 32 se presenta el modelo de la PCB diseñada para la implementación de la interfaz con el usuario.
Figura 32: PCB interfaz de usuario.
En la figura 33, se presenta la PCB con los componentes de la interfaz incorporados.
26
Figura 33: PCB en f́ısico y con componentes soldados.
5.3.3. Selección de tarjeta y micrófono para etapa de adquisición
Para la selección de la tarjeta de adquisición y del micrófono, se realizó una búsqueda de los implementos
existentes en el centro Ático y en el laboratorio del departamento de Electrónica. En la tabla 17 se presentan
las interfaces de audio encontradas:
Interfaz de audio Caracteŕısticas
RME fireface 800 56 canales de grabación, FS=192KHz,SNR=118dBA
RME fireface UFX+ 94 canales de grabación,FS=192KHz, SRN=118dBA
Avid HD I/O 8x8x8 8 entradas y salidas analogicas,FS=192KHz
Avid HD 16x16 16 entradas y salidas analogicas,FS=192KHz
Avid MADI HD 64 canales de E/S, FS de hasta=192KHz, compatible con equipos MADI
Avid OMNI HD 4 entradas y 8 salidas analogicas, ancho banda 20Hz-20KHz, rango de ganancia 65dB
Mbox Pro 3ra generación 8 canales de R/S, FS=192KHz
Focusrite Saffire Pro 40 20 entradas y 20 salidas analogicas, ancho banda 20Hz-20KHz
Tabla 17: Interfaces de audio disponibles.
En la tabla 18 se presentan los micrófonos encontrados:
Micrófonos Tipo de micrófono Caracteŕısticas
ECM 8000 Micrófono de condensador para medición ultra lineal Ancho de banda= 15-20KHz sensibilidad= 3162mV/Pa
Crown PCC-160 Micrófono de capa limite profesional, de piso de escenario Ancho de banda= 50-18KHz sensibilidad 22mV/Pa nivel de ruido= 22dBA
Sennheiser ambeo VR mic Micrófono de grabación de audio espacial de 360° Ancho de banda= 20-20KHz sensibilidad 31mV/Pa nivel de ruido= 18dBA
Micrófono 3Dio Free space XLR Binaural Micrófono binaural de alta calidad Ancho de banda= 60-20KHz sensibilidad =39mV/Pa señal ruido=80 dB
Sennheiser me66 Micrófono de tubos de interferencia Ancho de banda=40-20KHz sensibilidad= 50mV/Pa nivel de ruido= 10dBA
ECM-957 pro Micrófono de condensador estereo Ancho de banda=50-18KHz sensibilidad=14,12mV/Pa señal a ruido=69dB
Mojave MA-300 Micrófono de condensador de tubo de diafragma Ancho de banda=20-20KHz sensibilidad=14,12mV/Pa señal a ruido=14dB
KM183 Micrófono de condensador omnidireccional Ancho de banda=20-20KHz sensibilidad=12mV/Pa señal a ruido=81dB
KM184 Micrófono de condensador omnidireccional Ancho de banda=20-20KHz sensibilidad=15mV/Pa señal a ruido=81dB
U 87 AI Micrófono de estudio, de condensador de diafragma grande Ancho de banda=20-20KHz sensibilidad=28mV/Pa señal a ruido=82dB
RODE NT3 Micrófono de condensador cardoide de 3/4 ” Ancho de banda=20-20KHz sensibilidad=11,22mV/Pa nivel de ruido=16dBA
RODE NT5 Micrófono de condensador cardoide de 1/2 ” Ancho de banda=20-20KHz sensibilidad=12.58mV/Pa nivel de ruido=16dBA
C-38B Micrófono de condensador de diafragma grande Ancho de banda=18-18KHz sensibilidad=3.98mV/Pa señal a ruido=70dB
C414 XLS Micrófono de condensador de diafragma grande Ancho de banda=20-20KHz sensibilidad=23mV/Pa señal a ruido=88dB
C4500 B-BC Micrófono de condensador de diafragma grande Ancho de banda=20-20KHz sensibilidad=25mV/Pa nivel de ruido=8dBA
AT2020 Micrófono de condensador cardioide de diafragma pequeño Ancho de banda=20-20KHz sensibilidad=14.12mV/Pa señal a ruido=74dB
DPA 4006-TL Micrófono de condensador omnidireccional Ancho de banda=15-20KHz sensibilidad=35mV/Pa nivel de ruido=15dBA
M-AUDIO sputnik Micrófono de condensador de tubo vaćıo de diafragma grande Ancho de banda=20-20KHz sensibilidad=30mV/Pa nivel de ruido=18dBA
M-AUDIO pulsar II Par de microfonos de condensador de diafragma pequeño Ancho de banda=20-20KHz sensibilidad=13.8mV/Pa nivel de ruido=15dBA
M-AUDIO luna II Micrófono de condensador cardoide Ancho de banda=20-20KHz sensibilidad=16mV/Pa nivel de ruido=14dBA
M-AUDIO Aries Micrófono de condensador cardoide Ancho de banda=20-20KHz sensibilidad=13.8mV/Pa nivel de ruido=17dBA
Tabla 18: Micrófonos disponibles.
Teniendo en cuenta las limitaciones de acceso a los recursos de la universidad, lo que se complementa con que
el sistema propuesto está pensado para ser usado en ambientes diferentes a los de producción y grabación
de estudio. Al igual que los costos del sistema, dado que se desea desarrollar un sistema económico.
Aśı mismo, cumpliendo con los requerimientos de la aplicación, es decir una frecuencia de muestreo de
44.100Hz, una conexión USB por parte de la tarjeta de audio y una conexión XLR por parte del micrófono.
E incluyendo a demás el hecho que los micrófonos de condensador presentan una alta sensitividad, razón por
la cual en ambientes de sonido en vivo no son utilizados. Se plantea el uso de los siguientes componentes a
27
manera de tener una buena calidad de sonido y cumplimiento de las caracteŕısticas consideradas necesarias
teniendo en cuenta el espacio en que se desarrollará la solución:
Behringer UM2
Caracteŕısticas
Entrada para grabación de microfonos e instrumentos
Puerto USB para conexión y alimentación
Frecuencia de muestro de hasta 48KHz
Preamplificación Xenyx
Conexión USB version 2.0
Respuesta en frecuencia 10Hz-30KHz
Phantom power 48V
Tabla 19: Interfaz USB Behringer UM2.
Micrófono Behringer XM1800S
Caracteŕısticas
Tipo de micrófono: Dinámico
Dirección: Súper cardiódico
Respuesta de frecuencia:: 80Hz-15KHz
Sensibilidad: 2.5mV/Pa
Conector: XLR
Al ser dinámico resulta útil para aplicaciones en vivo
Tabla 20: Micrófono Behringer XM 1800s.
5.4. Implementación métodos de IA
Se presentan las arquitecturas implementaciones de cada uno de los métodos definidos (perceptrón multicapa,
RNN y SVR) al igual que el preprocesamiento utilizado para el ingreso de los datos a los modelos. Presentando
aśı cinco arquitecturas para perceptrón multicapa, tres para SVR y una para RNN. Dichas arquitecturas
fueron implementadas con la finalidad de contrastarlos datos obtenidos a partir de sus métricas y realizar
la escogencia del modelo de mejor comportamiento.
Es importante tener en cuenta que de los cinco audios con los que se cuenta para cada una de las escalas, se
utilizaron cuatro para el proceso de entrenamiento realizando una repartición de 80 % para entrenamiento,
un 20 % para pruebas y el quinto audio para validación. Del mismo modo cabe destacar que las arquitecturas
presentadas a continuación (tabla 21, 22 y estructura de la RNN) fueron implementadas sobre la escala de
A (La), con el fin de realizar la selección de la arquitectura de mejor desempeño basado en los resultados
presentados (tabla 23 hasta la 34) y posterior a esto, expandirse a las demás escalas, como se ve desde la
tabla 35 hasta la 41.
5.4.1. Arquitecturas implementadas
Las arquitecturas implementadas para el perceptrón multicapa se presentan en la tabla 21:
Ventana Fs Sobrelape Dropout Batch normalization Caracteŕısticas para entrenamiento
46.43ms (2048 muestras) 44100 50 % inicio de la red entre cada capa de la red muestras de voz
46.43ms (2048 muestras) 44100 50 % en la mitad de la red al inicio de la red muestras de voz
92.87ms (4096 muestras) 44100 50 % en la mitad de la red al inicio de la red muestras de voz
46.43ms (2048 muestras) 44100 75 % en la mitad de la red al inicio de la red muestras de voz
46.43ms (2048 muestras) 44100 50 % en la mitad de la red al inicio de la red muestras de voz, señal seno de frecuencia la fundamental del ventaneo
Tabla 21: Tabla de arquitecturas implementadas para el perceptron multicapa.
Las arquitecturas implementadas para el SVR se presentan en la tabla 22:
28
Ventana Fs Sobrelape Caracteŕısticas para entrenamiento
46.43ms (2048 muestras) 44100 99.95 % coeficientes de mel, frecuencia fundamental y un valor de la cantidad de efecto
46.43ms (2048 muestras) 44100 99.95 % salidas del audio y valor de cantidad de efecto
46.43ms (2048 muestras) 44100 99.95 % coeficientes de mel, frecuencia fundamental, valor de la cantidad de efecto y salidas del audio
Tabla 22: Tabla de arquitecturas implementadas para el SVR.
Las arquitectura implementada para la RNN, es una arquitectura h́ıbrida con recurrencia en la capa de
entrada. Los datos corresponden a una ventana de tiempo de 46.43ms (2048 muestras) a una Fs de 44100
con sobrelape de 50 %, una capa de dropout en la mitad de la red y un proceso de normalización (batch
normalization) al inicio.
5.4.2. Preprocesamiento perceptrón multicapa primera implementación
Carga de audios
Creación de 
arreglos según la 
cantidad de 
efecto
Creacción de 
ventana de 
tiempo
Unión de los 
dataframes para 
entrenamiento y 
prueba
Partición de cada 
conjunto de datos 
para 
entrenamiento y 
prueba
Figura 34: Esquema de preprocesamiento perceptrón multicapa primera implementación.
Carga de audios: Se realiza la carga de los 20 audios correspondientes a los audios normales, los audios con
poco efecto, los audios con efecto medio y los audios con mucho efecto, presentándonos como retorno los
valores del audio y la frecuencia de muestreo del mismo.
Creación de arreglos según la cantidad de efecto: Una vez se cuenta con todos los audios cargados, se procede
a unirlos a modo de contar con un gran arreglo en cada uno de los grupos (normales, poco efecto, medio
efecto y mucho efecto). Contando al final con 4 arreglos que contienen la información necesaria.
Creación de ventanas de tiempo: Se realiza la creación de las ventanas temporales, para cada arreglo indepen-
dientemente. Generando secuencias de 2048 muestras, conservando un sobrelape de 1024 muestras (50 %) de
los datos en cada secuencia. Cuando se cuenta con la lista de las secuencias creadas, se procede a convertirla
en arreglo para poder trabajar con dichos datos y se realiza un cambio en la forma del arreglo para pasarlo
a dos dimensiones.
Partición de cada conjunto de datos para entrenamiento y prueba: Una vez se cuenta con las secuencias para
cada uno de los cuatro arreglos, se realiza la separación de los datos a forma de que el 80 % (12308 secuen-
cias) de las secuencias de cada arreglo contribuyan al entrenamiento del sistema, y el 20 % (3077 secuencias)
restante forme parte de la evaluación. Teniendo aśı cuatro arreglos para entrenamiento y cuatro arreglos
para la prueba.
Unión de los dataframes para entrenamiento y evaluación: Se realiza la unión de los dataframes de entrada
para entrenamiento, los dataframes de salida para entrenamiento, los dataframes de entrada para evaluación
y los dataframes de salida para evaluación gracias a la herramienta concat de la libreŕıa pandas, de manera
que el sistema cuente con datos de todas las cantidades posibles para realizar su entrenamiento y evaluación.
5.4.3. Preprocesamiento perceptrón multicapa segunda implementación
Se realiza el mismo preprocesamiento de la primera implementación.
5.4.4. Preprocesamiento perceptrón multicapa tercera implementación
Su diferencia con la primera implementación se encuentra en los siguientes bloques:
Creación de ventanas de tiempo: Se realiza la creación de las ventanas temporales, para cada arreglo indepen-
dientemente. Generando secuencias de 4096 muestras, conservando un sobrelape de 2048 muestras (50 %) de
29
los datos en cada secuencia. Cuando se cuenta con la lista de las secuencias creadas, se procede a convertirla
en arreglo para poder trabajar con dichos datos y se realiza un cambio en la forma del arreglo para pasarlo
a dos dimensiones.
Partición de cada conjunto de datos para entrenamiento y evaluación: Una vez se cuenta con las secuencias
para cada uno de los cuatro arreglos, se realiza la separación de los datos a forma de que el 80 % (6153
secuencias) de las secuencias de cada arreglo contribuyan al entrenamiento del sistema, y el 20 % (1539
secuencias) restante forme parte del evaluación. Teniendo aśı cuatro arreglos para entrenamiento y cuatro
arreglos para la evaluación.
5.4.5. Preprocesamiento perceptrón multicapa cuarta implementación
Su diferencia con el preprocesamiento de la primera implementación se encuentra en los siguientes bloques:
Creación de ventanas de tiempo: Se realiza la creación de las ventanas temporales, para cada arreglo inde-
pendientemente. Esto gracias al uso de la herramienta de keras preprocessing timeseries dataset from array,
generando secuencias de 2048 muestras, conservando un sobrelape de 1536 muestras (75 %) de los datos en
cada secuencia. Cuando se cuenta con la lista de las secuencias creadas, se procede a convertirla en arreglo
para poder trabajar con dichos datos y se realiza un cambio en el ”shape”del arreglo para pasarlo a dos
dimensiones.
Partición de cada conjunto de datos para entrenamiento y evaluación: Una vez se cuenta con las secuencias
para cada uno de los cuatro arreglos, se realiza la separación de los datos a forma de que el 80 % (24616
secuencias) de las secuencias de cada arreglo contribuyan al entrenamiento del sistema, y el 20 % (6154
secuencias) restante forme parte del evaluación. Teniendo aśı cuatro arreglos para entrenamiento y cuatro
arreglos para el evaluación.
5.4.6. Preprocesamiento perceptrón multicapa quinta implementación
Extracción y construcción de señal seno: Se realiza la extracción de la frecuencia fundamentar de cada una
de las ventanas y se construye una señal seno que tiene como frecuencia la frecuencia fundamental de las
ventanas y un muestreo a cada 44.100Hz.
5.4.7. Preprocesamiento SVR caracteŕısticas
Carga de audios
Creación de 
arreglos según la 
cantidad de 
efecto
Creacción de 
ventana de 
tiempo
Extracción de 
característica
Aplicación de 
PCA
Regeneración de 
los datasets
Figura 35: Esquema de preprocesamiento para la SVR caracteŕısticas.
Carga de audios: Se realiza la carga de 4 audio (debido a que se encuentra limitada la carga de todos los
audios debido a la disposición de la RAM, pues en la SVR el sobrelape es de 2047 muestras de 2048 por
ventana) correspondientes a losaudios normales, los audios con poco efecto, los audios con efecto medio y
los audios mucho, gracias al uso de la libreŕıa librosa, presentándonos como retorno los valores del audio y
la frecuencia de muestreo.
Creación de arreglos según la cantidad de efecto: Una vez se cuenta con todos los audios cargados, se procede
a unirlos a modo de contar con un gran arreglo en cada uno de los grupos (normales, poco efecto, medio
efecto y mucho efecto). Esto gracias al uso de la herramienta concatenate, contando al final con 4 arreglos
que contienen la información necesaria.
Creación de ventanas de tiempo: Se realiza la creación de las ventanas temporales, para cada arreglo indepen-
dientemente. Generando secuencias de 2048 muestras, conservando un sobrelape del 99.95 % (2047 muestras)
30
de los datos en cada secuencia. Cuando se cuenta con las listas de las secuencias creadas, se procede a con-
vertirlas en arreglos para poder trabajar con dichos datos y se realiza un cambio en el ”shape”de los arreglos
para pasarlo a dos dimensiones.
Extracción de caracteŕısticas: Una vez se cuenta con las ventanas, se procede a realizar la extracción de
las caracteŕısticas del audio. Para esta implementación, dichas caracteŕısticas son los coeficientes ceptrales
de MEL y la frecuencia fundamental (caracteŕısticas usadas en los referentes principales encontrados en el
estado del arte). Dichas caracteŕısticas son introducidas en listas y posteriormente convertidas a arreglos y
realizado el cambio en la forma del arreglo, se obtiene un arreglo de dos dimensiones.
Aplicación de PCA (Análisis de componentes principales): Una vez se tienen los dataframes, se procede
a hacer la reducción de componentes mediante el uso de PCA, buscando conservar la menor cantidad de
caracteŕısticas que nos permita tener una buena varianza.
Regeneración de los datasets: Una vez se aplico el PCA, se procede a restaurar los datasets, con las nuevas
componentes generadas teniendo aśı una reducción dimensional de las caracteŕısticas.
5.4.8. Preprocesamiento SVR con audios
Su diferencia con la implementación de la SVR caracteŕısticas se encuentra en el siguiente bloque:
Extracción de caracteŕısticas: Una vez se cuenta con las ventanas, estas mismas son usadas como caracteŕısti-
cas para el entrenamiento de la máquina.
5.4.9. Preprocesamiento SVR con todo
Su diferencia con la implementación de la SVR caracteŕısticas se encuentra en el siguiente bloque:
Extracción de caracteŕısticas: Una vez se cuenta con las ventanas, se usan esas mismas ventanas de audio como
caracteŕısticas y se procede a realizar la extracción de las caracteŕısticas del audio que son los coeficientes
ceptrales de MEL y la frecuencia fundamental (caracteŕısticas usadas en los referentes principales encontrados
en el estado del arte). De manera que para el entrenamiento de la máquina se utilizan los coeficientes de
MEL, la frecuencia fundamental y las ventanas de los audios.
5.5. Estructura plástica externa del sistema hardware
A modo de brindar protección y soporte al sistema y teniendo en cuenta su portabilidad y disposición para
ser usado en cualquier ambiente, se realizo el diseño y la implementación de una caja mediante la herramienta
Solidworks. En la figura 36 y 37 que se encuentran a continuación, se presenta el diseño.
Figura 36: Diseño de tapa de la caja.
31
Figura 37: diseño de base de la caja.
6. Resultados de validación cuantitativa del sistema
Como parte del procedimiento de pruebas del sistema se encuentran las pruebas de funcionamiento de
hardware del y los métodos de inteligencia artificial implementados junto con su evaluación a través de las
métricas escogidas. Por parte del funcionamiento del hardware se presenta el control de la LCD a partir
de la escala y cantidad de efecto, la adquisición de muestras de voz, la extracción de caracteŕısticas y
exteriorización del audio y el multiproceso con el fin de unificar los procesos mencionados anteriormente.
Aśı mismo se presenta el proceso de métodos y métricas, donde se presentan los resultados obtenidos tras
implementar los métodos y realizar su evaluación, en adición se realiza la selección de las implementaciones
a aplicar sobre cada escala basado en los resultados de las métricas.
6.1. Hardware
Como entradas al sistema se encuentran los dos potenciómetros con el propósito de que el usuario pueda
introducir al sistema información de la cantidad de efecto y escala a la cual se desea realizar la corrección de
afinación y el micrófono que nos permite la adquisición de las muestras. Como salidas del sistema se cuenta
con una pantalla LCD a modo de retorno de la información presentada por el usuario (cantidad de efecto y
escala) y un parlante para exteriorizar el audio tras el proceso de afinación. La disposición del hardware se
presenta en la figura 38:
32
Figura 38: Hardware del sistema Ajuste de voz inteligente.
6.1.1. Control de pantalla LCD para escala y cantidad de efecto
Para el procedimiento de control de la pantalla LCD (figura 39) se realiza una verificación de si la tarjeta
de sonido se encuentra conectada, de manera que en caso de no estar conectada se presente el mensaje de
”conecte tarjeta y use el sistema”. En caso de contar con la tarjeta conectada, se procede a preguntar por
los voltajes entregados por cada uno de los potenciómetros, para presentar en la LCD información acerca de
la cantidad de efecto y la escala a la que se desea afinar. En la figura 39 se presenta el diagrama de flujo de
funcionamiento para una de las escalas.
Figura 39: Control de pantalla LCD para escala y cantidad de efecto.
Link para ver el funcionamiento del control de la LCD:
33
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_
co/EbBO2Sbe_GpFkSnkG0B03fcBZdFMrMp_QbA_lEk0KqaklQ?e=MiFFqd
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_
co/EQago7wAHJhFrmB6rxwxOfkBWabTWgUHWE9X7ZLR9Q_tlQ?e=5MJ5Zb
6.1.2. Adquisición
Para el proceso de adquisición (figura 40), se realiza la verificación de si la tarjeta de audio se encuentra
conectada, en caso de estar conectada se genera el formato del archivo y la duración del mismo y se realiza el
proceso de grabado, durante un segundo, con una frecuencia de muestreo de 44.100Hz y datos de tipo flotante
de 32 bits. En la figura 40 se presenta el diagrama de flujo de funcionamiento del proceso de adquisición de
muestras.
Figura 40: Adquisición de muestras.
Link para ver el funcionamiento de la adquisición:
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_
co/EeXD4_QK_n1LoVWQTs7sIJ4BY88qk9fzjLNuXmjkxqx_ew?e=8uNXQQ
6.1.3. Extracción y exteriorización del audio
Para la extracción de caracteŕısticas y la exteriorización del audio (figura 41), el proceso que se realiza es el
listado y ordenamiento de los archivos de audio y se establece un bucle para el recorrido a lo largo de los
datos, de forma que se selecciona el audio a usar, se extraen las caracteŕısticas de interés, en este caso las
salidas del audio y la frecuencia de muestreo, una vez extráıdas, se realiza la reproducción del audio y se
elimina de la carpeta dicho audio. En la figura 41 se presenta el diagrama de flujo del funcionamiento del
proceso de extracción de caracteŕısticas y exteriorización del audio.
34
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EbBO2Sbe_GpFkSnkG0B03fcBZdFMrMp_QbA_lEk0KqaklQ?e=MiFFqd
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EbBO2Sbe_GpFkSnkG0B03fcBZdFMrMp_QbA_lEk0KqaklQ?e=MiFFqd
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EQago7wAHJhFrmB6rxwxOfkBWabTWgUHWE9X7ZLR9Q_tlQ?e=5MJ5Zb
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EQago7wAHJhFrmB6rxwxOfkBWabTWgUHWE9X7ZLR9Q_tlQ?e=5MJ5Zb
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EeXD4_QK_n1LoVWQTs7sIJ4BY88qk9fzjLNuXmjkxqx_ew?e=8uNXQQhttps://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EeXD4_QK_n1LoVWQTs7sIJ4BY88qk9fzjLNuXmjkxqx_ew?e=8uNXQQ
Figura 41: Extracción y exteriorización del audio.
Link de funcionamiento para extracción de caracteŕısticas y la exteriorización del audio:
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_
co/EduLyC72HOZOkPnBg9qYn4ABetRNabLz9aog46mJ04iVHQ?e=f5tsW8
6.1.4. Procesos en paralelo
Dado a que el sistema requiere que los procesos anteriormente mencionados se realicen en paralelo, se requiere
del uso de un multiproceso, basado en el uso de dos procesos (figura 42), el de información usuario y el de
adquisición muestras, de forma que se pueda realizar el control de la LCD con los potenciómetros y la
adquisición de muestras al tiempo.
Figura 42: Procesos en paralelo del sistema.
6.2. Métodos y métricas
Para la implementación de los métodos seleccionados, se cuenta con cinco canciones por cada una de las
escalas, de las cuatro hacen parte del entrenamiento, siendo un 80 % para el entrenamiento y el 20 % restante
35
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EduLyC72HOZOkPnBg9qYn4ABetRNabLz9aog46mJ04iVHQ?e=f5tsW8
https://livejaverianaedu-my.sharepoint.com/:v:/g/personal/gaona_nicolas_javeriana_edu_co/EduLyC72HOZOkPnBg9qYn4ABetRNabLz9aog46mJ04iVHQ?e=f5tsW8
para la evaluación. De igual forma una última canción utilizada para validación. Las arquitecturas utilizadas
para el perceptrón multicapa fueron las siguientes:
Ventana 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 50 % dropout inicio de la red y batch norma-
lization entre cada capa.
Primera implementación: capas ocultas 2-2-2-2
R2 MSE MAE
-0.0006803889039649769 0.000699856 0.015775323
Tabla 23: Primera implementación para perceptron multicapa.
Ventana 46.43ms (2048 muestras), Fs = 44100 Hz, sobrelape= 50 % dropout en la mitad y batch normaliza-
tion al inicio.
Segunda implementación: capas ocultas 2000-500-2000
R2 MSE MAE
-7.927664018210484e-05 0.000699565 0.015732171
Tabla 24: Segunda implementación para perceptron multicapa.
Ventana 92.87ms (4096 muestras), Fs= 44100 Hz, sobrelape= 50 % dropout en la mitad y batch normalization
al inicio.
Tercera implementación: capas ocultas 2-2-2-2
R2 MSE MAE
-0.0002539460342831152 0.000699199357 0.015730074
Tabla 25: Tercera implementación para perceptron multicapa.
Ventana 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 75 % dropout en la mitad y batch normalization
al inicio.
Cuarta implementación: capas ocultas 2000-500-2000
R2 MSE MAE
-7.96647695346643e-05 0.000699675 0.015735108
Tabla 26: Cuarta implementación para perceptron multicapa.
Ventana 46.43ms (2048 muestras), Fs = 44100, sobrelape= 50 % dropout en la mitad y batch normalization
al inicio, con señal seno de frecuencia fundamental la fundamental del ventaneo.
Quinta implementación: capas ocultas 2000-500-2000
R2 MSE MAE
-7.970975089850296e-05 0.00069956534 0.015731962
Tabla 27: Quinta implementación para perceptron multicapa.
Las arquitecturas utilizadas para la support vector regression se presentan a continuación:
Ventana de 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 99.95 %, barrido paramétrico en el coeficien-
te de regularización y kernel y caracteŕısticas la salidas del audio y valor de cantidad de efecto. Presentando
los resultados encontrados en las tablas 28 y 29:
R2 MSE MAE
-0.12146390796640527 0.0006336608834041592 0.019257145669447542
Tabla 28: Primera implementación para SVR con barrido en kernel sin el polinómico.
36
R2 MSE MAE
-0.12146390796640527 0.0006336608834041592 0.019257145669447542
Tabla 29: Primera implementación para SVR sin barrido en kernel polinómico.
Ventana de 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 99.95 %, barrido paramétrico en el coeficiente
de regularización y kernel y caracteŕısticas (los coeficientes de mel, la frecuencia fundamental de las mismas
y un valor de la cantidad de efecto). Presentando los resultados encontrados en las tablas 30 y 31:
R2 MSE MAE
-13694339523428200 68100000000 0.008251948385881855
Tabla 30: Segunda implementación para SVR con barrido en kernel sin el polinómico.
R2 MSE MAE
-13694339523428200 68100000000 0.008251948385881855
Tabla 31: Segunda implementación para SVR sin barrido en kernel polinómico.
Ventana de 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 99.95 %, barrido paramétrico en el coeficiente
de regularización y kernel y caracteŕısticas (los coeficientes de mel, la frecuencia fundamental de las mismas
y un valor de la cantidad de efecto) junto con las salidas del audio. Presentando los resultados encontrados
en las tablas 32 y 33:
R2 MSE MAE
-0.05092981479647474 0.0007525214300918625 0.021169529558413377
Tabla 32: Tercera implementación para SVR con barrido en kernel polinómico.
R2 MSE MAE
-0.05092981479647474 0.0007525214300918625 0.021169529558413377
Tabla 33: Tercera implementación para SVR sin barrido en kernel polinómico.
La arquitectura utilizada para la RNN fue una arquitectura h́ıbrida con recurrencia al inicio, ventana de
46.43ms (2048 muestras) a una Fs de 44100 Hz con sobrelape de 50 % dropout en la mitad y batch norma-
lization al inicio con capas ocultas 10-2-2-10. Presentando los resultados encontrados en la tabla 34:
R2 MSE MAE
-7.968722507400696e-5 0.0006995654 0.015731452
Tabla 34: Implementación para RNN.
6.2.1. Arquitectura a implementar
Perceptrón multicapa con ventana 46.43ms (2048 muestras), Fs= 44100 Hz, sobrelape= 50 %, dropout en la
mitad y batch normalization al inicio.
Para la escala de C el mejor resultado presentado fue con una arquitectura con capas ocultas de 2000-500-
2000 neuronas, obteniendo como resultados lo presentado en la tabla 35:
R2 MSE MAE
-0.0001341366773827472 0.0024632893 0.030418107
Tabla 35: Métricas del modelo escogido para escala C.
37
Para la escala de D el mejor resultado presentado fue con una arquitectura con capas ocultas de 2000-500-
2000 neuronas, obteniendo como resultados lo presentado en la tabla 36:
R2 MSE MAE
-0.00010794962734016986 0.00052525604 0.010984857
Tabla 36: Métricas del modelo escogido para escala D.
Para la escala de E el mejor resultado presentado fue con una arquitectura con capas ocultas de 1000-500-
1000 neuronas, obteniendo como resultados lo presentado en la tabla 37:
R2 MSE MAE
-0.00011453927649460568 0.0013204396 0.019378258
Tabla 37: Métricas del modelo escogido para escala E.
Para la escala de F el mejor resultado presentado fue con una arquitectura con capas ocultas de 2000-50-50-
2000 neuronas, obteniendo como resultados lo presentado en la tabla 38:
R2 MSE MAE
-7.898429814870249e-05 0.003081317 0.031029321
Tabla 38: Métricas del modelo escogido para escala F.
Para la escala de G el mejor resultado presentado fue con una arquitectura con capas ocultas de 2000-500-
2000 neuronas, obteniendo como resultados lo presentado en la tabla 39:
R2 MSE MAE
-9.533786802164905e-05 0.0002817792 0.00849021
Tabla 39: Métricas del modelo escogido para escala G.
Para la escala de A el mejor resultado presentado fue con una arquitectura con capas ocultas de 2000-500-
2000 neuronas, obteniendo como resultados lo presentado en la tabla 40:
R2 MSE MAE
-7.927664018210484e-05 0.000699565 0.015732171
Tabla 40: Métricas del modelo escogido para escala A.
Para la escala de B el mejor resultado presentado fue con una arquitectura con capas ocultas de 1000-100-
10-10-100-1000 neuronas, obteniendo como resultados lo presentado en la tabla 41:
R2 MSE MAE
-6.264146258903061e-05 0.0032150385 0.031482175
Tabla 41: Métricas del modelo escogido para escala B.
38
6.3. Análisis de los resultados de validación cuantitativa del sistema
Basados en los resultados obtenidos durante la evaluación del sistema, se evidencia que los modelos propuestos
no lograron tener un buen desempeño en el proceso de afinación, pues las métricas dan a conocer quelos
modelos no se ajustan de manera correcta, partiendo de que para obtener un buen resultado en la métrica
del R2 debeŕıa estar cercano a uno y en el MAE y MSE debeŕıan estar cercanos a cero. Por parte de
las implementaciones realizadas para la SVR, se encontró que la tercera implementación presento el mejor
desempeño, como se muestra en los resultados presentados en la tabla 32 y 33, en el perceptrón multicapa,
el mejor desempeño resulto en la segunda implementación como se presenta en la tabla 24. Aśı mismo, para
la RNN, se presentaron los resultados presentados en la tabla 34.
Comparando los resultados de las mejores implementaciones de cada método, se encontró que el mejor
desempeño se dio por parte del perceptron multicapa. Por lo cual, los modelos seleccionados se basan en la
segúnda implementación, generando los resultados desde la tabla 35 hasta la 41, de las cuales se evidencia
que si bien los resultados del MAE y MSE se encuentran cercanos a cero, el valor de R2 arroja un resultado
negativo en todos los casos, reflejando un gran desajuste entre los valores predichos y esperados. Sin embargo,
de los métodos implementados, se encuentra que el de mejor desempeño para la solución fue el perceptron
multicapa, presentando mejores resultados en la evaluación a partir de las métricas.
En cuanto al hardware del sistema, se encontró un correcto funcionamiento del control de la LCD a través
de los cambios de voltaje generados por parte de los potenciómetros, presentado de manera correcta los
mensajes en cada uno de los respectivos casos, al igual que al realizar la desconexión de la tarjeta de
sonido. Con respecto al proceso de adquisición, se observa la creación de los archivos .wav que contienen las
muestras del usuario. Por otra parte, en la extracción y exteriorización del audio, se muestra los valores que
definen cada audio y la frecuencia de muestreo de cada uno de los archivos, al igual que mediante el uso del
parlante se extraen los audios. Respecto al multiproceso, se encuentra el adecuado funcionamiento del mismo,
permitiendo la adquisición y control de la LCD de manera paralela. No obstante, es importante destacar que
el proceso presenta un bache de un segundo aproximadamente entre cada una de las adquisiciones, pues se
requiere la creación y el acceso a los archivos .wav en cada uno de los accesos, lo que hace que se presenten
las discontinuidades, dificultando la fluidez del sistema.
7. Validación cualitativa del sistema
Teniendo en cuenta que el proyecto esta destinado al área de la música y con el fin de complementar la
evaluación cuantitativa basada en las métricas de desempeño de los modelos, se diseño un formulario con el fin
de dar una validez por parte de expertos del área de la ingenieŕıa de sonido que busca recolectar información
general del sistema como su apariencia, calidad de sonido, posibles mejoras, entre otras e información más
enfocada al funcionamiento de los ajustes a las escalas y cantidades de efecto de afinación del sistema.
Las preguntas presentadas en el formulario se presentan a continuación (figura 43 hasta 60):
Figura 43: Descripción de Ajuste de voz inteligente.
39
Figura 44: Información general del encuestado.
Figura 45: Primera pregunta sistema A.V.I.
Figura 46: Segunda pregunta sistema A.V.I.
40
Figura 47: Tercera pregunta sistema A.V.I.
Figura 48: Cuarta pregunta sistema A.V.I.
Figura 49: Mejoras al sistema.
Figura 50: Sección de preguntas espećıficas.
41
Figura 51: Primera pregunta espećıfica.
Figura 52: Segunda pregunta espećıfica.
Figura 53: Tercera pregunta espećıfica.
42
Figura 54: Cuarta pregunta espećıfica.
Figura 55: Quinta pregunta espećıfica.
Figura 56: Sexta pregunta espećıfica.
43
Figura 57: Séptima pregunta espećıfica.
Figura 58: Octava pregunta espećıfica.
Figura 59: Novena pregunta espećıfica.
44
Figura 60: Décima pregunta espećıfica.
Link de ingreso al formulario:
https://docs.google.com/forms/d/e/1FAIpQLSf8NMno7-o-zD3fejz7MqlduuRCATULwzFXAOpByUdc25y9JQ/
viewform?usp=sf_link
8. Conclusiones
Partiendo de los resultados obtenidos y el proceso del sistema, se establecen las siguientes conclusiones:
Se evidencio que las caracteŕısticas utilizadas durante el proyecto no resultaron suficientes para dar solución
de manera acertada al problema de la afinación vocal, pues los resultados arrojados por las métricas de
evaluación del sistema muestran que los modelos no se ajustaron correctamente y que se alejaron los valores
deseados (R2 de uno, MSE y MAE cercanos e idealmente cero).
Asimismo, es importante rescatar que en sistemas como este, donde el proceso arroja como salida una variable
de un ámbito tan especifico como el de la música, resulta útil tener una validación de tipo cualitativa, basada
en la percepción auditiva de la salida, al igual que estar apoyado en la forma de onda generada en la salida,
debido a que si se hace una revisión de los resultados obtenidos exclusivamente con las métricas de MSE y
MAE, los sistemas presentan un error casi nulo en su predicción (debido a que en el MSE y MAE, tienden
al mejor resultado posible, es decir, cero), cosa que no coincide con el audio de salida pues los modelos no
están ajustados a la solución de la afinación vocal.
Por otro lado, la afinación vocal mediante el uso de técnicas de inteligencia artificial no es un área de gran
exploración por parte de la comunidad cient́ıfica y al d́ıa de hoy se cuenta con unas pocas implementaciones
exitosas de la misma, como se presenta en [20] y [21]. No obstante de las técnicas utilizadas, la que presento
mejor desempeño fue el perceptron multicapa en su segunda implementación, cuyos resultados se presentan
en la tabla 24.
En cuanto al funcionamiento hardware del sistema se comprobó el funcionamiento adecuado de los procesos
de control de la LCD, la adquisición, extracción de caracteŕısticas y exteriorización de los audios, como se
puede comprobar con los v́ıdeos expuestos durante las secciones 6.1.1, 6.1.2, 6.1.3. Cabe destacar que para
tener un funcionamiento correcto entre la interfaz y la ejecución interna del proceso de afinación, resulta
indispensable el uso de procesos paralelos o multiproceso 6.1.4, pues de otra manera no se podŕıa realizar al
tiempo el control de la LCD y la adquisición de muestras.
9. Recomendaciones futuras
Resulta importante tener en cuenta un dispositivo especializado para procesamiento de audio, de forma
que el sistema pueda tener un desempeño continuo sin que se presenten las discontinuidades entre las
muestras de cada segundo, pues como se mencionó en la sección del análisis de resultados, realizando
45
https://docs.google.com/forms/d/e/1FAIpQLSf8NMno7-o-zD3fejz7MqlduuRCATULwzFXAOpByUdc25y9JQ/viewform?usp=sf_link
https://docs.google.com/forms/d/e/1FAIpQLSf8NMno7-o-zD3fejz7MqlduuRCATULwzFXAOpByUdc25y9JQ/viewform?usp=sf_link
el proceso mediante el acceso a cada archivo se generan espacios de un segundo aproximadamente, lo
cual teniendo en cuenta que el sistema es pensado a usarse en vivo no resulta eficiente.
Evaluar modelos como la CNN y la CRNN usados en las implementaciones exitosas de [20] y [21] y que
caracteŕısticas de audio resultaŕıan de interés para que el sistema cuente con información que permita
una mejoŕıa respecto a los resultados presentados por las métricas.
En cuanto a los recursos computacionales para el procedimiento de entrenamiento de los sistemas, es
necesario contar con un espacio en RAM superior al ofertado por Google Collaborate, para la generación
del ventaneo de los datos, por lo cual emplear servidores dedicados para la tarea es ideal, por ejemplo
el servidor Cratos en el departamento de Electrónica.
10. Dificultades encontradas
Entre las dificultades encontradas a lo largo de la ejecución del proyecto se recopilan las siguientes:
Obtención de las muestras con autotune, debido a que el software se encontraba disponible en el centro
Ático,

Continuar navegando