8 comments

  • amanzi 7 hours ago
    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

    • mettamage 7 hours ago
      Switch Angel is awesome. She also has some Instagram tutorials.
      • guskel 2 hours ago
        So random seeing her mentioned here today. I just discovered her yesterday, saw a Youtube short where she's operating a Eurorack synth at Switched On in Austin, TX. It's a cool little synth shop that's worth checking out if you're ever in town. Looks like they've moved locations recently though.
      • fragmede 7 hours ago
        Dj Dave is the other creator I've found doing strudel content.

        https://youtu.be/E1K6Sv-oIb0

        • juliangoldsmith 1 hour ago
          "Hard Refresh" and "Airglow" made it onto my "On Repeat" playlist almost immediately.
    • jkingsman 5 hours ago
      This was one of my favorites -- with the voice filter the narration feels like it's part of the song which I found especially fun.

      https://www.youtube.com/watch?v=GWXCCBsOMSg

      • lyu07282 4 hours ago
        That channel has been all over my recommendations, it's awesome so much skill!
    • QuantumNomad_ 5 hours ago
      You accidentally pasted the same link twice. What was the second link meant to be? Would like to see it also :)
  • raffael_de 6 hours ago
    Strudel 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 powerful and and quite fun.
    • awongh 7 minutes ago
      In the supercollider forum there is talk about a wasm port of supercollider: https://scsynth.org/t/webassembly-support/3037

      I wonder if that could be used at some point.

    • nucleogenesis 2 hours ago
      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 :)

  • chwzr 2 hours ago
    Oh 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

  • 999900000999 43 minutes ago
    Awesome!

    Tide Cycles doesn't work on Fedora, so I might use this instead. Anyway to get it running as a node js script so I use it locally?

  • Rochus 2 hours ago
    Can it make music like e.g. Extempore (see https://www.youtube.com/playlist?list=PL_eJ0XdLbWzzq_03wTIMV...)?

    All examples I've heard from Strudel so far are pretty boring (constant beat/chord machine music).

    Are there examples in other styles?

    • nucleogenesis 2 hours ago
      Strudel can use custom samples in addition to the built in synths and samples. The language is really expressive. I’ve not gone too far into playing with it but from what I’ve seen it’s pretty flexible.

      That said I’ve only seen people making house/techno/drum-n-bass kinda stuff with it.

      • Rochus 1 hour ago
        The syntax is pretty relevant for the kind/compexity of the aspired music. The music from the examples is quite simple compared to what Soerensen does with his Lisp-like syntax. Strudel seems to go more towards SuperCollider syntax, which from my humble point of view is better suited for offline productions.
  • awongh 6 hours ago
    This is cool because a lot of the current tools are a bit old and I feel a bit like they suffer from NIH (not invented here) syndrome, where what is actually needed is for things to just be in javascript.

    This wasn’t possible as much when the last gen of tools came out (sonic pi etc) but I think the time is right.

    The next iteration that would be cool is a true two-way interface between the visualizations and the code. Right now the slider is a really awesome element, for example. I think Bret Victor would be proud.

  • lovehashbrowns 5 hours ago
    I'm not very musically inclined but this is what I was able to make:

    $: arrange( [4, "<sh09_bd>(4,8)"], [4, "<sh09_bd>(4,8)"], [1, "<sh09_bd mfb512_sd>(6,6)"] ).s().fast(2).layer(x=>x.add("0,2")).gain(".4!2 .5").phaser(2).phasercenter("<4000 800 4000 4000>")

    $: s("gm_tinkle_bell").distort("<1 2 1 2:.5>").crush("<8 8 8 6 6 8 8>").chop(4)

    $: arrange( [2, "<c4 e4 g4>(3,8)"], [1, "<f4 a4 c5>(3,8)"], [1, "<c4 e4 g4>(3,8)"] ).note().chop(4).fast(4).distort("<3:.5>").phaser(4).phasercenter("<800>").fm(4).fmdecay("<.05 .05 .1 .2>").fmsustain(.4)._scope()

    I don't know what half this stuff does but it was still so much fun and this is probably one of my favorite projects ever. What made it most fun for me is that the reference docs are in the page so it's really easy to pick something at random and just see what it does.

  • amingilani 3 hours ago
    There are plenty of instruments in there. I did a quick and dirty encoding of the first bar of “City of Star” with the piano when I first discovered it.

    note("G2@2 A#2 D@2 G@2 ~ G F@2 D@1.5") .sound("piano")