Texto completo
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) |
| Título: | Modelo de red neuronal convolucional para la generación de música "Lo-Fi" |
|---|---|
| Autor/es: |
|
| Director/es: |
|
| Tipo de Documento: | Trabajo Fin de Grado o Proyecto Fin de Carrera |
| Grado: | Grado en Ingeniería Informática |
| Fecha: | Junio 2023 |
| Materias: | |
| ODS: | |
| Escuela: | E.T.S. de Ingenieros Informáticos (UPM) |
| Departamento: | Lenguajes y Sistemas Informáticos e Ingeniería del Software |
| Licencias Creative Commons: | Reconocimiento - Sin obra derivada - No comercial |
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) |
El presente documento recoge toda la información generada en el diseño, desarrollo y pruebas de un modelo de inteligencia artificial capaz de generar canciones del género “Lo-Fi”. Este modelo, consta de tres partes claramente diferenciadas:
1. Preprocesado: Segmento donde se transforman los archivos de formato MIDI del set de entrenamiento a números entendibles por la red neuronal. Esta transformación se realiza pasando de un formato numérico a palabras y la creación de un vocabulario de manera similar a problemas de procesado natural del lenguaje.
2. Red neuronal: Segmento donde se implementa la arquitectura, con los datos procesados en el segmento anterior, se entrena con una red neuronal basada en capas de memoria a largo plazo. La salida de la red es el índice del vocabulario que se vuelve a convertir a notas y estas a un archivo MIDI.
3. Postprocesado: Segmento donde se realiza la creación de una canción. Mediante la aplicación de un instrumento al archivo generado, la adición de una base rítmica y elementos adicionales, se consigue generar un archivo en formato MP3 que contiene una canción similar a canciones del género “Lo-Fi”. Para la elaboración de este proyecto, se ha realizado un estudio del estado del arte y los distintos acercamientos realizados sobre el mismo problema. Se han considerado distintas arquitecturas como las GAN, Transformers o LSTM; formatos de archivos como MP3, WAV o MIDI y lenguajes como Python, R o Java para resolver el problema. También se ven las distintas estaciones de audio digital de la literatura y se opta por una programable. De cada una de estas decisiones, se explica más en profundidad sus beneficios e inconvenientes. Se profundiza más en el desarrollo y distintas iteraciones por las que ha pasado el proyecto, explicando que puntos fuertes y puntos débiles que tiene cada uno de estos por separado y en relación entre ellos. Estas tres iteraciones pasan por el entendimiento de una propuesta anterior, al desarrollo de cero de mejoras sobre esta propuesta hasta llegar a una iteración que obtiene beneficios de las dos anteriores. Además, se mostrarán las evaluaciones realizadas a la salida producida por el modelo. Estas son dos evaluaciones que se realizan desde dos perspectivas. La perspectiva “objetiva”: la cantidad de recursos que se gastan en la generación de una canción (tiempo y memoria). Y la perspectiva “subjetiva”: mediante un test de Turing se determina la capacidad de las canciones generadas de parecerse a una producción humana. iv También viendo los resultados de estas evaluaciones, se sacan conclusiones, viendo que se puede mejorar en los tres segmentos. La mejora del preprocesado para eliminar la perdida de información. La adaptación de un modelo para que resulte óptimo para el problema presentado. O la integración de más opciones creativas como más bases rítmicas o instrumentos, son mejoras que se explican en las líneas futuras y muestran a donde puede apuntar el desarrollo futuro. Todo esto junto con un capítulo de discusión sobre los puntos más fuertes: alta modularidad del código, diseño encapsulado o potencial de mejora. Y los puntos más débiles: limitada variedad musical, escasez de datos de entrenamiento o sobreajuste de la red neuronal.
ABSTRACT
This document gathers all the information generated in the design, development and testing of an artificial intelligence model capable of generating "Lo-Fi" song fragments, a popular music genre on Internet and commercial platforms. This model consists of three clearly differentiated parts:
1. Preprocessing: Segment where the MIDI format files of the training set are transformed to numbers understandable by the neural network. This transformation is done by going from a numerical format to words and the creation of a vocabulary in a similar fashion to natural language processing problems.
2. Neural network: Segment where the architecture is implemented, with the data processed in the previous segment, it is trained with a neural network based on long-term memory layers. The output of the network is the index of the vocabulary that is converted back to notes and these to a MIDI file.
3. Post-processing: Segment where the creation of a song fragment takes place. By applying an instrument to the generated file, adding a rhythmic base and additional elements, an MP3 file is generated containing a song able to be classified in a greater or lesser extent into the "Lo-Fi" genre. For the development of this project, a study of the state of the art including the different approaches to the same problem has been carried out. Different architectures such as GAN, Transformers or LSTM; file formats such as MP3, WAV or MIDI and languages such as Python, R and Java have been considered to solve the problem. We also look at the different digital audio stations in the literature and choose a programmable one. For each of these decisions, their benefits and drawbacks are explained in more depth. Next, it is delved into the development and different iterations through which the project has passed, explaining the strengths and weaknesses of each of these separately and in relation to each other. These three iterations go through the understanding of a previous proposal, to the development of zero improvements on this proposal until reaching an iteration that obtains benefits from the two previous ones. In addition, the evaluations performed on the output produced by the model will be shown. Two evaluations are performed from different perspectives. On the one hand, the "objective" perspective: the amount of resources spent in the generation of a song (time and memory). On the other hand, the "subjective" vi perspective: by means of a Turing test, the ability of the generated songs to resemble a human production is determined. From the results of these evaluations, conclusions can be drawn, showing that there is room for improvement in all three segments. The improvement of the preprocessing to eliminate the loss of information. Adapting a model to make it more optimal for the problem presented. Or the integration of more creative options such as more rhythmic bases or instruments, are improvements that are explained in future lines and show where future development can point to. All of this wrapped up together with a discussion chapter on the strongest points: high modularity of the code, encapsulated design or potential for improvement. And the weakest points: limited musical variety, scarcity of training data or overfitting of the neural network.
| ID de Registro: | 75007 |
|---|---|
| Identificador DC: | https://oa.upm.es/75007/ |
| Identificador OAI: | oai:oa.upm.es:75007 |
| Depositado por: | Biblioteca Facultad de Informatica |
| Depositado el: | 07 Jul 2023 07:38 |
| Ultima Modificación: | 07 Jul 2023 07:38 |
Publicar en el Archivo Digital desde el Portal Científico