Skip to content

Instantly share code, notes, and snippets.

@pchinjr
Created August 25, 2025 15:49
Show Gist options
  • Select an option

  • Save pchinjr/ae691e68006446a3bf041fc185edf105 to your computer and use it in GitHub Desktop.

Select an option

Save pchinjr/ae691e68006446a3bf041fc185edf105 to your computer and use it in GitHub Desktop.
strudel.cc example from switchangel
setGainCurve(x => Math.pow(x,2))
samples('github:switchangel/breaks') // loads samples from github
samples('github:switchangel/pad')
samples('github:tidalcycles/uzu-drumkit')
setCps(170/60/4)
$: s("breaks/2").fit()
.scrub(irand(16).div(16).seg(8) // random chopped values in sections 16th long, as 8th notes
.rib("<50>",4))//taking a small ribbon of time playing over and over in a loop
.n(irand(1).rib(20,1))
.almostNever(ply("2 | 4"))
.orbit(2).distort("2:.5")
.scope()
$: s("white!8").decay(.08).gain(.45) // white noise used as metronome
.almostNever(ply("2 | 4"))
const chops = [
"0@5 0@3".color("teal"),
".16 .3 .11 .5@5".color("yellow"),
rand.seg(8).rib(33, .5)
]
$: s("swpad").scrub(pick(chops, "<0>")).att(.3)
.n(4).gain(.8).note("<c2@3 c3>")
.room(1).roomsize(4)
.phaser(.4)
._punchcard()
// $: note("<c2 g#1 f1@2>/2")
// .struct("1@5 1@3").lpenv(4).lpa(2)
// .s("supersaw").lpf(100).distort("2:.5")
// all(x => x.lpf(slider(77.1,0,100).pow(2)).rib(6, 1/2)
// )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment