JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO
investigacin &RPSRVLFLyQPXVLFDOXVDQGRDOJRULWPRV JHQpWLFRV Composing music through genetic algorithms JULIO CSAR CARVAJAL RAMREZ Ingeniero de Sistemas. Investigador de la Fundacin Universitaria San Martin. Bogot, Colombia. Contacto: jc082006@ingenieria.sanmartin.edu.co FABIN ANDRS GIRALDO GIRALDO Ingeniero de Sistemas e Informtica, candidato a magister en Ingeniera de Siste- mas y Computacin. Docente investigador de la Fundacin Universitaria San Mar- tin. Bogot, Colombia. Contacto: fabian.giraldo@ingenieria.sanmartin.edu.co Fecha de recepcin: 31 de agosto de 2011 Fecha de aceptacin: 14 de febrero de 2012 Clasificacin del artculo: Investigacin Palabras clave: DOJRULWPRVJHQpWLFRVLQWHOLJHQFLDDUWLFLDOP~VLFD Key words: JHQHWLFDOJRULWKPVDUWLFLDOLQWHOOLJHQFHPXVLF RESUMEN Este artculo presenta un modelo de composicin musical discreto, basado en las tcnicas de es- critura musical propuestas por Johann Sebastian Bach. El modelo fue implementado mediante el uso de la estrategia metaheurstica: algoritmos genticos implantados sobre el Framework JGap, el cual arroja resultados de composicin con una sintaxis que cumple con las tcnicas de escritu- ra y composicin musical. Se usar en este acer- camiento la escala musical natural y los sonidos sintetizados de la octava natural del piano. Se crearon acordes tomando los grados respectivos en la escala y se agruparon las notas y acordes para convertirlos en compases. Mediante el mo- GHORSURSXHVWRVHREWLHQH(OFRQMXQWRGHQR- tas agrupadas por compases con su interpretacin de escritura sintctica siguiendo los lineamientos GHO )UDPHZRUN -)XJXH \ OD SDUWLWXUD GH ORV fragmentos producidos sobre un pentagrama res- petando las reglas de escritura musical formal. Se presentan tres MIDIS de composiciones hechas por el computador donde se muestra una fuerte Tecnura Vol. 16 No. 33 pp. 145 - 157 julio-septiembre de 2012 Tecnura Vol. 16 No. 33 julio-septiembre de 2012 146 investigacin evolucin de sonido y como tal un resultado audi- ble de la composicin. ABSTRACT This paper presents a model of discrete musical composition based on musical writing techniques proposed by Johann Sebastian Bach. The model was implemented using the Meta-heuristics strate- gy, namely using Genetic algorithms implemented on the JGap Framework, producing musical results with a syntax that matches writing and music com- position techniques. This approach is applied to the natural musical scale, and also to synthesized sounds of the natural-piano octave. Chords were created by taking the corresponding grades in the VFDOHDGGLWLRQDOO\QRWHVDQGFKRUGVZHUHJURXSHG to become actual score bars. Using the proposed PRGHO WKH IROORZLQJ LV REWDLQHG $ VHW RI QR- tes grouped in bars with their corresponding in- terpretation, following the guidelines of syntactic -)XJXH)UDPHZRUNWKHVFRUHRIWKHIUDJPHQWV produced written on a stave that complies with the UXOHVRIIRUPDOQRWDWLRQ7KUHH0,',OHVFRUUHV- SRQGLQJWRWKUHHFRPSRVLWLRQVPDGHE\WKHFRP- SXWHUDUHSUHVHQWHGVKRZLQJDVWURQJHYROXWLRQRI sound and, as such, an audible result of a song. 1. INTRODUCCIN La composicin musical es un tema difcil de abordar desde los trminos de la computacin, desde los inicios de las artes se ha hecho una estigmatizacin de ellas con respecto al avance tecnolgico que se vive en la actualidad. En este artculo se muestran los resultados del uso de una de las tcnicas metaheursticas ms conocidas y aplicadas actualmente en la computacin evoluti- YDORVDOJRULWPRVJHQpWLFRVFRQHOQGHSHUFLELU cmo emerge la msica desde un proceso evolu- tivo, que podra tardar dcadas, tal vez siglos, en mostrar resultados con un ciclo de evolucin mu- sical a nivel de composicin humano. Ya varios estudios se han hecho sobre el tema, con resultados interesantes, como el caso de Risto Miikkulainen y Chun-Chi J. Chen, quienes apli- cando redes neuronales recurrentes representan la notacin musical y generan melodas basados en formulaciones matemticas que les permiten construir un modelo de control de las restriccio- nes de diversidad rtmica y medidas de restriccin GH GHQVLGDG >@ RWUR WUDEDMR VREUHVDOLHQWH HV HO desarrollado por Reis et al [2], donde presentan esquemas compuestos por algoritmos genticos que aleatoriamente generan secuencias de notas ordenadas en la escala natural y luego son eva- luadas por funciones matemticas tales como las HVWXGLDGDVHQHOFiOFXORGLIHUHQFLDOSULPHUDVH- JXQGD\WHUFHUDGHULYDGDGHXQDIXQFLyQTXHEDMR criterio de los diseadores son implementadas para seleccionar las mejores secuencias genera- das por el algoritmo [2]. En el modelo presenta- do por la Universidad de Corua, Espaa, escrito SRU3R]RVHWDO>@VHSODVPDODLGHDGHXVDUORV ordenadores para actividades artsticas como la composicin musical y se presenta una estructu- UDGRQGHVHHPXODQWUHVP~VLFRVDUWLFLDOHVFDGD uno con un patrn que responde a un algoritmo gentico para crear las composiciones de diferen- tes instrumentos como el violn, guitarra y la tuba, SDUDOXHJRVHUHYDOXDGDVSRUXQDIXQFLyQWQHVV estructurada con mtodos matemticos discretos como teoremas de integracin y derivacin. El resultado que se obtiene es una base de datos con fragmentos musicales generados por el modelo. Los resultados obtenidos por los autores indican que los algoritmos genticos pueden disearse para obtener soluciones a este tipo de problemas, * * * 147 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin pero desde el punto de vista de la teora musical la falencia est en las funciones de evaluacin de las melodas compuestas, ya que, en los trabajos mencionados, utilizaron estrictamente formula- ciones matemticas para considerar un fragmento generado por el algoritmo, pero estn dejando a un lado la teora y las tcnicas de composicin musical que estn establecidas desde siglos atrs. Aunque las matemticas tengan una relacin di- recta con la composicin musical, es necesario aclarar que se debe hacer uso de estas para dar posibles soluciones a problemas computacionales de composicin, pero que las funciones de eva- luacin deben basarse en las reglas de escritura y sintaxis musical. En el presente trabajo se expone el diseo de un algoritmo gentico que produce composiciones musicales simulando la capacidad de composi- cin humana, emitiendo sonidos sintetizados a partir del piano donde el computador se convierte en un instrumento virtual y en un compositor con capacidad para gestar diversos fragmentos musi- FDOHVTXHVHFRQYHUWLUiQQDOPHQWHHQXQDSLH]D musical terminada. &RPR UHVXOWDGR QDO VH H[SRQH XQ FRQMXQWR GH notas que representan los compases generados a partir de la evolucin del algoritmo, una tablatura QDO FRQ HO IUDJPHQWR HYROXFLRQDGR \ XQD SDU- titura que cumple con los estndares de escritura PXVLFDOWUHV0,',6FRPSXHVWRVSRUHODOJRULWPR donde se muestran diferentes fases del proyecto y una evolucin de sonido considerable con respec- to a las anteriores. En este artculo, en cambio, no solo se exponen las funciones utilizadas para generar las notas que hacen parte de la composicin, tambin se tienen en consideracin elementos musicales ta- les como: tempos, compases, acordes y escritura formal en el pentagrama, para posteriormente ser utilizados en procesos de evaluacin automtica y, de esta forma, dar origen a los fragmentos audi- bles en formato MIDI que respaldan los postula- dos de este trabajo y complementan los resultados tericos que se estn generando. El artculo est organizado de la siguiente forma, en la seccin 1: introduccin, en la seccin 2: FRQFHSWRV PXVLFDOHV HQ OD VHFFLyQ PHWRGROR- ga, en la seccin 4: diseo del algoritmo, en la VHFFLyQLPSOHPHQWDFLyQHQODVHFFLyQUHVXO- tados, y por ltimo en la seccin 7: conclusiones. 2. CONCEPTOS MUSICALES Los siguientes pargrafos contienen los concep- tos necesarios para que el lector obtenga unas ba- ses slidas del punto de partida y dnde se quiere llegar con el uso de los algoritmos genticos y la teora musical aplicando las herramientas compu- tacionales que ofrece la tecnologa actualmente. 2.1 Tcnica musical La msica, como toda manifestacin artstica, es XQSURGXFWRFXOWXUDO(OQGHHVWHDUWHHVVXVFL- tar una experiencia esttica en el oyente, expre- sar sentimientos, circunstancias, pensamientos o ideas. La msica es un estmulo que afecta el campo perceptivo del individuo [4]. Para representar la msica existen diversas gra- ItDVTXHVHFRQFLELHURQFRQHOQGHSRGHUHVFULELU y trascender la msica, estos smbolos represen- tan las notas musicales y su respectiva duracin, estos escritos ordenados sobre lneas representan su valor sonoro y generan una notacin denomi- nada pentagrama. (OSHQWDJUDPDHVHOVtPERORJUiFRHQHOTXHVH centra toda la grafa musical. Es en l, donde se escriben las notas musicales y otros signos como los compases o las frmulas de comps. El pen- tagrama est compuesto por cinco lneas horizon- Tecnura Vol. 16 No. 33 julio-septiembre de 2012 148 investigacin WDOHV \ SDUDOHODV DGHPiV GH HTXLGLVWDQWHV (VWDV cinco lneas paralelas forman cuatro espacios en- tre ellas. En estos espacios tambin se ubican las notas musicales. En la prctica, hay cinco lneas y cuatro espacios. Estas lneas y espacios se nom- EUDQ GH DEDMR D DUULED DVt SRU HMHPSOR OD OtQHD de ms abajo la podemos nombrar como primera OtQHD>@FRPRORPXHVWUDODJXUD 2.2 Figura musical Son signos musicales que indican la duracin proporcional de los sonidos, como se muestra en ODJXUD/RVVLOHQFLRVVRQVLJQRVSDUDLQGLFDU una duracin sin sonido, de ah su nombre. Una nota es un concepto musical que sirve para expresar la altura o tono de un sonido. Concreta- mente, son nombres para ciertas frecuencias, que permiten decir que un sonido musical correspon- de a cierto smbolo. Una combinacin de varias notas est entre dos notas. As una nota puede de- notarse segn la convencin musical o mediante la expresin de su frecuencia, por ejemplo la 4 es igual a 440 hercios, o vibraciones por segundo en DQDFLyQHVWiQGDURKHUFLRVHQDQDFLyQGH FiPDUD>@ La msica acadmica occidental ha desarrollado un mtodo de escritura basado en dos ejes: el ho- rizontal, que representa el transcurso del tiempo, \HOYHUWLFDOTXHUHSUHVHQWDODDOWXUDGHOVRQLGR la duracin de cada sonido est dada por la for- PD GH ODV JXUDV PXVLFDOHV >@ FRPR VH SXHGH REVHUYDUHQODJXUDGRQGHHVWiQH[SXHVWDVODV JXUDVPXVLFDOHVRUGHQDGDVDWUDYpVGHXQDOtQHD horizontal que simboliza el tiempo de duracin. 3. METODOLOGA A continuacin se desglosarn las diferentes tc- nicas utilizadas y las tecnologas que se fusiona- ron para el desarrollo del proyecto de composi- cin musical usando algoritmos genticos. 3.1 Representacin de los individuos Los individuos en los algoritmos genticos se UHSUHVHQWDQ JHQHUDOPHQWH HQ FDGHQDV ELQDULDV pero en la solucin presentada en este trabajo, Figura 1.3HQWDJUDPDFRQVXVUHVSHFWLYDVOtQHDV\HVSDFLRV )XHQWHHODERUDFLyQSURSLD Composicin Figura 2. 1RWDV PXVLFDOHV \ VXV UHVSHFWLYDV HTXLYD- lencias entre ellas mismas. )XHQWHHODERUDFLyQSURSLD 149 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin sern representadas en cadenas de tipo entero que es otra de las tcnicas comunes utilizadas para la representacin de los individuos, o cro- mosomas, cada nota se compone de tres genes los cuales pueden tomar diversos valores segn VH FRQJXUHQ FRPR VH PXHVWUD HQ OD JXUD de esta forma se genera un arreglo de tres po- VLFLRQHV GRQGH OD SULPHUD SRVLFLyQ R SULPHU gen, hace referencia a la nota musical, y los po- sibles valores que puede tomar se denotan en el VLJXLHQWH FRQMXQWR 1RWDV ^'()*$%&` donde cada letra es la representacin de las no- tas musicales en su escritura formal o un posible DOHOR SDUD HO FRPSRQHQWH Q~PHUR XQR GHO JHQ la segunda posicin hace referencia al semito- no manejado por la nota, y los posibles valores se denotan en el conjunto Semitono ={#, ##, b, EE`GRQGHHOQXPHUDOVLPEROL]DXQVRVWHQLGR\ ODEXQEHPROHQODWHUFHUDSRVLFLyQVHDVLJQDOD duracin de la nota y los posibles valores se de- notan en el conjunto Tiempo = {w, h, q, i, s, t, x, R`GRQGHFDGDOHWUDKDFHUHIHUHQFLDDXQWLHPSR de duracin. Para la generacin de los compases se agrupan las notas segn su duracin, y de esa forma determinar el tiempo adecuado de cada compas. Para generar un acorde mayor es necesario tomar el primero, tercero y quinto grado de la escala a la cual pertenezca, o las variaciones de las tres no- tas encontradas en estos grados, esto exactamente es lo que hace el algoritmo para generar acordes, de forma aleatoria busca los cromosomas cuyas notas han sido generadas con ausencia de semi- tono, en este caso los alelos comprendidos en el FRQMXQWR6HPLWRQR^EEE`\HQHVDSR- sicin reemplaza la nota existente por un acorde de la escala a la que pertenece la nota. En esta entrega se generarn acordes mayores de la escala fundamental o escala natural, claro est la teora musical muestra detalladamente acordes que van desde dos hasta siete notas, pero en tal caso la complejidad del algoritmo aumentara por tanto para esta entrega se hacen acordes de tres notas. 3.2 Grado de adaptacin de los individuos En el caso de algoritmos genticos, la adaptacin de un individuo coincide con el valor de la fun- cin objetivo a maximizar. Por lo tanto, el clculo GH OD DGDSWDFLyQ FRQVLVWH HQ GHFRGLFDU HO FUR- PRVRPDGHOLQGLYLGXRSDUDLGHQWLFDUODPHORGtD que representa y calcular el valor de la funcin objetivo en ese punto. En esta entrega, el grado de adaptacin de los in- GLYLGXRVHVFDOLFDGRSRUHOXVXDULRGHWDOIRUPD que, en la funcin de evaluacin, se pide un pa- rmetro de 1 a 100, el cual va a representar una Figura 4.&URPRVRPDGLVHxDGR )XHQWHHODERUDFLyQSURSLD Figura 3.0pWRGRGHHVFULWXUDPXVLFDOIRUPDOXWLOL]DQGRHOSHQWDJUDPD )XHQWHHODERUDFLyQSURSLD D # Q Tecnura Vol. 16 No. 33 julio-septiembre de 2012 150 investigacin FDOLFDFLyQSDUDFDGDJUXSRGHFURPRVRPDVJH- nerados, donde los mejores puntuados sern los seleccionados como los ms adaptados. (V QHFHVDULR HVSHFLFDU ODV FRQGLFLRQHV HQ ODV que el algoritmo deja de evolucionar y presenta la mejor solucin encontrada. Estas condiciones hacen referencia al punto de convergencia del al- goritmo. En este caso se utiliz la condicin de terminacin ms sencilla, donde al alcanzar un determinado nmero de generaciones de evolu- cin el algoritmo muestra la solucin o el cromo- soma ms adaptado. 4. IMPLEMENTACIN Para el diseo del algoritmo gentico se utiliz el Framework JGap, ya que es una herramienta GH XVR OLEUH \ KDFH TXH OD FRQJXUDFLyQ GHO DO- goritmo sea rpida, comprensible, posee una ar- quitectura basada en el paradigma de programa- cin orientada por objetos y patrones de diseo GHVRIWZDUHTXHORKDFHQPX\UREXVWRPRGLFD- ble y escalable, por otra parte, est escrito en el lenguaje de programacin Java y esto otorga una integracin limpia con los dems Frameworks usados. 4.1 Generacin de la poblacin La poblacin inicial se genera de forma comple- tamente aleatoria, dando como resultado cadenas, FRPRORPXHVWUDODJXUDTXHUHSUHVHQWDQODV notas a ser utilizadas en la solucin. En el Fra- mework JGap esta caracterstica se obtiene utili- zando el mtodo randomInitialGenotype, provis- to por la clase Genotype. 4.2 Operadores de seleccin /RVRSHUDGRUHVGHVHOHFFLyQHOSURFHVRGHVHOHF- cin utilizado fue elitismo, que bajo el Framework JGap est modelado bajo la clase BestChromoso- PH6HOHFWRU GHWHUPLQDQ TXp LQGLYLGXRV VRQ ORV ms adaptados al medio para darles trascendencia a la siguiente generacin. En este acercamiento se FRQJXUy XQ RSHUDGRU GH VHOHFFLyQ TXH SURSRU- ciona JGap, y se escribi un complemento para que el usuario sea partcipe de dicha seleccin, luego de escuchar la produccin musical de una JHQHUDFLyQRWRUJDXQDFDOLFDFLyQHQWUH\ VLHQGRODFDOLFDFLyQPiVEDMD\ODPiVDOWD a las cadenas generadas por el algoritmo genti- co, es as como se eligen las mejores melodas a perseverar en la lnea de vida y pasar a la prxima generacin, y de esta forma ser nuevamente eva- luadas por el operador de seleccin anteriormente descrito. 4.3 Operadores de cruce y mutacin El Framework JGap permite usar los dos opera- dores de evolucin como son: el cruce y la mu- tacin de manera transparente. Para el diseo y desarrollo de este algoritmo gentico se usaron HVWRVGRVRSHUDGRUHVHOSULPHURGHHOORVHOFUXFH monopunto consiste en tomar individuos de la SREODFLyQGRVYHFWRUHVGHQRWDVTXHORVLGHQWLFD como el padre y la madre, y aplicarles el operador cruce, que consiste en tomar la primera mitad del padre y la segunda de la madre para engendrar el primer hijo y viceversa para el segundo [7]. El VHJXQGRRSHUDGRUODPXWDFLyQELWDELWFRQVLVWH en tomar un individuo de la poblacin y alterar su cadena gentica, en este caso el cromosoma, dando diferentes valores a los alelos del mismo, TXH XFW~DQ HQWUH ORV FRQMXQWRV DQWHULRUPHQWH mencionados [7]. 4.4 Representacin de los conceptos musicales en la librera JFugue En el algoritmo la gramtica musical es represen- tada por medio de cromosomas que son la base fundamental del funcionamiento de la algortmi- 151 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin Figura 5.5HSUHVHQWDFLyQGHODVQRWDV\ORVFRPSDVHVPXVLFDOHVJHQHUDGRVSRUHODOJRULWPR )XHQWHHODERUDFLyQSURSLD FDLPSOHPHQWDGDFRPRVHPXHVWUDHQODJXUD donde las notas musicales son una cadena, como VHPXHVWUDHQODJXUD(O)UDPHZRUN-)XJXH es el encargado de la comprensin del lenguaje gramatical musical y toda su interpretacin de es- critura en el lenguaje de programacin Java. El Framework permite la fcil interpretacin musi- cal en un mbito computacional, y aplicado a esta investigacin se encarga de interpretar las cade- QDVTXHJHQHUDHODOJRULWPRGLVHxDGRSDUDWDOQ En su versin 1.0 demuestra ser una herramienta robusta para la programacin musical, gracias a VX IDFLOLGDG GH FRGLFDFLyQ OD GRFXPHQWDFLyQ proporcionada por los desarrolladores y posibili- dad de escalabilidad [8]. 4.5 Implementacin de acordes Para la generacin de acordes usando el Fra- mework JFugue, se debe concatenar con el sm- ERORODVQRWDVTXHFRPSRQHQGLFKRDFRUGHXQ ejemplo de generacin bsico es un acorde en ODHVFDODQDWXUDOGRQGHODVQRWDVVRQ&(*OD representacin del acorde en la escritura del len- guaje Java usando JFugue como interprete sera &T(T*TGRQGH&HVODIXQGDPHQWDO(ODWHU- cera y G la quinta, la q representa el tiempo de GXUDFLyQGHFDGDQRWDHQHVWHFDVRHOVLJQR indica que las notas estn concatenadas, sonarn al tiempo y formarn un acorde mayor de la esca- la natural. 4.6 Los tiempos de las notas Las notas musicales tambin estn catalogadas por los tiempos de duracin en su frecuencia de sonido, es decir, cada una de ellas tiene un equi- valente en duracin: la redonda dura 1 tiempo, la blanca dura tiempo, la negra dura tiempo y DVt VXFHVLYDPHQWH FRPR VH PXHVWUD HQ OD JXUD (Q-)XJXHODVGXUDFLRQHVGHORVWLHPSRVHVWiQ representados con letras w para redonda, h para la blanca, q para la negra, i para la corchea, s para la semicorchea, t para la fusa y x para la semi- fusa [9], letras que hacen parte de un conjunto llamado time anteriormente nombrado. De esta forma la programacin de los tiempos por cada nota se hace muy agradable. El algoritmo tiene la capacidad de: generar los tiempos aleatoriamente siguiendo las reglas de composicin de la teora Tecnura Vol. 16 No. 33 julio-septiembre de 2012 152 investigacin musical y asignarle una duracin adecuada a cada nota generada. 4.7 Compases La generacin de compases se hace concatenando las notas o cromosomas en el algoritmo, ya que se agrupan notas cuya duracin de tiempos no su- pere los cuatro cuartos, esto garantiza estar gene- rando, en esta primera entrega, compases en una medida de las ms utilizadas en la msica actual como el rock, pop [10]. 4.8 Interpretacin de compases 6H FRGLFy XQ UHSURGXFWRU GHO )UDPHZRUN -)X- gue, que permite interpretar las notas generadas por el algoritmo en tiempo de ejecucin para que OD HYDOXDFLyQ KHFKD SRU HO XVXDULR QDO VHD PiV objetiva y acertada. Este tambin permite escuchar de manera ms clara los resultados que arroja el algoritmo por FDGD LWHUDFLyQ WDPELpQ DFRPSDxD DO XVXDULR - nal en un aprendizaje constante entre la gramtica musical generada y los sonidos que estn asocia- dos a ella. Esto, en trminos generales, es aceptable, ya que por un lado genera composiciones musicales pero a su vez dichas composiciones pueden ser escu- FKDGDVHQWLHPSRUHDODVtHOXVXDULRQDOWHQGUi un dominio ms global de la problemtica de la composicin donde el computador genera cade- nas con escritura discreta y sonidos sintetizados para su mayor comprensin. 4.9 0,',6QDOHV &RPR~OWLPRUHVXOWDGRVHFRQJXUDXQFRQYHUVRU de la gramtica generada por el algoritmo a un archivo MIDI, ste permitir al usuario guardar cada uno de los patrones que se compusieron des- SXpV GH WRGDV ODV LWHUDFLRQHV HV GHFLU OD PHMRU solucin encontrada por el algoritmo. Tener este registro permite conservar las compo- siciones hechas por el algoritmo de una forma au- dible. Poder reproducir dichas composiciones en diferentes ordenadores y compartirlas, reproducir las cadenas de notas generadas en los reproducto- res de msica porttiles. Como parte de los resultados se generaron tres MIDIS, que muestran la evolucin del proyecto en general, y se muestra la etapa de inicio con un track titulado Tocata N. 1 in C Major, la etapa central con un track titulado Molto Allegro in C 0DMRU\ODHWDSDQDOFRQXQWUDFNWLWXODGR&RP- SXWHU 6RQDWD $OOHJUR LQ & 0DMRU HVWRV 0,',6 son la prueba de la evolucin del desarrollo y un eje fundamental para la continuidad de proyecto. 5. RESULTADOS Los resultados que se obtuvieron despus del di- seo y la implementacin del algoritmo y su res- pectiva funcin de evaluacin fueron satisfac- Figura 6.1RWDVPXVLFDOHVEiVLFDV\VXUHVSHFWLYDGXUDFLyQVREUHXQSHQWDJUDPDPXVLFDO )XHQWHHODERUDFLyQSURSLD 153 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin torios. En esta entrega se hizo un acercamiento a la composicin musical aplicando algoritmos genticos y tcnicas musicales propuestas por Bach. A grandes rasgos se obtuvieron resultados ta- les como: un algoritmo escrito en el lenguaje de programacin Java, que genera composicio- nes musicales basadas en las tcnicas musicales gramaticales y sintcticas propuestas por Johann Sebastian Bach, generando sonidos sintetizados a partir del piano donde el computador se con- virti en un instrumento y a su vez en un com- positor simulando la capacidad de composicin humana. Teniendo en cuenta estos tems obtenidos y de la generacin propia de composiciones hechas por HODOJRULWPRKD\WUHVSURGXFWRVQDOHVSDUDGHV- glosar y mostrar. &RPSDVHVFRPSXHVWRV SRUQRWDVPXVLFDOHV El algoritmo genera, a partir de la implementacin de cromosomas y funciones evaluadoras, cadenas de notas que cumplen con las caractersticas b- sicas y que se agrupan para componer compases. En el siguiente anlisis cuantitativo se muestra la evolucin y convergencia del algoritmo imple- mentado con diferentes escenarios de bsqueda, SREODFLyQ \ FULWHULRV GH QDOL]DFLyQ /D SREOD- cin se evala despus de cada generacin, donde se revisan los contadores de adaptacin relativa y puntuacin acumulada de los individuos de la poblacin. As mismo, se calcula la adaptacin global de la poblacin y la posicin del mejor in- GLYLGXR(OFURPRVRPDQDOIRUPDGRSRUORVLQ- dividuos ms adaptados, en este caso puntuados por el usuario despus de escucharlos, es el que se toma como base para la muestra y se relacionan en la tabla 1. Tabla 1. &RPSDUDFLyQ LQGLYLGXRV SREODFLyQ SXQWDMH Pi[LPR\PtQLPR Tiempo 7DPDxR Puntaje 0i[LPR Puntaje 0tQLPR 3REODFLyQ ,QLFLDO 291612 80 70 1 50 311511 80 70 2 60 435671 80 60 4 70 491634 80 60 4 80 561711 80 70 4 90 594321 80 70 4 100 )XHQWHHODERUDFLyQSURSLD Tabla 2. &RPSDUDFLyQ LQGLYLGXRV SREODFLyQ SXQWDMH Pi[LPR\PtQLPR Tiempo 7DPDxR Puntaje 0i[LPR Puntaje 0tQLPR 3REODFLyQ ,QLFLDO 872345 160 70 1 150 932344 160 70 4 160 1298977 160 60 4 170 1476655 160 60 4 180 1687766 160 70 5 190 1778899 160 70 5 200 )XHQWHHODERUDFLyQSURSLD En la tabla 2 se muestra una comparacin de los resultados obtenidos, despus de correr 12 veces el algoritmo, donde hay clara evidencia que, alte- UDQGR VLJQLFDWLYDPHQWH OD SREODFLyQ LQLFLDO VH obtienen resultados ms satisfactorios, la muestra clara es el puntaje mnimo ya que al crecer la po- blacin los resultados generados son ms agrada- EOHVSDUDHOXVXDULRQDO La sintaxis con la que se muestran los resultados de las evoluciones del algoritmo, cumple los es- tndares de la escritura musical y son comprensi- bles, este era uno de los aspectos que se propuso como objetivo ya que har que el proyecto tenga escalabilidad y los resultados sean entendibles SDUD HO XVXDULR QDO FRPR VH SUHVHQWD HQ ODV - guras 7,8 y 9. Tecnura Vol. 16 No. 33 julio-septiembre de 2012 154 investigacin Figura 7.)UDJPHQWRGHSDUWLWXUDQDOFRPSXHVWDSRUQRWDVJHQHUDGDVSRUHODOJRULWPRFRQJXUDGRFRQLWHUD- FLRQHVXQDSREODFLyQLQLFLDOGHLQGLYLGXRV\XQWLHPSRGHHMHFXFLyQHVWLPDGRGHPV )XHQWHHODERUDFLyQSURSLD Figura 8. )UDJPHQWRGHSDUWLWXUDGRQGHVHLQFOX\HQQRWDVHQFODYHGHVRO\HQFODYHGHIDFRQJXUDGRFRQ LWHUDFLRQHVXQDSREODFLyQLQLFLDOGHLQGLYLGXRV\XQWLHPSRGHHMHFXFLyQHVWLPDGRGHPV )XHQWHHODERUDFLyQSURSLD 155 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin Todos los fragmentos producidos por el algoritmo gentico pueden ser escuchados ingresando a la direccin electrnica disponible en: http://cmag. wikispaces.com. 6. CONCLUSIONES Despus de haber realizado el proceso de desarro- llo anteriormente descrito y tomando en conside- racin los resultados obtenidos se pueden extraer las siguientes conclusiones: El proceso de composicin musical visto desde la perspectiva de la computacin evolutiva demues- tra ser una propuesta prometedora, dado que se pueden obtener fragmentos musicales semejantes a los producidos por humanos con un buen co- nocimiento musical. Sin embargo, es importan- te indicar que se deben plantear mecanismos de HYDOXDFLyQ DXWRPiWLFD GHO WQHVV FRQVLGHUDQGR no solo elementos matemticos como los desarro- llados por los autores presentados en el artculo, sino, tomando tambin en consideracin reglas heursticas utilizadas por personas experimenta- das en el campo musical que ayudan a penalizar fragmentos que no son agradables al odo. Tomando en consideracin, los comentarios de ORV P~VLFRV TXH LQWHUSUHWDURQ OD SDUWLWXUD QDO Figura 9. )UDJPHQWRGHSDUWLWXUDGRQGHVHLQFOX\HQQRWDVHQFODYHGHVRO\HQFODYHGHIDFRQJXUDGRFRQ LWHUDFLRQHVXQDSREODFLyQLQLFLDOGHLQGLYLGXRV\XQWLHPSRGHHMHFXFLyQHVWLPDGRGHPV )XHQWHHODERUDFLyQSURSLD Tecnura Vol. 16 No. 33 julio-septiembre de 2012 156 investigacin se puede concluir que el algoritmo satisface las tcnicas de escritura musical y se obtiene un aho- rro de tiempo considerable al producir una obra musical. Que la partitura es de fcil comprensin para los intrpretes, esto a raz de la experiencia con una persona ajena al proyecto que interpret la meloda producida sin ningn problema. En el diseo del algoritmo no se tuvo en cuenta ODJXUDPXVLFDO%&XDGURHVWRSXHGHRFDVLRQDU que, en la escala natural, cuando hay un paso de generacin, aleatoriamente en el operador de cru- ce se puede generar, por ejemplo un D sostenido, lo que indica que de ah en adelante todos los D deben ir sostenidos, hasta que haya la aparicin de un B Cuadro, esto lo que ocasiona es: que los acordes o notas generadas se salgan de la octava natural del piano y por tanto puede causar un con- fusin en la interpretacin. La interpretacin y composicin de compases a partir de notas musicales y la generacin de ar- chivos MIDI son resultados esperados y son un incentivo para seguir trabajando en el tema me- taheurstico para la composicin musical, hay muchas otras tcnicas que pueden ser aplicadas e implementadas al proyecto, como redes neuro- QDOHV FRPSXWDFLyQ HYROXWLYD SURJUDPDFLyQ JH- QpWLFDSURJUDPDFLyQJHQpWLFDJUDPDWLFDO\362 3DUWLFOH6ZDUP2SWLPL]DWLRQFRQORVFXDOHVVH podran dar diferentes tipos de soluciones a la misma problemtica y de esta forma mejorar los resultados obtenidos en este acercamiento. 7. TRABAJO FUTURO 6HHVWiWUDEDMDQGRXQXQDIXQFLyQWQHVVTXHWHQ- ga la capacidad de hacer la evaluacin completa de la obra generada por el algoritmo, los crite- rios que se establecen para ella estn direcciona- dos desde el punto de vista musical para, de esta forma, generar funciones de evaluacin basadas en penalizaciones dado el incumplimiento de los criterios musicales establecidos. En una futura versin se implementara una o varias de estas tcnicas para la evaluacin de los compases ge- nerados por el algoritmo, ya que el Framework ya contiene estos operadores de seleccin de esta forma la evaluacin ser automtica y aleatoria. 8. FINANCIAMIENTO Financiamiento y aval, Fundacin Universitaria San Martin Facultad de Ingeniera. >@ - &KXQ&KL 5 0LLNNXODLQHQ &UHDWLQJ Melodies with Evolving Recurrent Neural 1HWZRUNV International Joint Confer- ence on Neural Networks9ROSS DJRVWR [2] G. Reis, N. Fonseca, F. Fernandez, A. Fer- UHLUD$*HQHWLF$OJRULWKP$SSURDFKZLWK Harmonic Structure Evolution for Poly- SKRQLF 0XVLF 7UDQVFULSWLRQ IEEE Inter- national Symposium on Signal Processing and Information TechnologySS diciembre, 2008. >@ $3D]RV$6DQWRV'HO5LHJR$'RUDGR - 5RPHUR *HQHWLF 0XVLF &RPSRVLWRU Evolutionary Computation, 1999. CEC 99. Proceedings of the 1999 Congress, Vol. 2, SS [4] A. Rodrguez, La Dimensin sonora del lenguaje audio visual. Espaa: Paids, 2009, pp. 1-100. [5] S. Torres y F. Javier, Tecnologas en la composicin de bandas sonoras. Espaa: REFERENCIAS 157 Composicin musical usando algoritmos genticos JULIO CSAR CARVAJAL RAMREZ / FABIN ANDRS GIRALDO GIRALDO investigacin Fundacin Autor - Sociedad General de $XWRUHV\(GLWRUHVSS >@ 5 GH &DQGH Invitacin a la msica. Mxico: Alianza, 2008, pp. 10 - 50. [7] L. Araujo, C. Cervign, Algoritmos evolu- tivos un enfoque prctico. Bogot: Alfao- mega, 2009, pp. 1-88. [8] D. Koelle, the Complete Guide to JFugue. Estados Unidos: Independiente, 2010, pp. 1-118. [9] G. Kovcs y Z. Psztor, Ejercicios pre- paratorios para instrumentistas. Madrid: Grao, 2010, pp. 1 - 100. >@ //R]DQR$0HGDJOLD\19HODVFR*H- neration of Pop-Rock Chord Sequences Using Genetic Algorithms and Variable 1HLJKERUKRRG 6HDUFK Centro de Opti- mizacin y Probabilidad Aplicada Univer- sidad de los Andes SS DJRVWR 2009. Tecnura Vol. 16 No. 33 pp. 145 - 157 julio-septiembre de 2012