Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Strudel: A live coding platform to write dynamic music pieces in the browser (strudel.cc)
168 points by todsacerdoti on April 3, 2024 | hide | past | favorite | 20 comments



Exactly came to my mind.



https://strudel.cc/?lxYj8fRH-Fb0 sounds amazing, can't wait for this to get MIDI output so i can use it with other music software


If you use TidalCycles, the standalone version, you can pipe it out to as many midi busses as you want - it’s excellent controlling Reason, for example.



There's so much to learn from that one example - thanks for that, just playing with it now!


// "City Pulse" @by GPT

samples('github:eddyflux/crate') samples('shabda/speech:birds,trees,leaves,forever,together')

stack( n("<0!2 [0@3 [5 ~]2]>").s("gm_electric_bass"), n(run("5").palindrome().fast(6/5)).clip(.5) .s("gm_lead_2_saw").add(n(5)).dec(.25).jux(rev).gain(rand.range(.5,1)), n("7,9").phaser(2).s("gm_lead_3_calliope").add(n(5)), n("<10 12 [14 11]>(3,12)/6").dec(.2).delay(.3).s("gm_lead_5_charang") .add(n(10)).penv("<1 0 -1>").jux(rev) ).room(.4) .set.reset(anchor("<[G2@3 A2]!3 D2!2 G1!2>/3")) .scale( "<0@6 1@6>".pick([ "<G:minor!3 <A:locrian G:major>>", "<D:minor!2 <D G>:phrygian!2>" ]) ) .add(note(perlin.range(0,.2))) .stack( stack( s("bd@5 bd"), s("~ <cl [cl cl:1@12]>").room("<.1 .3>"), s("hh:<2 4 3>2").gain(.3).speed(.6).room(.4), ) .mask("<0!6 1!18>") ).reset("<y@5 y*[3 5]>") .stack( s("<<cars <horns people> lights night> ~>").fit().room(.7) .sometimes(x=>x.superimpose(mul(speed("1.2")))).hpf(150) ).late(.8)


came here looking for this... can't wait for someone to finetune a model on this lang


This is rather excellent!

It would be great to have a VST or CLAP (preferably) plugin that hosts strudel and can be hosted in-DAW

It might also be nice to have a VSCode extension that let's you experiment in live mode like the guys at cmajor.dev have.

Finally, I could see this working really well with say cmajor in general or for embedded synthesizer development on say the Daisy Seed if there were a native version.

In any case, it's all great as it is. I will give it a try integrating with Bitwig this afternoon.


For live collaboration you can use the flok editor: https://flok.cc



I opened this on a phone and it is not at all clear that you have to tap the site's logo to open the panel that actually has the code.


Where does one begin learning enough music to make interesting things with a tool like this?

I have always enjoyed this kind of music, especially in games, etc. I'd love to make some and I am sure I could copy/paste and mess around with things but I'd love to be able to do it from the ground up.


As much of a coder as I am, I think something like https://beepbox.co is much more intutive, albeit possibly more limited, to come up with beeps and such.


Strange, when I try to run the sample I get a flashing red text below the code: "pat.fmap(...).trigzeroJoin is not a function"

[edit] after refreshing the browser I got a different sample which worked. Nice!


Idk, I'm new to this too, but there is a possibility of user functions and sounds, so it might be part of someone's personal library. trigzeroJoin is not a standard function, as far as I can see.


Btw you get a random example when you load https://strudel.cc/, not everyone is looking at the same one


dev here, the pattern is now fixed :)


This is super cool




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: