VOSIM   


VOSIM.ar(trig, freq, nCycles, decay)


trig (.ar & .kr)

starts a vosim pulse when a transition from non-positive to positive occurs and no other vosim is still going.

.ar will produce sample accurate triggering.

freq (.ar & kr)

sets the frequency of the squared sinewave.

nCycles

sets the number of squared sinewaves to use in one vosim pulse.

nCycles gets checked when VOSIM receives a trigger.

decay

sets the decay factor.


s.boot;


z = {VOSIM.ar(Impulse.ar(100), MouseX.kr(440, 880, 1), 3, 0.99)}.play;


z.free;



(

z = { 

  var p,t,f,n,d,a,l,x,y,z,x_,y_;

  p = TRand.ar(0.0,1.0,Impulse.ar(6.0));

  t = Impulse.ar(9*(1+(p>0.95)));

  f = TRand.ar([40.0,120.0,220.0],[440.0,990.0,880.0],t);

  n = TRand.ar(4.0,[8.0, 16.0, 32.0],t);

  d = TRand.ar([0.2,0.4,0.6],[0.6, 0.8, 1.0],t);

  a = TRand.ar(0.0,[0.2, 0.6, 1.0],t);

  l = TRand.ar(-1.0,1.0,t);

  x = MouseX.kr(0.25,2.0);

  y = MouseY.kr(0.25,1.5);

  z = 9.0;

  x_ = x * LFNoise2.kr(z).range(0.25,2.0);

  y_ = y * LFNoise2.kr(z).range(0.25,2.0);

  Out.ar(0, Pan2.ar(Mix.ar(VOSIM.ar(t, f*x_, n, d*y_) * a),l,1));

}.play;

)


z.free;