03 julio, 2009

ultima fecha de entrega

Lunes 6 de Julio a la medianoche para la entrega.
Los que les falta por entregar deben hacer directo a mi correo personal.

30 junio, 2009

Tareas jose peña

Tarea 4
1. Incluye Dust e impulse en dos de tus códigos anteriores, utiliza variables.
2. Realiza un código que tenga Pan2.ar y Mix y el gatillo de Impulse o Dust

(1)
(a)
Mix.fill(2,{Blip.ar(SinOsc.ar(4,0,rrand(500,2000),0,EnvGen.ar(Env.perc,Dust.ar(2))))})}.play
(1)
(b)
{Mix.fill(2,{SinOsc.ar([rrand(150,250),10], 0,EnvGen.ar(Env.perc,Dust.ar(1)))*Saw.ar(rrand(200,250),EnvGen.ar(Env.perc(0.5, 0.7, 0.7, 0.5),Impulse.ar(rrand(3.5,2.0))))})*0.5}.scope


(2)
({Pan2.ar({Mix.fill(3,{SinOsc.ar(rrand(100,200), 0,EnvGen.ar(Env.sine(5,6),Impulse.ar(2)))})},SinOsc.kr(0.5))}.scope)



Tarea 5-partitura
Has una partitura usando "cebolla" y da indicaciones de cómo te moverías en ella, devolviéndote o siguiendo todo el tiempo hacia adelante.

(SynthDef("cebolla",{alt,arm1,arm2,tiempo,vol,pos
var suena,total;
suena =Blip.ar(alt,XLine.kr(arm1,arm2,tiempo),vol);
total =Pan2.ar(suena,SinOsc.kr(pos),vol);Out.ar(0,total)}).send(s))

f=Synth("cebolla",[\alt,rrand(100,1000),\arm1,10,\arm2,70,\tiempo,15,\vol,0.9,\pos,1])
f.set(\alt,rrand(10,20))
f.set(\pos,2)
f.set(\vol,0.5)
f.free
f=Synth("cebolla",[\alt,rrand(100,1000),\arm1,10,\arm2,70,\tiempo,15,\vol,0.9,\pos,1])
f.set(\alt,rrand(50,100))
f.set(\pos,5)
f.set(\vol,0.7)
f.set(\vol,0.6)
f.set(\vol,0.5)
f.set(\vol,0.4)
f.set(\vol,0.3)
f.set(\vol.0.2)
f.free

Este es otro con que practique

(SynthDef("pera",{altura=250var suena;suena=Saw.ar(altura,EnvGen.ar(Env.sine(0.5,1)));Out.ar(0,suena)}).send(s))
(SynthDef("manzana",{altura,armonicos,volumenvar suena;suena=Blip.ar(altura,armonicos,volumen);Out.ar(1,suena)}).send(s))
\*Iniciamos el Synth "manzana "*\
a=Synth("manzana",[\altura,100,\armonicos,3,\volumen,0.1])

b=Synth("pera",[\altura,200])
Synth("pera")
b=Synth("pera",[\altura,200])
b=Synth("pera",[\altura,50])
b=Synth("pera",[\altura,40])
a.set(\altura,200)
Synth("pera")
b=Synth("pera",[\altura,150])
Synth("pera")
b=Synth("pera",[\altura,50])
b=Synth("pera",[\altura,40])
a.set(\altura,100)
b=Synth("pera",[\altura,100])
Synth("pera")
b=Synth("pera",[\altura,50])
a.set(\altura,150)
b=Synth("pera",[\altura,40])
Synth("pera")
a.free

/*Tarea 5-Sinte*/
Has un sintetizador (SynthDef) a partir del siguiente código de Anabel.
(
{var linea,todo, moviendose;
linea = XLine.ar(10,70,7);
todo = SinOsc.ar(Saw.ar(10,100,1000),0,Blip.ar(linea,10,0.2),0.5);
moviendose = Pan2.ar(todo, SinOsc.kr(3))}.scope
)
/*y sugiere diferentes valores para los argumentos*/



(SynthDef("anabel",{distorcion,magico,vol
var linea,todo,moviendose;
linea=XLine.ar(10,70,20);
todo=SinOsc.ar(Saw.ar(0,10,distorcion),0,Blip.ar(linea,magico));
moviendose=Pan2.ar(todo,SinOsc.kr(2),vol);
Out.ar(0,moviendose)}).send(s))

a=Synth("anabel",[\distorcion,1000,\magico,10,\vol,0.5])
a.set(\distorcion,500)
a.set(\magico,5)
a.set(\vol,0.3)
a.free

a=Synth("anabel",[\distorcion,1000,\magico,10,\vol,0.5])
a.set(\distorcion,800)
a.set(\magico,2)
a.set(\vol,0.2)
a.free

a=Synth("anabel",[\distorcion,500,\magico,10,\vol,0.5])
a.set(\distorcion,250)
a.set(\magico,20)
a.set(\vol,0.3)
a.free
Ultima tarea
Hacer dos ejercicios Código-SynthDef-Pbind, donde se utilicen los patrones Pshuf,Prand, Pwhite y Pseq.


Synth Pbin— Original partitura sin azar. Como debe sonar normalmente

(SynthDef("run",{altura=0var suena;suena=Saw.ar(altura,EnvGen.ar(Env.sine(0.5,1)));Out.ar(0,suena)}).store)

Pbind(\instrument,\run,\altura,
Pseq([70,80,90,100,110,120,110,100,90,80,70,190,190,200,200,190,190,
180,180,170,170,160,160,150,150,140,140,150,120,160,110,170,100,180,
90,190,90,200,80,210,70,220,60,230,50,70,60,80,70,90,80,100,90,110,100,
120,110,130,120,140,130,150,140,160,130,150,120,140,110,130,100,120,90,110,80,100,70,90,60,80,50,60,40,50],1),
\dur,0.3).play


Synth Pbin: Aplicando Pwhite, Prand, Pshuf, Pseq.

El Pseq los estoy utilizando en la partitura original y con esto obtengo los dos ejercicios que pidió.

Pbind(\instrument,\run,\altura,
Pshuf([70,80,90,100,110,120,110,100,90,80,70,190,190,200,200,190,190,
180,180,170,170,160,160,150,150,140,140,150,120,160,110,170,100,180,
90,190,90,200,80,210,70,220,60,230,50,70,60,80,70,90,80,100,90,110,100,
120,110,130,120,140,130,150,140,160,130,150,120,140,110,130,100,120,90,110,80,100,70,90,60,80,50,60,40,50],1),
\dur,Pwhite(0.1,0.5)).play

En este ejercicio aplicamos Pshuf y Pwhite.

(Pbind(\midinote,Prand([69,71,72,74,76,74,72,71,69,90,88,86,84,85,83,76,74,72,71,69],inf),\dur, 0.1).play)

Aplique MIDINOTE para hacer el segundo ejercicio con Prand

(Pbind(\midinote,Prand([69,71,72,74,76,74,72,71,69,90,88,86,84,85,83,76,74,72,71,69],inf),\dur, 0.1).play)

29 junio, 2009

Evaluación y cierre de trimestre

Hola,
Tenemos como primera parte 7 tareas y un parcial sobre 3 que da 10. Ya todos debn tener sus notas.
COmo segunda parte 4 tareas:
Hacer una partitura para el SynthDef "cebolla" 1pto,
hacer un synth def de un código dado 3 ptos y esto no lo ha hecho nadie
Pbind 1 3pts para este viernes
Pbind 2 3ptos para este viernes

Eso es un gran total de 20 ptos/4 =5 
A trabajar!!

Ultima tarea

Hacer dos ejercicios Código-SynthDef-Pbind, donde se utilicen los patrones Pshuf,Prand, Pwhite y Pseq.

Patrones para Pbind

Los ejemplos están hechos con el sinte genérico, pero pueden aplicarse a los que ustedes creen.

/*Los patrones son secuencias de números que van cambiando a cada vuelta del Pbind, de diferentes maneras de acuerdo a cada caracterítica individual.


Pseq es una secuencia que se establece y se le dice cuantas vueltas debe dar, podemos usar "inf" para indicar que es infinito*/


(

Pbind(\midinote, Pseq([69,71,72,74,76],inf),

\dur, 0.1

).play

)


/*Pshuf baraja los números que tiene y escoge una secuencia y la repite, si te detienes y empiezas otra vez escogerá otra secuencia con las mismas notas*/

(

Pbind(\midinote, Pshuf([69,71,72,74,76],inf),

\dur, Pseq([1,0.5,0.5],inf)

).play

)


/*Prand escoge aleatoriamente de su lista a cada vuelta

*/


(

Pbind(\midinote, Prand([69,71,72,74,76],inf),

\dur, Prand([0.1,0.3,0.3],inf)

).play

)


/*Pwhite se parece a rrand, se establece la cota superior y la inferior, si no se pone duración asume el infinito como default*/

(

Pbind(\freq, Pwhite(400,1000),

\dur, Pwhite(0.1,0.3)

).play

)


SIntetizador genérico para Pbind

Supercollider tiene un sintetizador genérico que responde al Pbind sin tener que hacer código, ni declarar SynthDef

/*\dur,es el tiempo antes de que de la vuelta*/

(

Pbind(\freq, 400,

\dur, 0.1

).play

)


/*En vez de poner frecuencias se puede poner notas midi(que van del 0 a 127)*/


(

Pbind(\midinote, 69,

    \dur, 0.5

).play

)


/*Otros parámetros son amp, para amplitud*/

(

Pbind(\midinote, 69,

\dur, 0.5 ,

  \amp, 0.01

).play

)

Otro Ejemplo de SInte a Pbind

(SynthDef("manzana",{|altura,armonicos,volumen,paneo|

var suena,env;

env = EnvGen.ar(Env.perc,doneAction:2);

suena =Blip.ar(altura,armonicos,volumen);

suena =Pan2.ar(suena*env,paneo);

Out.ar(0,suena)}).store

)


(Pbind(\instrument,\manzana,

\altura,Prand([500,200,30],inf),

\armonicos, Prand([5,20,3],inf),

\volumen,0.3,

\paneo,Pwhite(-1.0,1.0),

\dur,Prand([0.2,0.3,0.1],inf)).play

)