Skip to content
BoWen Chai's Notes
Go back

Build a Cozy Lo-fi Study Loop with Strudel

Edit page

An original 72 BPM lo-fi loop for coding, studying, and thinking: slow drums, light swing, warm extended chords, a quiet bass line, and a melody that leaves room for concentration.

stack(
  // Quiet record-like dust, synthesized rather than sampled.
  sound("crackle*16")
    .hpf(500)
    .lpf(4200)
    .gain(0.008),

  // A soft kick on beat one, plus a late ghost hit around beat three.
  note("c1 ~ [~ c1] ~")
    .sound("sine")
    .penv(24)
    .pdecay(0.08)
    .decay(0.18)
    .sustain(0)
    .gain(0.28),

  // Pink noise stands in for a brushed snare on beats two and four.
  sound("~ pink ~ pink")
    .hpf(1200)
    .lpf(4800)
    .decay(0.11)
    .sustain(0)
    .late(0.012)
    .gain(0.065),

  // Alternating velocities and subtle swing keep the hats human.
  sound("white*8")
    .hpf(6500)
    .decay(0.02)
    .sustain(0)
    .swingBy(0.12, 4)
    .gain("[0.012 0.026]*4"),

  // Cm9 → Abmaj7 → Fm9 → G7(b9), one chord per bar.
  note("<[c3,eb3,g3,bb3,d4] [ab2,c3,eb3,g3] [f2,ab2,c3,eb3,g3] [g2,b2,d3,f3,ab3]>")
    .sound("triangle")
    .lpf(950)
    .attack(0.08)
    .decay(0.4)
    .sustain(0.4)
    .release(1.2)
    .room(0.18)
    .gain(0.105),

  // Root movement anchors the harmony without filling the mix.
  note("<c2 ab1 f1 g1>")
    .sound("sine")
    .lpf(260)
    .attack(0.03)
    .release(0.5)
    .gain(0.15),

  // A sparse four-bar answer that leaves plenty of silence.
  note("<[g4 ~ eb4 ~] [c5 ~ g4 bb4] [ab4 ~ c5 ~] [g4 f4 d4 ~]>")
    .sound("triangle")
    .lpf(1600)
    .attack(0.03)
    .decay(0.25)
    .sustain(0.18)
    .release(0.6)
    .delay(0.12)
    .room(0.3)
    .gain(0.055)
).cpm(72 / 4)

Why the loop feels calm

To make it sleepier, try 66 / 4 in the last line. To make the pocket straighter, reduce swingBy(0.12, 4) toward zero. Keep gain changes small: several stacked layers can become loud quickly.


Edit page
Share this post:

Previous Post
Create Classic Glass Animals-Style Music in Strudel
Next Post
Note App: 胶片闪光设置:GN、功率与曝光微调