There are some pretty amazing live coding sessions of Strudel on YouTube. Some examples: https://www.youtube.com/watch?v=HkgV_-nJOuE https://www.youtube.com/watch?v=HkgV_-nJOuE
Strudel REPL – a music live coding environment living in the browser
41–50 of 56 posts
Re: Strudel REPL – a music live coding environment living in the browser
#42Re: Strudel REPL – a music live coding environment living in the browser
#43Re: Strudel REPL – a music live coding environment living in the browser
#44This being text based makes it really easy to have AI generate the music. Now waiting for Strudel agent that will transcribe music into strudel notation.
Re: Strudel REPL – a music live coding environment living in the browser
#45Strudel is a JavaScript port of TidalCycles (Haskell). While TC uses SuperCollider for the synthesis, Strudel uses superdough which seems to be a custom implementation. I'm currently learning SuperCollider sclang and waiting for a version upgrade to have a reason to submit it here - usually some of the discussion is quite insightful. Anyway sclang is the PHP of music - just uglier and less consistent. But it's also p…
I was goofing around with TidalCycles and really wanted to use it for the Haskell syntax but Strudel’s interface is so slick I suffer the JS syntax. Thanks for mentioning superdough I hadn’t seen it anywhere while I was playing with all of the above. Piqued my curiosity :)
Looks like this:
mondo`
$ note (c2 # euclid ) # *2
# s "sine" # add (note [0 ]*2)
# dec(sine # range .2 2)
# room .5
# lpf (sine/3 # range 120 400)
# lpenv (rand # range .5 4)
# lpq (perlin # range 5 12 # \* 2)
# dist 1 # fm 4 # fmh 5.01 # fmdecay
# postgain .6 # delay .1 # clip 5
$ s [bd bd bd bd] # bank tr909 # clip .5
# ply
$ s oh*4 # press # bank tr909 # speed.8
# dec (*2 # add (saw/8 # range 0 1)) # color "red"
`
If actual tidal notation is important, that has been worked on, and would look like: await initTidal()
tidal`
d1
$ sub (note "12 0")
$ sometimes (|+ note "12")
$ jux rev $ voicing $ n "*8"
# chord ""
# dec 0.5 # delay 0.5 # room 0.5 # vib "4:.25"
# crush 8 # s "sawtooth" # lpf 800 # lpd 0.1
# dist 1
d2
$ s "RolandTR909_bd*4, hh(10,16), oh(-10,16)"
# clip (range 0.1 0.9 $ fast 5 $ saw)
# release 0.04 # room 0.5
`
Only the actually implemented functions, and implemented custom operators are available even when that works, so not all tidal code can necessarily be imported.But it is currently broken on the REPL site because of https://codeberg.org/uzu/strudel/pulls/1510 and https://codeberg.org/uzu/strudel/issues/1335
Re: Strudel REPL – a music live coding environment living in the browser
#46Oh and there is flok[1] which combines the strudel repl with visuals from hydra. Also there are sclang and other algorave environments available. Everything is synced (with crdts i guess) so it’s live collaborative. Which is nice to remotely jam with friends [1] https://flok.cc
And quite new dilber.io: https://github.com/Omodaka9375/Dilber
Re: Strudel REPL – a music live coding environment living in the browser
#47This being text based makes it really easy to have AI generate the music. Now waiting for Strudel agent that will transcribe music into strudel notation.
Before long we can get agents to listen to the music, too. Then based on our prior data can tell us how much we liked it.
Re: Strudel REPL – a music live coding environment living in the browser
#48This being text based makes it really easy to have AI generate the music. Now waiting for Strudel agent that will transcribe music into strudel notation.
I like doing my own composition, but AI being able to just do sound design from a prompt ("hey can you make a synth that sounds like the lead from XYZ song but buzzier, add parameters to control ABC") would be revolutionary.
What the implications are for music, I don't know.
Re: Strudel REPL – a music live coding environment living in the browser
#49Re: Strudel REPL – a music live coding environment living in the browser
#50There are some pretty amazing live coding sessions of Strudel on YouTube. Some examples: https://www.youtube.com/watch?v=HkgV_-nJOuE https://www.youtube.com/watch?v=HkgV_-nJOuE
You accidentally pasted the same link twice. What was the second link meant to be? Would like to see it also :)
(silly copy/paste error!)