Alright, a bit more than ‘a day or two’! - but here’s my noise tune. I could spend another day or so tweaking it, but felt I just wanted to get it out
Note: it starts out slightly resource demanding, so hopefully it won’t grind to a halt for you
The code is a bit messy, and could probably be simplified a bit, but it does the job
I haven’t done any mastering on it either - so possibly some small improvements could be made in that regard - but it’s still fairly reasonable
# chill made with noise and some simple fx only
use_bpm 100
live_loop :met do
sleep 2
end
live_loop :mel1, sync: :met do
ns = (ring :a2).repeat(32) + (ring :a2, :b2, :d2, :a2, :d2, :c2).repeat(4)
ds = (ring 4).repeat(32) + (ring 4, 4, 8).repeat(8)
with_fx :level, amp: (ring 0, 0.5).ramp.tick(:a) do |lv|
control lv, amp_slide: 32, amp: (ring 0.5, 1).ramp.look(:a)
with_fx :reverb, room: 1, mix: 0.4 do
with_fx :rlpf, centre: 100, res: 0.8, mix: 1, amp: 2 do |rb0|
with_fx :wobble, filter: 1, phase: 32, mix: 0.75, cutoff_min: 60, cutoff_max: 70, invert_wave: 1, amp: 1 do |rh|
with_fx :tanh, krunch: 5, mix: 1, amp: 3 do |th|
2.times do |i|
ds.length.times do
stop if i == 1 && look % ns.length == 32
tick
cue :four if i == 0 && look % ns.length == 44
with_fx :rbpf, centre: ns.look + 24, res: 0.9 do |rb1|
with_fx :rlpf, cutoff: ns.look + 1, res: 0.7 do |rb2|
synth :noise, amp: 1, sustain: ds.look, release: 0, cutoff: ns.look, res: 0.995
end
s = synth :noise, amp: 0.1, sustain: ds.look, release: 0, cutoff: ns.look + 12, res: 0.995
control s, slide: ds.look, cutoff: ns.look + 12.1
end
sleep ds.look
end
end
end
end
end
end
end
end
live_loop :beat1, sync: :met do
hs = (bools 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0)
with_fx :level, amp: (ring 0, 1).ramp.tick(:a) do |lv|
control lv, amp_slide: 64, amp: 1
with_fx :rbpf, centre: 45, mix: 0.7, amp: 2 do
with_fx :rlpf, cutoff: 40, amp: 1, res: 0.85, reps: (16 * 4) do
hs.length.times do
with_fx :rbpf, centre: 70, amp: 5, res: 0.85 do |rb|
tick
synth :noise, amp: 5, sustain: 0.125, release: 0, res: 0.998, cutoff: 60 if hs.look
control rb, slide: 0.0625, centre: 20
sleep 0.25
end
end
end
end
end
stop
end
live_loop :beat2, sync: :met, delay: 128 do
hs = (bools 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
with_fx :gverb, ref_level: 0, tail_level: 0.8, release: 8, room: 100, spread: 0.2, mix: 0.75 do
with_fx :rhpf, cutoff: 125, res: 0.9, amp: 0.8 do
with_fx :rhpf, cutoff: 122, reps: 32 do
hs.length.times do
with_fx :rbpf, centre: 117, amp: 0.75, res: 0.975 do |rb|
tick
synth :noise, amp: rrand(2, 2.5), sustain: 0, release: rrand(0.25, 0.5), res: 0.1, cutoff: 120 if hs.look
sleep 0.25
end
end
end
end
end
stop
end
live_loop :mel3, sync: :mel1 do |i|
sleep 64
stop if i == 1
ns = (ring :e3) + (ring :e3, :cs3, :b2, :a2, :e3, :a2, :d3).repeat(4)
ds = (ring 64) + (knit 4, 6, 8, 1).repeat(4)
with_fx :reverb, room: 1 do
with_fx :hpf, cutoff: 90, amp: 4 do
with_fx :lpf, cutoff: 80, amp: 1, mix: 0.9 do
with_fx :tanh, mix: 0.1 do
ns.length.times do
tick
with_fx :bpf, centre: ns.look + 12, amp: 1, res: 0.95 do
with_fx :rbpf, centre: ns.look + 12.1, amp: 1, res: 0.975 do
synth :noise, amp: 1, attack: 0.5, release: ds.look, cutoff: ns.look + 12, res: 0.997
sleep ds.look
end
end
end
end
end
end
end
i += 1
end
live_loop :mel4, sync: :met do
sync :four
ns = ((ring :a4, :cs5, :b4, :fs4, :cs5, :b4).repeat(2) +
(ring :gs4, :b4, :a4, :cs5, :d5, :e5) +
(ring :gs4, :b4, :a4, :cs5, :d5, :e5).shuffle).repeat(2) +
((ring :a4, :cs5, :b4, :fs4, :cs5, :b4).shuffle.repeat(2) +
(ring :gs4, :b4, :a4, :cs5, :d5, :e5).shuffle +
(ring :gs4, :b4, :a4, :cs5, :d5, :e5).shuffle).repeat(2)
ds = (ring 0.75, 0.75, 0.75, 0.75, 0.5, 0.5)
with_fx :reverb, room: 1, mix: 0.4 do
with_fx :rbpf, centre: 110, res: 0.8, amp: 1.8 do
with_fx :lpf, cutoff: 80, amp: 1, mix: 0.9, reps: 2 do
ns.length.times do |i|
tick
unless ns.look == :r
if i < (ns.length / 2.0)
with_fx :bpf, centre: ns.look + 12, amp: 1, res: 0.95 do
with_fx :rbpf, centre: ns.look + 12.1, amp: 1, res: 0.975 do
synth :noise, amp: 1, attack: 0, sustain: ds.look, release: 0, cutoff: ns.look + 12, res: 0.997
end
end
else
with_fx :bpf, centre: ns.look, amp: 2, res: 0.95 do
with_fx :rbpf, centre: ns.look + 0.1, amp: 1, res: 0.975 do
synth :noise, amp: 1, attack: 0, sustain: ds.look, release: 0, cutoff: ns.look, res: 0.997
end
end
end
end
sleep ds.look
end
end
end
end
stop
end
live_loop :mel5, sync: :met, delay: 258 do
ns = (ring :b4)
ns2 = (ring :a4)
ds = (ring 16)
with_fx :lpf, cutoff: 60, amp: 1.3 do
with_fx :distortion, distort: 0.2, amp: 0.5, reps: 6 do
ns.length.times do
tick
s = synth :noise, amp: 0.5, sustain: ds.look, release: 0, cutoff: ns.look, res: 0.997
sleep 7
control s, slide: 1, cutoff: ns2.look
sleep ds.look - 7
end
end
end
stop
end