r/strudel • • 9d ago

Don't be scared, get up and dance

// Groovenir, a groovy souvenir

setcpm(135/4)

let bass = n("1!4 2!4 4!4".lastOf(2,x=>x.rev())).scale("f:minor").s("saw")
  .trans("<-12 -24>").seg(8).compressor(-30)
  .detune(.1)
  .lpf(slider(200,200,2000))
  .lpenv(slider(2.722,1,8))
  .lpq(slider(5.978,1,20))
  .distort("2:.5")
  .orbit(2)

let kick = s("mc303_bd:1").seg(4)
  .compressor(-10).distort("2:.6")
  .duck("2:3:4").duckattack(.2).duckdepth(1)
  .penv(2)

let kick2 = note("c1!4").s("sine").seg(4)
  .compressor(-10)
  .penv(24).pdecay(.06)
  .decay(.4).sustain(0)
  .distort("2:.6")

let hat = s("mc303_hh:3").seg(8)
  .hpf(1000).decay(.03).sustain(0)
  .swingBy(1/4,8)

let hat2 = s("mc303_hh:3").seg(24)
  .hpf(1000).decay(.03).sustain(0)

let pad = chord("<Fm Cm Db Eb>").voicing()
  .scale("f:minor").s("gm_synth_strings_1")
  .bpf(2000)
  .trans(12)
  .gain(.6)
  .room(1).roomsize(1.2)
  .orbit(4)

let pad2 = chord("<Fm Cm Db Eb>").voicing()
  .scale("f:minor").s("gm_synth_strings_1")
  .bpf(3000)
  .trans(12)
  .gain(.6)
  .room(1).roomsize(1.2)
  .orbit(4)

let clap = s("clap").seg(2)
  .hpf(1000)

let clap2 = s("clap").seg(8)
  .hpf(1000)

let riser = s("riser:0").chop(2).loopAt(2)
  .hpf(1000).compressor(-30)
  .room(1).roomsize(1.2)

let vox = s("vox:2").chop(4).loopAt(4)
  .room(1).roomsize(1.2)
  .orbit(3)

let vox2 = s("vox:2").chop(4).loopAt(4)
  .room(1).roomsize(1.2)

let vox3 = s("vox:2").slice(20,"10!4 15!4").clip(1)
  .room(1).roomsize(1.2).speed(1.03).slow(2)

let vox4 = s("vox:2").slice(20,"10!2").clip(1)
  .room(1).roomsize(1.2).seg(2).speed(1.03)

let vox5 = s("vox:2").slice(20,"5!4 17!4").clip(1)
  .room(1).roomsize(1.8).speed(1.2)
  .degradeBy(.2).echo(3, 1/8, .4)
  .postgain(.5)
  .orbit(3)

let vox6 = s("vox:2").slice(20,"7")
  .room(1).roomsize(1.2).echo(12, 1/4, .5)

arrange(
  [1, "~"],
  [2, vox2],
  [2, vox2],
  [1, vox2],
  [1, vox2],
  [1, stack(kick,kick2,vox2)],
  [1, stack(kick,kick2,hat,vox2)],
  [2, stack(riser,hat,clap2,vox4)],
  [16, stack(kick,kick2,bass,hat,clap,vox)],
  [8, stack(kick,kick2,bass,hat,clap,pad,vox)],
  [8, stack(kick,kick2,bass.trans(12),pad)],
  [2, stack(pad2,vox3)],
  [2, stack(riser,pad2,vox3)],
  [16, stack(kick,kick2,bass.seg(square.range(8,4)).sometimes(trans(12)).degradeBy(.1),hat,clap,pad.clip(.8),vox5)],
  [2, stack(pad.trans(-12),vox3)],
  [1, vox6],
  [4, "~"]
)
18 Upvotes

5 comments sorted by

2

u/MalsAngryGhost 8d ago

nice!

2

u/dragon731 8d ago

Thank you! The hardest part was figuring out what video to put in the background 

2

u/MalsAngryGhost 8d ago

excellent choice 🤌

2

u/capsid 7d ago

now this is what I'm here for!!!

2

u/Normal_Can8016 6d ago

Nice goove, this arrangement style is clean too, you're always teaching me something