Centro Multimedia 2012 Sesin 8 Live Coding Qu es Live Coding? Live coding es el ejercicio escnico de escribir o modificar cdigo en el momento con el fin de obtener un resultado esttico generalmente !isual o sonoro" El cdigo #ue se escribe normalmente se $royecta sobre una $antalla de tal forma #ue $uede ser !isto $or el $%blico" El live coding es una corriente #ue comen& a tomar fuer&a en Euro$a en los aos '0 y actualmente es un ejercicio dentro del arte electrnico e($erimental" Mc)ean *12'+ menciona #ue el trmino surgi alrededor del 200, $ara describir una acti!idad con una a$ro(imacin a nue!as formas de -acer m%sica $or com$utadora y !ideo animacin" .simismo sugiere #ue el trmino live Coding se usa m/s en el conte(to de la im$ro!isacin" .lgunos festi!ales #ue integran las $r/cticas de live coding son C-anging 0rammars en .lemania )122 )i!ecode 3esti!al y 443)15 en 6nglaterra 7i8sel en 9oruega Ma8e .rt en 3rancia )ambda en :lgica 4;!i!o;4 en M(ico y )i!e"Code"3esti!al en .lemania" <esde el 2010 el =aller de .udio del CMM -a im$ulsado la $r/ctica del live coding a $artir de talleres conferencias y conciertos mensuales y en 2012 con el 2im$osio 6nternacional de 4;!i!o;4" Otras plataformas C-uc> 7ure <ata 6m$rom$tu 3lu(us li!e?$rocessing Ma(4M27 1 Pro!Space 7ro(y2$ace es uno de los cuatro ambientes de la librer@a A6=)ib creada $or Aulian Ro-r-urber con la #ue modificamos cdigo mientras este corre dentro de un ambiente es$ecial llamado 7ro(y" //prendemos el servidor y entramos al ambiente Proxy p=ProxySpace.push(s.boot) // declaramos un desvanecimiento del tiempo, 10 segundos p.ade!ime=10 // creamos una variable global con el mensa"e .play #out.play // la igualamos a una unci$n con un %&en dentro #out='Sin(sc.ar()00,0,0.*)+ // agregamos un argumento a recuencia y lo llamamos rec #out=',rec=)00, Sin(sc.ar(rec,0,0.*)+ // modiicamos el argumento rec mediante el m-todo .set #out.set(.rec, /00) "#emplo con $emand #out0.play #out0='Sin(sc.ar (1emand.2r(3mpulse.2r(/), 0, 1se4(5000,100,6007,in)))+ #out6.play #out6='89!ri.ar (1emand.2r(3mpulse.2r(0), 0, 1se4(51000,*00,0*07,in)),0,0.0)+ #out).play #out)='89!ri.ar (1emand.2r(3mpulse.2r(1), 0, 1rand(50*0,*00,)00,:*07,in)),0,0.0)+ "#emplo con P%ind #out*= Pbind(.re4, Pse4(50*0,*007,in)) 2 #out*.play S!nt&$ef dentro de Pro! 7ara usar 2ynt-<ef dentro de 7ro(y2$ace es necesario declarar el 2ynt- con "add" Ejem$loB Synth1e(.sinte, ',rec=000,out=0, (ut.ar(out,Sin(sc.ar(rec,0,0.1) ; <nv&en.2r(<nv.perc(0.1,1),done=ction>0))+).add <e esta manera tenemos la $osibilidad de usar un 2ynt- en combinacin con un 7def" 1tra forma de usar un 2ynt-<ef es de la siguiente manera" // sint con demand y sin enviar al servidor #out/=Synth1e(.hoy0,' ,rec=100, (ut.ar(0,Sin(sc.ar(1emand.ar(3mpulse.ar()),0,1rand(5100,000,)007, in)),0,0.1) ; <nv&en.2r(<nv.asr(0.1,0.),0),1,done=ction>0))+) #out/.play "#emplo con Pdef // usamos el Synth1e anterior llamado .sinte #se4.play #se4=Pde(.uno,Pbind(.instrument,.sinte, .dur, Pse4(50.*7,in))) #se4.release #se4.send 'eferencias Mc)ean ." *2011+" Artist-Programmers and Programming Languages for the Arts. *=esis de <octorado+" Cni!ersity of )ondon" , Esta obra est/ sujeta a la licencia .ttribution?9onCommercial?2-are.li8e ,"0 Cn$orted de Creati!e Commons" 7ara !er una co$ia de esta licencia !isite -tt$B44creati!ecommons"org4licenses4by?nc?sa4,"04 o en!ie una carta a Creati!e Commons DDD Castro 2treet 2uite '00 Mountain VieE California 'D0D1 C2." D