Estudio e implementación de algoritmos genéticos para la generación semi-automática de ritmos y melodías

-

Español
158 pages
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description


A lo largo de este documento se presentará el estudio realizado sobre el empleo de técnicas de computación evolutiva a la composición de música de manera automática, incluyendo un análisis previo del problema y del entorno, el estado del arte, experimentos realizados y los resultados obtenidos para cada uno de ellos. Uno de los factores que ha llevado a la realización de este proyecto es el hecho de que el área de las artes, y más concretamente el de la música, ha sido siempre uno de los campos de exploración más atractivos. Esto es debido a su gran complejidad y subjetividad que han suscitado mucho interés dentro de la comunidad informática. Aún así, los resultados obtenidos hasta la fecha no son demasiado numerosos y en un porcentaje muy elevado distan de lo que puede llegar a construir la creatividad humana. Por este motivo, el reto que plantea este proyecto es considerable, pero también otorga emoción e ilusión por dar un paso más en esta línea de investigación tan relevante.
Ingeniería en Informática

Sujets

Informations

Publié par
Publié le 01 janvier 2009
Nombre de lectures 49
Langue Español
Poids de l'ouvrage 7 Mo
Signaler un problème

Universidad Carlos III de Madrid
Departamento de Informatica
Proyecto de fin de carrera
Estudio e implementacion de
algoritmos geneticos para la
generacion semi-automatica de
ritmos y melod as
Autor: Enrique Jimenez Domingo
Tutor: Yago Saez Achaerandio
~Co-director: Pedro Isasi Vinuela
Leganes, 2009Indice general
1. Introducci on 1
1.1. Inteligencia Arti cial . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. Algoritmos Geneticos . . . . . . . . . . . . . . . . . . 8
2. Estado del Arte 10
2.1. Genetic algorithms and computer-assisted music composition
(1991) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. NEUROGEN, musical composition using genetic algorithms
and cooperating neural networks (1991) . . . . . . . . . . . . 13
2.3. GenJam: A Genetic Algorithm for Generating Jazz Solos (1994) 16
2.4. Generating rhythms with genetic algorithms (1994) . . . . . . 18
2.5. Composing with Genetic Algorithms (1995) . . . . . . . . . . 20
2.6. Neural Network Fitness Functions for a Musical IGA (1996) . 21
2.7. Automatic composition of music by means of Grammatical
Evolution (2002) . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8. Evolutionary Music Composer integrating Formal Grammar
(2007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.9. Evolutionary Computer Music (2007) . . . . . . . . . . . . . . 27
2.10. Genetic Algorithms and the abc Music Notation Language
for Rock Music Composition (2008) . . . . . . . . . . . . . . . 28
3. Analisis del problema 33
3.1. La musica digital . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3. Conceptos necesarios para el manejo de la musica digital . . . 35
3.3.1. Musical Instrument Digital Interface (MIDI) . . . . . 35
3.3.2. La musica en los ordenadores personales . . . . . . . . 37
3.3.3. Almacenamiento de audio . . . . . . . . . . . . . . . . 37
3.3.4. Efectos . . . . . . . . . . . . . . . . . . . . . . . . . . 39
i3.4. Alternativas de desarrollo encontradas . . . . . . . . . . . . . 43
3.4.1. Librera javax.sound.midi . . . . . . . . . . . . . . . . 43
3.4.2.a sun.audio . . . . . . . . . . . . . . . . . . . . 44
3.4.3. Librera javax.sound.sampled . . . . . . . . . . . . . . 47
3.4.4. Efectos . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.5. Tipo de implementaci on elegida . . . . . . . . . . . . . 49
4. Diseno~ 50
4.1. Diseno~ de la soluci on . . . . . . . . . . . . . . . . . . . . . . . 50
4.2. Funcionalidades y clases . . . . . . . . . . . . . . . . . . . . . 53
4.2.1. Nota . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2.2. Pista . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2.3. Instrumento . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.4. Individuo . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.5. Fitness . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.6. Genetico . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.7. Canci on . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . 59
5. Soluciones propuestas aplicando tecnicas de IA a la compo-
sici on musical 69
5.1. Sistema de creaci on autom atico . . . . . . . . . . . . . . . . . 72
5.1.1. Fitness basado en patrones . . . . . . . . . . . . . . . 73
5.1.2. en patrones principales y patrones se-
cundarios . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.3. Fitness basado en patrones y ritmos . . . . . . . . . . 76
5.1.4. vertical . . . . . . . . . . . . . . . . . . . . . . 77
5.1.5. Fitness orientado al bajo . . . . . . . . . . . . . . . . 79
5.2. Sistema de creaci on interactivo . . . . . . . . . . . . . . . . . 81
6. Experimentaci on 84
6.1. Operadores geneticos . . . . . . . . . . . . . . . . . . . . . . . 86
6.1.1. Selecci on . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.2. Cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1.3. Mutaci on . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.2. Sistema de creaci on autom atico . . . . . . . . . . . . . . . . . 106
6.2.1. Fitness basado en patrones principales y patrones se-
cundarios . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.2. Fitness basado en patrones y ritmos . . . . . . . . . . 115
6.2.3. vertical . . . . . . . . . . . . . . . . . . . . . . 1256.2.4. Fitness orientado al bajo . . . . . . . . . . . . . . . . 132
6.3. Sistema de creaci on interactivo . . . . . . . . . . . . . . . . . 140
7. Conclusiones 141
8. L neas futuras 144Indice de guras
2.1. Proceso de composici on de Neurogen . . . . . . . . . . . . . . 15
4.1. Diagrama de clases completo del sistema . . . . . . . . . . . . 52
4.2. Cruce Simple aplicado a pistas de dos individuos . . . . . . . 56
4.3. multipunto aplicado a pistas de dos individuos . . . . . 57
4.4. Cruce mto por comp as aplicado a pistas de dos indi-
viduos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.5. Mutaci on por comp as aleatorio aplicado a pista de un individuo 58
4.6. Interfaz principal del sistema . . . . . . . . . . . . . . . . . . 60
4.7. Interfaz versi on autom atica. Pestana~ de con guraci on . . . . 61
4.8. Interfaz versi onatica. Ejemplo de control de errores . . 62
4.9. Interfaz versi on autom atica. Pestana~ de composiconi . . . . . 63
4.10. Interfaz versi on interactiva. Pestana~ de con guraci on . . . . . 65
4.11. Interfaz versi on ina. Pestana~ de composici on . . . . . 66
4.12. Interfaz sistema reproductor musical . . . . . . . . . . . . . . 67
5.1. Fitness basado en patrones aplicado a dos pistas de un individuo 73
5.2. basado en principales y secundarios aplica-
dos a dos pistas de un individuo . . . . . . . . . . . . . . . . 75
5.3. Fitness basado en patrones y ritmos aplicado a dos pistas de
un individuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.4. Fitness basado en el estudio vertical de las pistas . . . . . . . 79
5.5. aplicado al instrumento del bajo . . . . . . . . . . . . 80
6.1. Evoluci on de la poblaci on utilizando cruce simple . . . . . . . 89
6.2. Evoluci on de la pon cruce multipunto . . . . 90
6.3. Evoluci on de la poblaci on utilizando cruce por comp as . . . . 91
6.4. Evoluci on de la pon mutaci on cl asica de 0,01 93
6.5. Evoluci on de la poblaci on utilizando mutaci on cl asica de 0,02 94
6.6. Evoluci on de la pon sin utilizar mutaci on . . . . . . . . 95
iv6.7. Evoluconi de la poblaci on utilizando mutaci on por comp as de
0,01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.8. Evoluconi de la poblaci on utilizando mutaci on por comp as de
0,02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.9. Evoluconi de la poblaci on sin utilizar mutaci on . . . . . . . . 98
6.10. Evoluconi de la pon con mutaci on cl asica de 0,01 . . . . 99
6.11. Evoluconi de la poblaci on con mutaci on cl asica de 0,02 . . . . 100
6.12. Evoluconi de la pon sin utilizar mutaci on . . . . . . . . 101
6.13. Evoluconi de la poblaci on con mutaci on 0,0 . . . . . . . . . . 102
6.14. Evoluconi de la pon con mutaci on 0,01 . . . . . . . . . 103
6.15. Evoluconi de la poblaci on con mutaci on 0,02 . . . . . . . . . 104
6.16. Busqueda de cadena aleatoria de 1000 notas mediante cruce
multipunto y mutaci on de 0,01 . . . . . . . . . . . . . . . . . 105
6.17. Evoluconi de la poblaci on con tness principal y secundarios
en prueba 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.18. Ejemplo de individuo resultante de prueba 1 . . . . . . . . . . 109
6.19. dete con 1 . . . . . . . . . 110
6.20. Evoluconi de la poblaci on con tness principal y secundarios
en prueba 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.21. Evoluci on de la poblaci on con tness principal y
en prueba 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.22. Ejemplo de individuo resultante con prueba 3 . . . . . . . . . 112
6.23. Evoluci on de la poblaci on con tness principal y secundarios
en prueba 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.24. Evoluci on de la poblaci on con tness principal y
en prueba 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.25. Evoluci on poblaci on con tness principal, secundarios y ritmo
en prueba 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.26. Ejemplo 1, individuo obtenido en prueba 1 . . . . . . . . . . . 117
6.27. 2, en prueba 1 . . . . . . . . . . . 117
6.28. Evoluci on poblaci on con tness principal, secundarios y ritmo
en prueba 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.29. Evoluci on poblaci on con tness principal, y ritmo
en prueba 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.30. Evoluci on poblaci on con tness principal, secundarios y ritmo
en prueba 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.31. Evoluci on poblaci on con tness principal, y ritmo
en prueba 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.32. Evoluci on poblaci on con tness principal, secundarios y ritmo
en prueba 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.33. Evoluconi poblaci on con tness principal, secundarios, ritmo
y vertical en prueba 1 . . . . . . . . . . . . . . . . . . . . . . 126
6.34. Ejemplo 1, individuo obtenido en prueba 1 . . . . . . . . . . . 126
6.35. 2, en prueba 1 . . . . . . . . . . . 127
6.36. Evoluconi poblaci on con tness principal, secundarios, ritmo
y vertical en prueba 2 . . . . . . . . . . . . . . . . . . . . . . 128
6.37. Evoluconi poblaci on con tness principal, ritmo
y vertical en prueba 3 . . . . . . . . . . . . . . . . . . . . . . 129
6.38. Ejemplo individuo obtenido en prueba 3 . . . . . . . . . . . . 129
6.39. Evoluconi poblaci on con tness principal, secundarios, ritmo
y vertical en prueba 4 . . . . . . . . . . . . . . . . . . . . . . 130
6.40. Evoluconi poblaci on con tness principal, secundarios, ritmo,
vertical y bajo en prueba 1 . . . . . . . . . . . . . . . . . . . 133
6.41. Ejemplo 1, individuo obtenido en prueba 1 . . . . . . . . . . . 133
6.42. 2, en prueba 1 . . . . . . . . . . . 134
6.43. Evoluci on poblaci on con tness principal, secundarios, ritmo,
vertical y bajo en prueba 2 . . . . . . . . . . . . . . . . . . . 135
6.44. Evoluci on poblaci on con tness principal, secundarios, ritmo,
vertical y bajo en prueba 3 . . . . . . . . . . . . . . . . . . . 136
6.45. Evoluci on poblaci on con tness principal, secundarios, ritmo,
vertical y bajo en prueba 4 . . . . . . . . . . . . . . . . . . . 137
6.46. Evoluci on poblaci on con tness principal, secundarios, ritmo,
vertical y bajo en prueba 5 . . . . . . . . . . . . . . . . . . . 138Indice de cuadros
2.1. Proceso de transformaci on seguido por un patr on . . . . . . . 11
6.1. Tabla resumen de pruebas de operador de cruce (30 experi-
mentos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.2. Tabla resumen de pruebas del operador de mutaci on . . . . . 98
6.3. Resumen con guraci on mutaciones y resultados . . . . . . . . 105
6.4. Resultados pruebas de tness con patrones principales y se-
cundarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5. Resultados pruebas de tness patrones principales, secunda-
rios y ritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.6. Resultados pruebas de tness patrones principales, secunda-
rios, ritmo y vertical . . . . . . . . . . . . . . . . . . . . . . . 131
6.7. Resultados pruebas de tness patrones principales, secunda-
rios, ritmo, vertical y bajo . . . . . . . . . . . . . . . . . . . . 139
vii