Dinou – Dents de serra

Copio a continuació el codi en SuperCollider d’aquesta peça, titulada Dents de serra. En aquesta ocasió la peça dura exactament una hora. Evoluciona durant els primers 30 minuts, fins el punt central de la peça, a partir del qual desfà els seus passos, de manera exacta, fins que torna al punt inicial.

(
SynthDef(\drone, {
     arg dur=3600, fon=150;
     var env, veu1, veu2, veu3, veu4, veu5, veu6, veu7, veu8, veu9, veu10, veu11, veu12, veu13, veu14, veu15, veu16, veu17, veu18, veu19;
     env = EnvGen.kr(Env.new([0, 0.25, 0.25, 0], [5, dur-10, 5]), doneAction: 2);
     veu1 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/19))
     )*env;
     veu2 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/2)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/18))
     )*env;
     veu3 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/3)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/17))
     )*env;
     veu4 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/4)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/16))
     )*env;
     veu5 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/5)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/15))
     )*env;
     veu6 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/6)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/14))
     )*env;
     veu7 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/7)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/13))
     )*env;
     veu8 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/8)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/12))
     )*env;
     veu9 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/9)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/11))
     )*env;
     veu10 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/10)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/10))
     )*env;
     veu11 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/11)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/9))
     )*env;
     veu12 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/12)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/8))
     )*env;
     veu13 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/13)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/7))
     )*env;
     veu14 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/14)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/6))
     )*env;
     veu15 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/15)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/5))
     )*env;
     veu16 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/16)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/4))
     )*env;
     veu17 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/17)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/3))
     )*env;
     veu18 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/18)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800/2))
     )*env;
     veu19 = VarSaw.ar(
         EnvGen.kr(Env.circle([fon, fon*1.5], 1800/19)), 0,
         EnvGen.kr(Env.circle([0, 1], 1800))
     )*env;
     Out.ar(0, Splay.ar([veu1, veu2, veu3, veu4, veu5, veu6, veu7, veu8, veu9, veu10, veu11, veu12, veu13, veu14, veu15, veu16, veu17, veu18, veu19]));
}).add
)

x = Synth(\drone);

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out /  Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out /  Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out /  Canvia )

S'està connectant a %s