Sie sind auf Seite 1von 13

145 Composicin musical usando algoritmos genticos

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

Das könnte Ihnen auch gefallen