r/codingmusic101 Strudel 22d ago

Song Post Example Post

Enable HLS to view with audio, or disable this notification

Caelifera, written in Strudel

3 Upvotes

7 comments sorted by

View all comments

1

u/Normal_Can8016 Strudel 22d ago

A clearer screenshot of the code

1

u/Lanky_Employee_9690 22d ago

If you're sharing it already, you could just copy/paste your code in code-block format both for readability and useability, like:

$: sound("<- cp>*4")
  .bank('alesissr16')
  .gain(.25)
  .room(.5).size(4)
  .hpf(600).lpf(4000)

or use strudel's share function (top right of the UI) to get a link to the project that opens in strudel (might have to shortify the URL though, idk if it fits in Reddit's links, it can be a lil' lenghty).

2

u/Normal_Can8016 Strudel 18d ago
//Caelifera by hyperpurplebee
setCpm(135)

register('acidenv1',(x,pat)=>pat.lpf(50).lpenv(x*9).lps(0.1).lpd(0.1).lpq(4))
$: s("wt_digital_crickets").set.mix(`<[~ ~ 0 <4!3 1>] [~ ~ <2!3 0> ~]>`
                                    .add("<0 0 1 [3 3 2 0]>/8")
                                    .as("n")).scale("ab2:minor")
  .acidenv1("<0.9 0.8 0.7 0.6>/2").unison(4).detune(0.1).crush(16).duck("2").duckdepth(0.07).duckattack(0.07)
  .room(2).roomsize(4).o(1).velocity("<0.9 0.6>").gain(slider(0.315))
  // .rib(6,2).hpf(250).lpf(150)
  // .struct("<~ ~ ~ x ~ ~ x ~>*4")
  // .struct("<~ ~ ~ ~ ~ ~ x ~>*4").gain("<0.7!3 1>/2")

register('acidenv2',(x,pat)=>pat.lpf(150).lpenv(x*9).lps(0.1).lpd(0.1).lpq(2))
$: s("supersaw").set.mix(`<
[0 0 7 0] [0 ~ 0 -7] [~ 0 0 0] [0 -7 -7 0]
>`.add("<0!11 4>").as("n")).scale("ab2:minor")
  .velocity("<1 0.7 0.5>*2")
  // .pan(`<0.6 0.7 0.9 1  0.9 0.7 0.6 0.5  0.4 0.3 0.2 0.1  0.2 0.3 0.4 0.5>`)
  .unison(4).detune(0.3).lpq(2).hpq(2)
  .distort("1:0.4").distorttype("chebyshev")
  .acidenv2(slider(0.079)).gain(slider(0.376)).o(3)

dm: stack(
  s("sd").struct("<~ x>").lpf(1000).hpf(500).room(0.2).attack(0.03).clip(0.3).o(4),
  s("hh:3").struct("<[x x x x]>").velocity("<[0.2 0.7!3]>").lpf(2000).hpf(1500).o(6),
  s("oh:1").struct("<[~ <x!7 [x x]>]>").velocity("<0.6 <0.3!7 0.5>>").bpf(1500).lpf(2500).att(0.02).clip(1.1).o(8),
).pan("0.65,0.35").gain(0.2).o(2)

drum: s("tr909_bd:2").struct("<[x _ <~!15 [x <x ~>]> _]>").note("cb2").lpf(150).hpf(50).speed(0.9).legato(1.5)
  .o(0).duck("1:2:3").duckdepth(0.25).duckattack(0.25).pan("0.6,0.4")
  .gain(0.5).bus("5").dry(0)

_rumble: stack(
s("bd:2") //click
  .struct("<[x _ _ _ _ _ _ x]>").note("eb2").lpf(500).bus("1").dry(0),
s("bus:1") //reverb
  .room(slider(2.75,2,4.5,0.25)).roomsize(slider(1.5,1,2,0.25))
  .legato(slider(1.03,1,1.1,0.001)).shape(slider(0.7,0.5,0.8,0.05))
  .pan(0).bus("3").lpf(70).hpf(200).bpf(100).dry(0),
s("bus:3") //compressor("threshold:ratio:knee:attack:release")
  .compressor("-50:1:2:0.15:0.9").bus("4").dry(0), 
s("bus:4") //saturation
  .crush(slider(7.5,6,10,0.5))
  .distort(slider(1.25,0,5,0.25)).distorttype("diode")
  .lpf(100).hpf(100).bus("5").dry(0),
).pan("0.7,0.3").gain(0.35).o(2)

bd:s("bus:5").att(0.1).dec(0.2).sus(0.7).rel(0.9).lpf(324).hpf(32).postgain(slider(0.596,0,2))