Posted February 16, 2010
Happy Tuesday.
clock = Clock(120)
scale = { 0, 3, 7, 10 }
base = 40
function beep()
local o = PulseOsc(440)
c(o, speaker)
while true do
o.freq = mtof(base + scale[random(1, #scale)])
o.width = rand()
yield(0.5, clock)
end
end
fork(beep)
fork(beep)
fork(beep)
fork(beep)
fork(beep)
fork(beep)
function beep2()
local o = PulseOsc(440)
local g = Gain()
c(o, g)
g.gain = 0
local m = SinOsc(0.03)
m.phase = 0.7
c(m, blackhole)
while true do
fork(function()
c(g, dac)
o.freq = mtof(base + 24 + scale[#scale])
o.width = rand()
yield(0.25, clock)
d(g, dac)
end)
yield(0.5, clock)
g.gain = m.last * 0.5 + 0.5
end
end
fork(beep2)
function tick(gg)
local n = Noise(0.1)
local g = Gain(gg)
c(n, g, dac)
yield(10 * ms)
d(g, dac)
end
fork(function()
while true do
fork(tick, 1)
yield(1, clock)
fork(tick, .5)
yield(1, clock)
fork(tick, .5)
yield(1, clock)
fork(tick, .5)
yield(1, clock)
end
end)
while yield(16, clock) do
base = random(base - 2, base + 3)
clock.bpm = clock.bpm * (1 + rand() * 0.02)
end
You can e-mail comments to tom@alltom.com