Independant intervalls

Hey there,
is there a more cpu wise efficient way to do this? and does someone know how i would implement this in super collider? thanks in advance!:

counter1 = 0

live_loop :counters1 do
  counter1 += 1
  sleep (ring 1).tick(:sjda1)
end

freq1 = (ring 50,60,70)


counter = 0

live_loop :counters do
  counter += 1
  sleep (ring 0.5).tick(:sjda)
end

slepz = (ring 0.25,0.125)


live_loop :bass do
  play freq1[counter1], amp: 5, attack: 0.075, release: 0.01
  sleep slepz[counter]
end
1 Like
tick
tick(:c1) if (bools 1,0).look
tick(:c2) if (bools 1,0,0).look  #etc

would do the counters.
You could also use .stretch(2) on the freq1 ring

If I understand this correctly

hey,

i don´t really know how i would implement that

tick
tick(:c1) if (bools 1,0).look
play freq.look(:c1)
sleep slep.look

or

play freq.stretch(2).look
sleep slep.look

How about this?

live_loop :bass do
  freq = (ring 50,60,70).tick
  (knit 0.125, 4, 0.25, 2).each do |t|
    play freq, amp: 5, attack: 0.075, release: 0.01
    sleep t
  end
end
1 Like