// Strudel — long, subtle, atmospheric, chill (no harsh transients)
// Paste into strudel.cc
setcpm(82)
const root = "<a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2 a2>"
// soft kick-ish thump + brushed hats
$: stack(
// low thump (soft, sparse)
s("bd ~ ~ ~ bd ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~")
.gain("0.32 0.0 0.0 0.0 0.28 0.0 0.0 0.0 0.0 0.0 0.22 0.0 0.0 0.0 0.0 0.0")
.lpf(170)
.room(0.35).size(0.85),
// whisper hats (very subtle movement)
s("[~ hh:2]*16")
.gain("0.06 0.04 0.05 0.03 0.06 0.04 0.05 0.03 0.06 0.04 0.05 0.03 0.07 0.04 0.05 0.03")
.hpf(6500)
.room(0.55).size(0.95)
.delay(0.18).delayfb(0.22).delaytime(0.33)
)
// warm pad chord bed (slow harmonic drift)
$: n("<0 0 0 0 2 2 2 2 5 5 5 5 4 4 4 4>")
.add(note(root))
.add("<0 7 12 7>")
.s("saw")
.slow(8)
.attack(1.2).release(6.8)
.gain(0.12)
.lpf("<900 1100 950 1200 1000 1300 980 1250>")
.lpq(0.25)
.room(0.8).size(0.98)
.delay(0.25).delaytime(0.5).delayfb(0.28)
// high, glassy “air” layer (tiny notes, lots of space)
$: n("<12 14 16 19 16 14 12 11 12 14 16 19 21 19 16 14>")
.add(note(root))
.s("triangle")
.slow(2)
.attack(0.02).release(1.8)
.gain(0.05)
.hpf(2500)
.room(0.9).size(0.99)
.delay(0.33).delaytime("<0.375 0.5 0.625 0.75>").delayfb(0.35)
// gentle evolving bass (not punchy)
$: n("<0 0 0 0 0 -2 -2 -2 -5 -5 -5 -4 -4 -4 -2 -2>")
.add(note(root))
.s("sine")
.slow(4)
.attack(0.15).release(1.2)
.gain(0.10)
.lpf(220)
.room(0.25).size(0.7)
// occasional texture swells (like distant noise / tape)
$: s("noise:2")
.slow(16)
.attack(2.5).release(6.5)
.gain("<0.00 0.02 0.00 0.03 0.00 0.02 0.00 0.04>")
.hpf(1800).lpf(9000)
.room(0.95).size(0.99)
.delay(0.5).delaytime(0.75).delayfb(0.22)
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
setcpm(82)
const root = "a2"
// soft pulse
$: s("bd ~ ~ ~ ~ ~ ~ ~")
.slow(2)
.gain(0.25)
.lpf(160)
.room(0.4).size(0.8)
// airy hats
$: s("~ hh*8")
.gain("0.04 0.03 0.05 0.03")
.hpf(6000)
.room(0.7).size(0.95)
.delay(0.2).delaytime(0.33).delayfb(0.25)
// warm drifting pad
$: n("0 0 2 5 4 2")
.add(note(root))
.add("0 7 12")
.s("saw")
.slow(8)
.attack(1.5).release(7)
.gain(0.12)
.lpf("900 1100 1000 1200")
.room(0.85).size(0.98)
.delay(0.25).delaytime(0.5).delayfb(0.3)
// high shimmer
$: n("12 14 16 19 16 14")
.add(note(root))
.s("triangle")
.slow(2)
.attack(0.02).release(2)
.gain(0.05)
.hpf(2500)
.room(0.9).size(0.99)
.delay(0.33).delaytime("0.375 0.5 0.75").delayfb(0.35)
// gentle bass
$: n("0 0 -2 -5 -4")
.add(note(root))
.s("sine")
.slow(4)
.attack(0.2).release(1.4)
.gain(0.1)
.lpf(220)
// distant texture swell
$: s("noise")
.slow(16)
.attack(3).release(7)
.gain("0 0.02 0 0.03")
.hpf(2000)
.room(0.95).size(1)
.delay(0.5).delaytime(0.75).delayfb(0.2)
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
// ultra-chill, very slow, ambient Strudel
// safe strings, nothing fancy
setcpm(60)
const root = "a2"
// deep soft breath
$: n("0")
.add(note(root))
.s("sine")
.slow(8)
.attack(3)
.release(10)
.gain(0.12)
.lpf(180)
.room(0.7)
.size(0.9)
// warm pad drift
$: n("0 3 5 7 5 3")
.add(note(root))
.s("saw")
.slow(16)
.attack(4)
.release(14)
.gain(0.08)
.lpf(900)
.room(0.85)
.size(0.98)
// high air shimmer
$: n("12 14 16 14")
.add(note(root))
.s("triangle")
.slow(12)
.attack(1)
.release(6)
.gain(0.04)
.hpf(3000)
.room(0.9)
.size(1)
// distant noise wash
$: s("noise")
.slow(32)
.attack(6)
.release(18)
.gain(0.025)
.hpf(2000)
.room(0.95)
.size(1)
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈