SuperCollider : LeTemps

SuperCollider :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Buffers< Index > Temps logique, temps physique


la gestion du temps est tributaire de la structure client/serveur de sc

passage de messages au serveur


sendBundle

(voir Temps logique, temps physique)

    s.sendBundle(0.2, ["/s_new", "default", x = s.nextNodeID, 0, 1], ["/n_set", x, "freq", 500]);


listSendBundle

makeBundle(time, func, bundle)
voir Server


Horloges


SystemClock


AppClock


TempoClock


Scheduler


Exemples
s = Server.local;
s.boot;

// charger d'abord
(
SynthDef(\tic,{ arg note=80, amp=0.5, pan=0.0;
    var freq, env;
    freq = note.midicps;
    env = EnvGen.kr(Env.perc(0.001, 0.1), doneAction:2);
    Out.ar(0, Formant.ar(freq, freq*2)!2 * env*0.5*amp)
}).load(s);
)

//la valeur retournée par la fonction incluse sert de valeur temporelle (*delta time*) pour le déclanchement de l'appel suivant

(
SystemClock.sched(2.0,//start at 0.0 sec
    {
        Synth(\tic);
        0.25        //la fonction est évaluée tout les 1/4 de sec.
    }
)
)

//valeurs temporelles exprimées en beats

(
var t;

t = TempoClock(2); // horloge à 120bpm (2 pulsations par secondes)

t.schedAbs(0, {
   
                Synth(\tic);
                1.0 // offset tout les 'temps' (beat)
})

)

////tempoClock
(

t = TempoClock.default

t.schedAbs(t.elapsedBeats.ceil, // démarre au prochain temps plein
    {
        Synth(\tic, [\note, 36+[0, 3, -6].choose, \amp, 1.5]);
        [0.25,0.5].wchoose([0.3,0.7])
    })
)


(
t.schedAbs(t.elapsedBeats.ceil, // idem
    {
        Synth(\tic, [\note, 72+[0, 3, 4, 11, 10, 12, 14, 17, 18].choose, \amp, 0.2.rand]);
        [0.125, 2].wchoose([0.95, 0.05]);
    }
)
)
t.tempo_(1.3)//+vite
t.tempo_(0.9)


////
//deux tempos
(
var u,v;

u = TempoClock(3/4);
v = TempoClock(5/4);

u.schedAbs(0, { Synth(\tic, [\note, rrand(61.8,67.5)]);  0.25 });
v.schedAbs(0, { Synth(\tic);  0.25 });

)


[
Routines, Task, Condition

Streams, Patterns, Events
le temps sur le serveur
]


Buffers< Index > Temps logique, temps physique

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.1302 seconds