Commission Music

Commission Music
Bespoke Noise!!

Saturday, 25 September 2010

Julian Rohrhuber: <<> and <>> : Two Simple Operators for Composing Processes at Runtime

Still Live blogging the SC symposium

A Proposal for a new thing, which everybody else here seems to already know about.

NamedControl

a = { |freq = 700, t_trig = 1.0| Decay.kr(t_trig) * Blip.ar(freq) * 0.1}.play

becomes

a = { Decay.kr(\trig.tr) * Blip.ar(\freq.kr(400) * 0.1}.play;
a.set(\trig . . .

JITLib

Proxy stuff. (Man, I learned SC 3.0 and then now there's just all this extra stuff in the last 7 years and I should probably learn it.)

ProxySapce.push(s);
~out.play;
~out = {Dust.ar(5000 ! 2, 0.01) };
~out.fadeTime = 4

a = NodeProxy(s);
a.source =  {Dust.ar(5000 ! 2, 0.01) };

Ndef(\x, . . .)

(there are too many fucking syntaxes to do exactly the same thing. Why do we need three different ones? Why?!!)

Ndef(\x, { BPF.ar(Dust.ar(5000 ! 2, 0.01)) }).play;

Ndef(\x, { BPF.ar(Ndef.ar(\y), 2000, 0.1)}).play;
Ndef(\y, {Dust.ar(500)})

. . .

Ndef(\out) <<> Ndef(\k) <<> Ndef(\x)

does routing

NdefMixer(s) opens a GUI.

Ron Kuivila asks: this is mapping input. Notationally, you could pass the Ndef a symbol array. Answer: you could write map(map(Ndef(\out), \in, Ndef(\x) . . .

Ron says this is beautiful and great.

Ndef(\comb <<>.x nil //adverb action

the reverse syntax just works form the other direction.

Ndefs can feedback, but everything is delayed on block size.

No comments: