Léon Theremin era un Hacker, un inventore sovietico, famoso per la creazione dell'omonimo Theremin, uno dei primi strumenti musicali elettronici. Nel 1919 stava lavorando, nel laboratorio del noto fisico Ioffe, con particolari dispositivi di sua ideazione atti a misurare la densità dei gas nel vuoto; ben presto si accorse che in certe condizioni si produceva un fischio che variava di frequenza avvicinando o allontanando la mano dai circuiti. Forte della sua esperienza di qualche anno prima in campo militare, con amplificatori e oscillatori che utilizzavano valvole termoioniche ed interessato dai possibili risvolti pratici del fenomeno, continuò a fare esperimenti fino ad inventare un vero e proprio strumento musicale cui diede il nome di eterofono.

r[\pianovel].value(b.value("f3+c6 ,off ,c3+c4 ,as4+ds4+fs3+c1  ,f3+f2 ,a3,f1 ,d2 "),z.value("f3+c6 ,off ,c3+c4 ,as4+ds4+fs3+c1  ,f3+f2 ,a3,f1 ,d2 ")*0.5, 1);

r[\bz_bass].value(b.value("f3 ,f2 ,f2 ,f1 ,f3 ,f3 ,f1 ,f2 "),z.value("f3 ,f2 ,f2 ,f1 ,f3 ,f3 ,f1 ,f2 ")*0.5);
    16.wait;
    r[\bz_slap].value(b.value("f1 ,f1 ,off ,f1 ,f1,f1,f1 ,f1 ,f1 "),z.value("f1 ,f1 ,off ,f1 ,f1,f1,f1 ,f1 ,f1 ")*0.5);

~bzbass[5] = \filter -> {arg sig; (3111.33*sig.distort/(1+ (2231.23*sig.abs))).distort*0.25};

r[\pianovel].value(b.value("f4+f5 ,e4+e5 ,ds4+ds5 ,d4+d5  ,cs4+cs5 ,c4+c5,b4+b5 ,as4+as5 "),z.value("f3+c6 ,e5+e4 ,c3+c4 ,as4+ds4+fs3+c1  ,f3+f2 ,a3,f1 ,d2 ")*0.5, 1);

//Space Theremin sound from:
//Mitchell Sigman (2011) Steal this Sound. Milwaukee, WI: Hal Leonard Books
//under GNU GPL 3 as per SuperCollider license

(
~spacetheremin=Pfx(
    Pmono(
        \spacetheremin,
        \amp,Prand([0.4,0.45,0.5,0.55,0.5],inf),
        \midinote,Prand([0,2,3,5,6,8,9,11]+60,inf),
        \dur,Prand([1.0,1.5,0.5,0.75,1.25,2.0,0.57],inf),
        \lagTime,Pstutter(7,Pn(Pseries(0.05,0.05,8),inf)),
        \lfoRate,Pstutter(9,Pn(Pseries(6,0.5,5),inf)),
        \cutoff,Pstutter(11,Prand([1000,1500,2000,3000],inf))
    ),
    \spacereverb
)
)




il REBOP "incoraggia la creatività per se stessi piuttosto che per il consumo culturale". Non produce alcuna opera completa, quindi non esiste nulla da diciamo consumare e valutare. Il REBOP crea sempre composizioni parziali quindi mai complete; non crea opere musicali da consumare passivamente; quello che viene creato con il REBOP (che poi è solo una fotografia di una piccola parte dell'intero processo), può certamente essere condiviso open source, può essere quindi fonte di ispirazione e di studio, può essere analizzato e esplorato, ma ha già esaurito la sua funzione primaria : quella di portare il compositore in uno stato meditativo intenso; il REBOP è un processo di Esplorazione Realtime e dall'Hacking, dal LiveCoding, dal Reverse Engineering, dalla Composizione Algoritmica e dalla Sintesi del Suono, a tendere, si allargherà per pervadere e comprendere ogni momento e aspetto della vita quotidiana, in termini Situazionisti;

(
var c,e;
var bassAmp = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.6;
c=Pseq([4,0,0,4,4,0,0,0,4,0,0,0,4,4,3.5,0]*1,1);
e=Pseq([0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,3.5]*1,1);
Pbindef(~bzbass2,\instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,2,
\degree,Pseq([Pn(c,3),Pn(e,3)],inf),\dur,1/2,\amp,Pseq(bassAmp,inf),\rel,
0.3,\pan,-0.3);
Pbindef(~bzbass2).play;
)
(
var c,e;
var synth2Amp = [ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 ]*0.2;
c=Pseq([4,0,0,4,4,0,0,0,4,0,0,0,4,4,3.5,0]*1,1);
e=Pseq([0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,3.5]*1,1);
Pbindef(~synth2,\instrument,\sinfb,\scale,Scale.yu,\root,5,\octave,5,
\degree,Pseq([Pn(c,3),Pn(e,3)],inf),\dur,1/2,\amp,Pseq(synth2Amp,inf),\rel,
1.9,\pan,-0.7,\fb,1.7);
Pbindef(~synth2).play;
)

(
var c,e;
var bassAmp = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.3;
c=Pseq([4,0,0,4,4,0,0,0,4,0,0,0,4,4,3.5,0]*1,1);
Pbindef(~flute,\instrument,\flute,\scale,Scale.yu,\root,5,\octave,4,
\degree,Pseq([Pn(c,3)],inf),\dur,1/2,\amp,Pseq(bassAmp,inf),\rel,
0.3,\pan,0.7);
)

(
var c,e;
var bassAmp = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.2;
c=Pseq([4,0,4,4,4,0,4,4,4,0,4,4,4,4,3.5,0]*1,1);
e=Pseq([0,3.5,3.5,4]*1,4);
c=Pseq([0,1,3.5,3,4,5,6,7,0,1,3.5,3,4,5,6,7]*1,2);
e=Pseq([4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4]*1,1);
Pbindef(~xx,\instrument,\synth,\scale,Scale.yu,\root,5,\octave,3,
\degree,Pseq([Pn(c,3),Pn(e,3)],inf),\dur,1/4,\amp,Pseq(bassAmp,inf),\rel,
0.3,\pan,0.3);
)

(
~b=Pbind(\instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,2,\degree,Pseq([0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,3.5]*1,inf),\dur,1/2,\amp,0.5);
~b.play;
)

(
//var kickAmps = [ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ]*0.3;
var kickAmps = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]*0.3;
Pbindef(~k2, \instrument, \bplay, \buf, d["k"][0], \dur, 1/4, \amp,  Pseq(kickAmps, inf),
\rate, 1,\pan, 0.1);
Pbindef(~k2).play
)
(
var kickAmps = [ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ]*0.3;
~k1=Pbind( \instrument, \bplay, \buf, d["k"][1], \dur, 1/4, \amp,  Pseq(kickAmps, inf),
\rate, 1,\pan, -0.3);
~k1.play;
)

(
//var snareAmps = [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 ]*0.2; // 16 beats
var snareAmps = [ 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1 ]*0.15; // 16 beats
//var snareAmps = [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ]*0.1; // 16 beats
~sn = Pbind(\instrument,\bplay,\buf,d["s"][0],\dur,1/4,\amp,Pseq(snareAmps,inf),\pan,-0.1);
~sn.play;
)

(
//var hatAmps = [ 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0 ]*0.1; // 16 beats
var hatAmps = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.1; // 16 beats
~h = Pbind(\instrument,\bplay,\buf,d["ch"][0],\dur,1/4,\amp,Pseq(hatAmps,inf),\pan,0.3);
~h.play;
)

(
//var hatAmps = [ 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0 ]*0.1; // 16 beats
var hatAmps = [ 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0 ]*0.1; // 16 beats
~h2 = Pbind(\instrument,\bplay,\buf,d["ch"][3],\dur,1/4,\amp,Pseq(hatAmps,inf),\pan,-0.3);
~h2.play;
)


(
var voAmps = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.4; // 16 beats
~v = Pbind(\instrument,\bplay,\buf,d["voices"][2],\dur,120,\amp,Pseq(voAmps,inf),\pan,0.3);
~v.play;
)
(
var voAmps = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]*0.4; // 16 beats
~v1 = Pbind(\instrument,\bplay,\buf,d["voices"][4],\dur,120,\amp,Pseq(voAmps,inf),\pan,0.3);
~v1.play;
)



// This is a rework of https://www.shadertoy.com/view/lsfGzr,
// created by @paulofalcao, with sound, by Radical Ed
// License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License


#define time iTime

float makePoint(float x,float y,float fx,float fy,float sx,float sy,float t, float w){
   float xx=x+sin(t*fx)*sx*tan(fx*t)*log(fx*t);
   float yy=y+cos(t*fy)*sy*tan(fy*t)*log(fy*t);
   return 5.0*abs(sin(25.0*t/337.0))/sqrt(xx*xx+yy*yy)+log(w/4.0);
}

void mainImage( out vec4 fragColor, in vec2 fragCoord ) {

   vec2 p=(fragCoord.xy/iResolution.x)*2.0-vec2(1.0,iResolution.y/iResolution.x);


 
   // create pixel coordinates
   vec2 uv = fragCoord.xy / iResolution.xy;

   // the sound texture is 512x2
   int tx = int(uv.x*512.0);
 

   // second row is the sound wave, one texel is one mono sample
   float wave = texelFetch( iChannel0, ivec2(tx,1), 0 ).x;
 
   vec2 translate = vec2(cos(iTime),sin(iTime));
 
 
 
   p=p*7.0*abs(sin(iTime));
   p += translate*1.35*sin(iTime);
 
   float x=p.x;
   float y=p.y;
 
   vec3 col = vec3( 0.0, 0.0, 0.0);

    // add wave form on top
   //col += smoothstep( 0.0, 0.15, abs(wave- uv.x)/2.0 );
 
    //if (wave > 0.4) { wave = 0.4 ;}
 

   float a=
   makePoint(x + col.x,y + col.y,2.0,2.9,0.3,0.3,time, wave);
   a=a+makePoint(x + col.x,y + col.y,1.9,2.0,0.4,0.4,time, wave);
   a=a+makePoint(x + col.x,y + col.y,0.8,0.7,0.4,0.5,time, wave);
   a=a+makePoint(x + col.x,y + col.y,2.3,0.1,0.6,0.3,time, wave);
   a=a+makePoint(x + col.x,y + col.y,0.8,1.7,0.5,0.4,time, wave);
   a=a+makePoint(x + col.x,y + col.y,0.3,1.0,0.4,0.4,time, wave);
   a=a+makePoint(x + col.x,y + col.y,1.4,1.7,0.4,0.5,time, wave);
   a=a+makePoint(x + col.x,y + col.y,1.3,2.1,0.6,0.3,time, wave);
   a=a+makePoint(x + col.x,y + col.y,1.8,1.7,0.5,0.4,time, wave);
   
 
   float b=
   makePoint(x + col.x,y + col.y,1.2,1.9,0.3,0.3,time, wave);
   b=b+makePoint(x + col.x,y + col.y,0.7,2.7,0.4,0.4,time, wave);
   b=b+makePoint(x + col.x,y + col.y,1.4,0.6,0.4,0.5,time, wave);
   b=b+makePoint(x + col.x,y + col.y,2.6,0.4,0.6,0.3,time, wave);
   b=b+makePoint(x + col.x,y + col.y,0.7,1.4,0.5,0.4,time, wave);
   b=b+makePoint(x + col.x,y + col.y,0.7,1.7,0.4,0.4,time, wave);
   b=b+makePoint(x + col.x,y + col.y,0.8,0.5,0.4,0.5,time, wave);
   b=b+makePoint(x + col.x,y + col.y,1.4,0.9,0.6,0.3,time, wave);
   b=b+makePoint(x + col.x,y + col.y,0.7,1.3,0.5,0.4,time, wave);
 

   float c=
   makePoint(x + col.x,y + col.y,3.7,0.3,0.3,0.3,time, wave);
   c=c+makePoint(x + col.x,y + col.y,1.9,1.3,0.4,0.4,time, wave);
   c=c+makePoint(x + col.x,y + col.y,0.8,0.9,0.4,0.5,time, wave);
   c=c+makePoint(x + col.x,y + col.y,1.2,1.7,0.6,0.3,time, wave);
   c=c+makePoint(x + col.x,y + col.y,0.3,0.6,0.5,0.4,time, wave);
   c=c+makePoint(x + col.x,y + col.y,0.3,0.3,0.4,0.4,time, wave);
   c=c+makePoint(x + col.x,y + col.y,1.4,0.8,0.4,0.5,time, wave);
   c=c+makePoint(x + col.x,y + col.y,0.2,0.6,0.6,0.3,time, wave);
   c=c+makePoint(x + col.x,y + col.y,1.3,0.5,0.5,0.4,time, wave);
 
 
   vec3 d=vec3(a,b,c)/22.0;
 
 
   fragColor = vec4(d.x*2.0,d.x,d.x,1.0);
}







L'abitudine ti ha portato a non creare di volta in volta risposte originali e pertinenti a un dato momento. Non creando le tue risposte, ma aspettandoti di fatto che esse scaturiscano in modo passivo, passi la tua vita in stato di ipnosi, programmato a rispondere agli stimoli in base ai dati raccolti nei tuoi primissimi anni di vita; Rivoluzione come sconvolgimento di automatismi, abitudini e/o funzioni fisiologiche;


(
    var a,b,c,d;
    a=Pseq([Pseq([0,0,0,0,0],1),Pseq([1,1,1,-1,-1],1)],1);
    b=Pseq([Pseq([1,1,1,1,1],1),Pseq([4,-1,4,-1,-1],1)],1);
    c=Pseq([Pseq([0,0,0,0,0],1),Pseq([0,0,0,0,0],1)],1);
    d=Pseq([Pseq([-1,-1,-1,-1,-1],1),Pseq([2,2,2,1,1],1)],1);
    Pbindef(~bzbass,\instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,3,
        \degree,Pseq([Pn(a,2),Pn(b,2),Pn(a,2),Pn(b,2),Pn(c,2),Pn(d,2),Pn(c,2),Pn(d,2)],inf),\dur,Pbjorklund2(5,9)/3,\amp,0.4,\rel, 0.3,\pan, -0.3);
)


(
    var a,b,c,d;
    a=Pseq([Pseq([0,0,0,0,0],1),Pseq([1,1,1,-1,-1],1)],1);
    b=Pseq([Pseq([1,1,1,1,1],1),Pseq([4,-1,4,-1,-1],1)],1);
    c=Pseq([Pseq([0,0,0,0,0],1),Pseq([0,0,0,0,0],1)],1);
    d=Pseq([Pseq([-1,-1,-1,-1,-1],1),Pseq([2,2,2,1,1],1)],1);
    //~synth =
    Pbindef(~x, \instrument,\synth,\scale,Scale.yu,\root,5,\octave,Pseq([2,3],inf),
    \degree,Pseq([Pn(a,2),Pn(b,2),Pn(a,2),Pn(b,2),Pn(c,2),Pn(d,2),Pn(c,2),Pn(d,2)],inf),\dur,Pbjorklund2(5,9)/3,\amp,0.3,\rel, 0.3,\pan, 0.3);
)

(
    var a,b,c,d;
    c=Pseq([0,0,0,0,0,0,0,0],1);
    d=Pseq([-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,1],1);
    Pbindef(~bzbass2, \instrument,\bz_bass,\scale,Scale.yu,\root,5,\octave,2,
    \degree,Pseq([Pn(c,4),Pn(d,1)],inf),\dur,Pbjorklund2(8,9)/3,\amp,0.4,\rel,
    0.3,\pan,-0.3);
)