40 comments

  • DigitalDopamine66 days ago
    Loved playing with it! <a href="https:&#x2F;&#x2F;strudel.cc&#x2F;?qVv8Cr0OD6cc" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;?qVv8Cr0OD6cc</a>
    • abhinavmir66 days ago
      I shed an actual tear. I dreamed of days like this. I got close, building a small language for generating generic music, but with decay, sawtooth and stuff? It&#x27;s a functional DAW.
      • kaoD66 days ago
        &gt; functional DAW<p>I made Lambda Musika[0][1] a long time ago and its elevator pitch is <i>literally</i> &quot;Lambda Musika, the functional DAW&quot; (as in <i>functional programming</i>).<p>Check the teal button at the bottom for other examples!<p>I don&#x27;t use it that much anymore (Strudel&#x27;s language is truly expressive) but I still reach for it when I want to do sound design, since Strudel is more like a sequencer (where Lambda Musika lacks).<p>[0] <a href="https:&#x2F;&#x2F;lambda.cuesta.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lambda.cuesta.dev&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;alvaro-cuesta&#x2F;lambda-musika" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;alvaro-cuesta&#x2F;lambda-musika</a>
    • xrd66 days ago
      This is so incredible, musically, visually and didactically. Absolutely amazing. Absolutely amazing.
    • simonw66 days ago
      That demo is excellent. You can uncomment some lines at the bottom and hit alt+enter (or click the Update button) to add visualization effects too.
    • alabhyajindal66 days ago
      Amazing! Though I can&#x27;t get the theme to stop changing while the music is playing. Is there a setting I&#x27;m missing?
      • DigitalDopamine66 days ago
        Set colors to false on line 133
      • yayitswei66 days ago
        Looks like the theme changes are part of the arrangement (see lines 135-149).
    • smrq66 days ago
      That&#x27;s absolutely sick. I love seeing a full arrangement like this as opposed to destructive live coding--that&#x27;s cool too, but I don&#x27;t really vibe with it as a workflow. Definitely taking some inspiration from this.
    • rodrigodlu66 days ago
      Wow, I started learning recently, I didn&#x27;t know you can change the theme.<p>Also this music brings really good vibes!<p>I get more motivated when I can see it working directly and change some code here and there!<p>Thanks for sharing.
    • theshrike7966 days ago
      Ahh, so THAT&#x27;s how you make an actual song with it instead of just a loop :)<p>SwitchAngel always makes their songs live so I never got it, but now I understand.
    • mettamage66 days ago
      Well that song was my digital dopamine for the day. Couldn’t stop bobbing my head while in a busy train
    • chrislo66 days ago
      Love this! Patterning the theme is such a great idea.
    • globalnode66 days ago
      That made me smile, well done and thanks Lennard! (do recommend setting colors = False though)
    • l0c0b0x66 days ago
      Great work! I&#x27;m saving this one (I have it in a loop rn on my big screen).
    • mazswojejzony66 days ago
      This is great! I&#x27;m not really into electro, but I really like this one!
    • dallen3366 days ago
      This is absolutely insane.
    • butlike66 days ago
      You made an entire performance. Good, good job
      • squarefoot66 days ago
        I found that annoying on the editor, but if used on a 2nd screen to build graphics programmatically (fractals, etc), or via an external port to drive RGB LEDs arrays or matrices, results could be spectacular. Imagine fractals driven by music or a giant spectrum analyzer made of LED strips.
        • rrix266 days ago
          I recently bodged together a board that would drive FastLED programs parameterized by the control voltages that come off a eurorack, it was really neat and straightforward because you have some really good clock sources to sync to
    • oceansky66 days ago
      Not recommended for people prone to seizures
    • fuzzythinker66 days ago
      Love, love, love it! A fitting username!
    • josittas66 days ago
      Very cool! Thank you for sharing :)
    • lioeters66 days ago
      That was a lovely experience.
    • ubidefeo66 days ago
      love how you change the style as it plays. the custom font is a nice touch :)
    • IrrationalGaze66 days ago
      RIP epileptics
    • jamesfmilne66 days ago
      Bravo!
    • WhyOhWhyQ66 days ago
      Fantastic!
  • faxmeyourcode66 days ago
    I&#x27;ve run across more and more strudel musicians (developers?) doing a kind of live coding performance art and posting clips on tiktok and reels. It&#x27;s really entertaining to watch. I&#x27;ve been meaning to dabble in it.
    • ashwindharne66 days ago
      I went to a basement party&#x2F;rave recently where the DJ was live-coding strudel, was incredibly cool to see in person. people would watch them type out new lines in anticipation of a beat drop<p>Pretty cool to see this post, I had no idea where to find more info about it!
    • grantmuller66 days ago
      Another live-coding environment that is quite nice (Haskell-based) is TidalCycles: <a href="https:&#x2F;&#x2F;tidalcycles.org" rel="nofollow">https:&#x2F;&#x2F;tidalcycles.org</a><p>I wrote a whole album of material about 10 years ago with it, just remastered&#x2F;re-released it. It&#x27;s a fun way to write music while on an airplane!
      • lomase66 days ago
        Strudel is TidalCycles but in javascript.
        • cpill66 days ago
          yeah, but TidalCycles doesn&#x27;t have the interactive code that shows you what is playing or have inline sliders :P
          • venturecruelty66 days ago
            Strudel doesn&#x27;t have all of the advanced features of TidalCycles. It really just depends on what you need. Strudel is easier to get started with, and definitely more visual&#x2F;immediate, but TidalCycles has the full power of Haskell, longer history, and more advanced tooling. Either way, it&#x27;s really nice to see people getting more involved in programmatic music, regardless of which tool they use. :)
    • xdc066 days ago
      It&#x27;s fun to watch and somehow more approachable to me than a big program with lots of menus and virtual knobs.
    • venturecruelty66 days ago
      Algorave definitely seems to be having a moment! I know the scene has been around for a while (live chiptune shows have been a thing for years), but it seems like the Strudel-specific live coding shows are rapidly becoming popular. I love to see it. As someone who likes both programming and music, it&#x27;s awesome to see people mix both and get fantastic results.
    • ge9666 days ago
      Would be curious licensing on music you produce with it eg. can you use it, record the session then put it on YT no copyright.
  • simonw66 days ago
    I&#x27;ve been seeing a few links to Strudel recently so I went digging to see how old the project is - looks like it launched in April 2022 <a href="https:&#x2F;&#x2F;loophole-letters.vercel.app&#x2F;strudel" rel="nofollow">https:&#x2F;&#x2F;loophole-letters.vercel.app&#x2F;strudel</a><p>It came out of the same team as Tidal Cycles, a Haskell live-coding music tool which was first released around 2009. <a href="https:&#x2F;&#x2F;tidalcycles.org&#x2F;docs&#x2F;around_tidal&#x2F;tidal_history&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tidalcycles.org&#x2F;docs&#x2F;around_tidal&#x2F;tidal_history&#x2F;</a>
    • hecanjog65 days ago
      The toplap wiki has some more history about the community too: <a href="https:&#x2F;&#x2F;toplap.org&#x2F;wiki&#x2F;HistoricalPerformances" rel="nofollow">https:&#x2F;&#x2F;toplap.org&#x2F;wiki&#x2F;HistoricalPerformances</a><p>Edit: oh right! Also the toplap documentary from 2005 has some actual video of early live coding performances from this community. <a href="https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;toplap-documentary" rel="nofollow">https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;toplap-documentary</a>
    • pragma_x66 days ago
      IIRC, that team are also (now) live-music-coding veterans, which in turn has informed how Strudel is built. It&#x27;s not just a project that does stuff, it&#x27;s a pretty well crafted instrument that is ideal for these performances.<p>As an engineer, I love letting the requirements shape the solution, but this is just on a whole other level.
    • Sammi66 days ago
      Such a good example of why everything is becoming js. Because it&#x27;s where the users are. Anything that isn&#x27;t in js will just languish comparatively.<p>Everything is becoming js because everything is becoming js.
      • tormeh66 days ago
        Have you taken a look at how to install the Haskell variant? It&#x27;s a full-on recipe, or a docker container. I&#x27;d take a desktop application over a website any day, but that was not on the menu. It was an SPA vs a devops exercise. Of course the SPA wins.
        • Sammi66 days ago
          Yes. The web wins on deployment every time.
          • nightski66 days ago
            Steam wins for games imho.
      • venturecruelty66 days ago
        Tidal Cycles is hardly languishing. Not everything needs a billion users and VC funding.
      • thoughtpalette65 days ago
        &quot;...because everything runs js*&quot;<p>Javascript runs on ~70% of all devices worldwide.
      • nolroz66 days ago
        ... And js is everywhere
  • i_gumby66 days ago
    There&#x27;s also a neovim plugin for those who want to play around with this locally <a href="https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim</a> ; it essentially launches strudel in a browser but synchronizes the strudel and nvim editors.<p>EDIT: fixed link to not have trailing semicolon.
    • rodrigodlu66 days ago
      Is there a way (like a CSS rule or something similar) that when you look at the main strudel window, it only shows the piano rolls, punch cards, sliders, etc - but not the code?<p>Maybe with just the comments? This would be killer, since I have dual displays, and on one I can just focus on the code, the other one can have all the visual stuff.<p>I&#x27;m using this plugin, but having the code twice distracts me a lot (but I prefer the original neovim instead the integrated vim mode inside strudel).<p>Thanks in advance!
      • gruvw63 days ago
        Hey, plugin author here, there is a section in the README for that (not the piano roll, but only the hydra visuals) :)<p>Note that there is also a feature to inject your own custom CSS into the page.<p>You can also run in headless mode to not launch the browser window. Hope it helps :)
      • ebertucc66 days ago
        I&#x27;m not using the plugin, but this hides the code in the browser:<p>.cm-line span { outline: none !important; color: transparent; background: transparent !important; }
      • i_gumby66 days ago
        I&#x27;ve only just started playing around with it, so I don&#x27;t know enough about it unfortunately. You could open an issue against the repo; the plugin owner might be able to answer your question.
    • timojaask66 days ago
      Fixed URL: <a href="https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim</a>
    • semi-extrinsic66 days ago
      Link has a trailing semicolon and doesn&#x27;t work - but awesome to have nvim + strudel!
      • Y_Y66 days ago
        <a href="https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim</a><p>Now with no added punctuation!
    • jquaint65 days ago
      This is a great plugin! It&#x27;s so cool to do this in a vim workflow.
  • raphar66 days ago
    I posted this link, some days ago:<p>Coding Trance Music from Scratch (Again) [video]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iu5rnQkfO6M" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iu5rnQkfO6M</a><p>It´s a well done programming and music performance
    • venturecruelty66 days ago
      A slightly older Switch Angel trance video is how I learned about Strudel&#x2F;TidalCycles: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=GWXCCBsOMSg" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=GWXCCBsOMSg</a>. Her narration over top makes it the perfect trance track. &quot;More chaos brings more power. More power brings more control.&quot; I desperately want a clean sample of that.
      • rossjudson66 days ago
        Exact same here. I watched that video about ten times in a row.<p>I learned it&#x27;s more important to know how the big sound pieces fit together and what you can do by tweaking them. Have many, many different versions of the big pieces doesn&#x27;t really matter.<p>I also came away wishing that Bitwig had a strudel mode. Every time anyone does anything in the grid, they&#x27;d be better off with a strudel equivalent. I think.
        • mettamage66 days ago
          Yea I have been asking around for such a feature on their subreddit
    • a1ff0066 days ago
      +1 Switch Angels performances
      • Jarmsy66 days ago
        Increase the duck attack!
        • venturecruelty66 days ago
          &quot;The key... the key... it has to be... G... (minor).&quot;
    • danvoell66 days ago
      this is awesome. The only code instruction video instructions that I have watched that doubled as a song. At first I thought it was the Euro dance hall lyrics and then I realized it was actually the code instructions.
    • canyp66 days ago
      Tangent, but...is that her real&#x2F;natural voice? It&#x27;s like studio-level female vocals for Hardstyle without even trying. I am mesmerized.<p>Edit: it looks like she has a filter on. I&#x27;m an audio noob so I can&#x27;t tell.
      • defrost66 days ago
        Connie Mitchell has an OG EDM voice: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=sHlnXrZk-T8" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=sHlnXrZk-T8</a><p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;iJUNznsc4JI?t=168" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;iJUNznsc4JI?t=168</a><p>She did a lot of live EDM parties during the peak Mallorca et al party island times.
    • illwrks66 days ago
      This is an excellent example. It also highlights how if I tried this it would sound terrible as I lack have vocabulary to describe what I want, and how that relates to the code.
    • l0c0b0x66 days ago
      Yeah, thanks for both posts. I love the narration with the live coding (like a conversation with voice and code). If I can get to that level, I&#x27;ll die a happy man.
    • rudolph966 days ago
      Is this real library&#x2F;editor&#x2F;programming-language ?? I don’t see anything on how it’s made?
      • knowaveragejoe66 days ago
        Yes, it&#x27;s Strudel.<p><a href="https:&#x2F;&#x2F;strudel.cc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;</a>
      • raphar66 days ago
        It is!<p>She is using <a href="https:&#x2F;&#x2F;strudel.cc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;</a>
    • mbStavola66 days ago
      Every time I watch one of her performances, I smile when she says &quot;... with the scope.&quot;
  • neom66 days ago
    I was just talking to JChris Anderson about Strudel last week, he forked it, adding &quot;snaps&quot; where users can snapshot their work allowing for the creation of multi-layered songs, added a &quot;vibe&quot; tab so anyone can easily update the code with pompts, and a few other changes.<p>Here&#x27;s the fork on GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;VibesDIY&#x2F;strudel" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;VibesDIY&#x2F;strudel</a><p>Here&#x27;s a preview of what it would look like when merged: <a href="https:&#x2F;&#x2F;strudel.use-vibes.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;strudel.use-vibes.com&#x2F;</a><p>Here he is playing around with the preview: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=0oJhnkWDafM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=0oJhnkWDafM</a>
    • yaxu64 days ago
      It&#x27;s a bit annoying that he forked it back to github, when strudel was purposefully moved to codeberg for ethical reasons.
  • wouterjanl66 days ago
    Allow me to use this post to give big kudos to the maintainers of Strudel for having put together a brilliant set of official docs. I found them incredibly well put together and hence really useful to learn. I have played around with Strudel many evenings and I am always amazed about how intuitive Strudel is to create beats and sounds, to the point that I prefer to create music in Strudel over the established DAW software. I would love for there to be a good bridge between producing sounds and beats with Strudel code and structurering and mastering an entire track. This is missing in Strudel since it’s clearly build for a live coding environment. Any tips from users about ways or tools to make this bridge are always welcome!
  • WhyOhWhyQ66 days ago
    Let me introduce you to a good time.<p>Step 1: <a href="https:&#x2F;&#x2F;strudel.cc&#x2F;workshop&#x2F;getting-started&#x2F;" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;workshop&#x2F;getting-started&#x2F;</a> . Click play on coastline&quot; @by eddyflux<p>Step 2: Listen for a while<p>Step 3: setcps(.75) -&gt; setcps(1.5)<p>Step 4: Listen :)<p>That is the extent of my strudel knowledge, but damn this is cool.
    • WhyOhWhyQ66 days ago
      I was trying to make it automatically randomly choose between the normal speed and twice speed after a long time. I think appending<p>.fast(chooseCycles(1, 2).slow(128))<p>at the very end does it. But I&#x27;m not actually sure. Would a strudel user mind informing me how this is done? Also, I was hoping to make it automatically shift the key, but I couldn&#x27;t figure it out.
      • yaxu64 days ago
        Kind of - that&#x27;s switching between a fast version and a slow version of the track though if that makes sense, rather than changing the global tempo, so you&#x27;ll get discontinuities in the music.<p>You can change the global tempo with something like<p>.cps(&quot;[0.75|1.75]&quot;)<p>and make it happen less often like<p>.cps(&quot;[0.75|1.75]&#x2F;8&quot;)
    • a_t4866 days ago
      Sadly doesn&#x27;t even run at all on safari. &quot;Importing a module script failed.&quot; :(
      • Towaway6966 days ago
        Also worked find on my Safari 18.6<p>uBlock&#x2F;uMatrix perhaps? At least that was for me the issue on Firefox.
      • artimaeis66 days ago
        Running fine here on Safari 26.1 (Tahoe 26.1).
      • WhyOhWhyQ66 days ago
        NOOOOOO!!!
  • ubidefeo66 days ago
    I have submitted a talk for FOSDEM26 on Live Coding Music and Hardware with Strudel and MicroPython. Hope to get in :)
    • venturecruelty66 days ago
      Good luck! That sounds like a fantastic talk. Please do submit a post if you end up doing it. :D
    • Archit3ch66 days ago
      MicroPython? Are you doing digitally-controlled analog? :)
  • stagas66 days ago
    If you enjoy this kind of tutorials then you will also enjoy this one:<p>&gt; How to Synthesize a House Loop[0]<p>[0]: <a href="https:&#x2F;&#x2F;loopmaster.xyz&#x2F;tutorials&#x2F;how-to-synthesize-a-house-loop" rel="nofollow">https:&#x2F;&#x2F;loopmaster.xyz&#x2F;tutorials&#x2F;how-to-synthesize-a-house-l...</a>
  • proc066 days ago
    Love Strudel, trying to learn it but inevitably you also need some musical foundation. It&#x27;s a fascinating blend of specialties. Also I found AI is complete garbage at generating Strudel. Here is my weak attempt at Beethoven:<p>&lt;pre&gt; const SCALE = &#x27;C#:minor&#x27; const CPM = 56 const SOUND = &#x27;piano&#x27;<p>$: arrange( [4, n(&quot;&lt;-7, 0&gt;<i>.25&quot;)], [4, n(&quot;&lt;-8, -1&gt;</i>.25&quot;)],<p><pre><code> [2, n(&quot;&lt;-9, -2&gt;*.5&quot;)], [2, n(&quot;&lt;-11, -4&gt;*.5&quot;)], [4, n(&quot;&lt;-10, -3&gt;*.5&quot;)], [4, n(&quot;&lt;0, -3, -7&gt;*.25&quot;)], [4, n(&quot;&lt;-1#, -3, -8#&gt;*.25&quot;)], [2, n(&quot;&lt;-2, -9&gt;*.5&quot;)], [2, n(&quot;&lt;-6, -13&gt;*.5&quot;)], [4, n(&quot;&lt;-3, -10&gt;*.5&quot;)], [4, n(&quot;&lt;0, -7&gt;*.25&quot;)],</code></pre> ).sound(SOUND) .scale(SCALE) .cpm(CPM);<p>$: arrange( [8, n(&quot;4 7 9&quot;)],<p><pre><code> [2, n(&quot;5 7 9&quot;)], [2, n(&quot;5 8b 10&quot;)], [1, n(&quot;4*.1 6# 10&quot;)], [1, n(&quot;4 7 9&quot;)], [1, n(&quot;4 7 8&quot;)], [1, n(&quot;3 6# 8&quot;)], [1, n(&quot;0 2 5&quot;)], [2, n(&quot;2 7 9&quot;)], [1, n(&quot;2 7 9, 11 - - 11&quot;)], [1, n(&quot;2 8 10, 11 -&quot;)], [2, n(&quot;2 8 10&quot;)], [1, n(&quot;2 8 10, 11 - - 11&quot;)], [1, n(&quot;2 7 9, 11 -&quot;)], [1, n(&quot;2 7 9&quot;)], [1, n(&quot;1 7 10, 12 - -&quot;)], [1, n(&quot;1 7 10&quot;)], [1, n(&quot;2 4 9, 11 - -&quot;)], [1, n(&quot;2 4 9&quot;)], [1, n(&quot;3 4 8, 10 - -&quot;)], [1, n(&quot;3 4 8, 13 - -&quot;)], [1, n(&quot;2 4 9, 9 -&quot;)], [3, n(&quot;2 4 9&quot;)],</code></pre> ).sound(SOUND) .scale(SCALE) .cpm(CPM);<p>&lt;&#x2F;pre&gt;
  • mvkel66 days ago
    I was excited to see this, but then realized only chapter 1 is done out of what ultimately will&#x2F;should be a 25 chapter tome.<p>Strudel docs leave something to be desired as well.<p>What I&#x27;ve found to be the most useful so far is to ask an LLM to make a line of whatever: a beat, a synth, etc., tweak it, then layer it.<p>It gives a really good sense of how to architect a song file, which is missing from the little snippets in the strudel docs
  • pragma_x66 days ago
    I&#x27;ve been following this project with great interest.<p>Quite possibly one of the most interesting things is just how competent the REPL is. It does some things that no other programming environment does in a prompt, all centered around real-time processing:<p>- All code in the prompt is being constantly evaluated - What parts of expressions are currently in use are highlighted - Visualization widgets sit side-by-side with the code<p>That last one is playfully rendered as pseudo-TUI &quot;graphics&quot;, but is also presented with no borders or chrome around it. That&#x27;s in sharp contrast to notebooks like Jypyter or Mathematica. They use minimal screen real-estate which also minimizes scrolling. If you look at videos of using this live, the ability to navigate the REPL quickly is crucial for performances.<p>So it&#x27;s a lot like a kind of step-wise debugger, only more minimalist and moving at the (slow) speed of the music.<p>Ever since seeing Strudel, I&#x27;ve wondered what various programming sandboxes would be like if they could visually demonstrate operations in slow-motion.
  • mclau15366 days ago
    A really great source for this is DJ Dave
    • iamwil66 days ago
      DJ Dave: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;shorts&#x2F;5OYiOGxHxTQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;shorts&#x2F;5OYiOGxHxTQ</a><p>She&#x27;s using a live computational notebook as an instrument.
    • chickensong66 days ago
      &lt;3 DJ_Dave!
  • kimjune0156 days ago
    I&#x27;ve been working on a similar project, also open source: <a href="https:&#x2F;&#x2F;www.june.kim&#x2F;jamdojo&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.june.kim&#x2F;jamdojo&#x2F;</a>
  • hamasho66 days ago
    Does anyone know if it&#x27;s possible to run Strudel code on VS Code (or NeoVim)? Tidle Cycles has add-ons where I can play&#x2F;stop updated code or part of code with ctrl(cmd)-. and ctrl(cmd)-space. I mean, one of Strudel strong point is the browser based rich visualization, but I just want to edit JS code with my favorite editor.
    • blatant66 days ago
      VSCode: <a href="https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=cmillsdev.strudelvs" rel="nofollow">https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=cmillsde...</a><p>NeoVim: <a href="https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gruvw&#x2F;strudel.nvim</a>
  • dennis1638466 days ago
    Even though Algorave is quite new, everyone who ever touched <i>.mod&#x2F;</i>.s3m&#x2F;<i>.xm&#x2F;</i>.it can fell young again haha.<p>DJ_Dave live events are the best illustration for all of it. If you love electronic music, ever touched any generative art, and know basic coding this is for you.
  • toboramai66 days ago
    Besides Strudel, there&#x27;s also <a href="http:&#x2F;&#x2F;glicol.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;glicol.org&#x2F;</a>. It seems Glicol is more geared towards sound synthesis, while Strudel&#x27;s sequencer is more powerful.
    • FelipeCortez66 days ago
      There’s a Strudel-like system focused on lower-level sound synthesis: <a href="https:&#x2F;&#x2F;kabel.salat.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;kabel.salat.dev&#x2F;</a>
  • ubidefeo66 days ago
    if you need a 4&#x2F;4 clicker metronome I crafted this one :) <a href="https:&#x2F;&#x2F;strudel.cc&#x2F;hNV6sevsZERY" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;hNV6sevsZERY</a>
  • dfltr66 days ago
    Strudel is dope and a ton of fun, but every single piece of its interface seems determined to confuse people who already know music theory and composition.<p>That&#x27;s not really a point against it, it&#x27;s a great tool and it&#x27;s a ton of fun, but I wish there was a way to use it that at least kind of sort of mapped back to traditional music notation, especially rhythm notation.
    • pierrec66 days ago
      It would be unergonomic, if not painful, to use a western classical approach to rhythm in a programming environment. Alex McLean, the main author of Tidal&#x2F;Strudel, is very much into Indian classical, and this is reflected in the approach to rhythm. IMO this is an good choice, and people who know music theory and composition should feel right at home, assuming we&#x27;re talking about the right theory.<p>When it comes to pitch (and I guess we agree on this) Strudel is firmly on the western traditional side. It generally assumes 12-tone equal temperament, uses ABC notation, has built-in facilities to express chords using their classical names...<p>Meanwhile I&#x27;m over here programming music where I express all frequencies as fractions or monzos. I find this better suited to a music programming environment, but this might be more personal.
  • arvinsim66 days ago
    I have just discovered Strudel last month. Even as an owner of Ableton, there is just something compelling about coding music in.
  • dprophecyguy66 days ago
    made this with opus 4.5 few days ago:<p><a href="https:&#x2F;&#x2F;strudel.cc&#x2F;#CnNldGNwbSg3Mi8yKQoKbGV0IGJhc3MgPSBub3RlKCJhMSBbfiBhMV0gZTEgW34gZTFdIGYxIFt%2BIGYxXSBnMSBbfiBnMV0iKQogIC5zb3VuZCgic2F3dG9vdGgiKSAgICAgICAgLy8gUmF3LCBidXp6eSB3YXZlZm9ybSAtIGNsYXNzaWMgc3ludGgKICAubHBmKDQwMCkgICAgICAgICAgICAgICAgIC8vIExvdy1wYXNzIGZpbHRlcjogb25seSBsZXQgbG93IGZyZXF1ZW5jaWVzIHRocm91Z2gKICAubHBkKDAuMSkgICAgICAgICAgICAgICAgIC8vIEZpbHRlciBlbnZlbG9wZSBkZWNheQogIC5kZWNheSgwLjMpICAgICAgICAgICAgICAgLy8gSG93IGxvbmcgdGhlIG5vdGUgcmluZ3MKICAuc3VzdGFpbigwLjQpICAgICAgICAgICAgIC8vIFZvbHVtZSBsZXZlbCB3aGlsZSBoZWxkCiAgLmdhaW4oMC43KSAgICAgICAgICAgICAgICAvLyBPdmVyYWxsIHZvbHVtZQoKCmxldCBjaG9yZHMgPSBub3RlKCI8W2EzLGM0LGU0LGc0LGI0XSBbZTMsZzMsYjMsZDRdIFtmMyxhMyxjNCxlNF0gW2czLGIzLGQ0LGY0XT4iKQogIC5zb3VuZCgic2F3dG9vdGgiKQogIC5scGYoMTIwMCkgICAgICAgICAgICAgICAgLy8gQnJpZ2h0ZXIgdGhhbiBiYXNzLCBidXQgc3RpbGwgd2FybQogIC5hdHRhY2soMC4xKSAgICAgICAgICAgICAgLy8gU2xvdyBmYWRlIGluIC0gZHJlYW15IHBhZHMKICAuZGVjYXkoMC4zKQogIC5zdXN0YWluKDAuNikKICAucmVsZWFzZSgwLjUpICAgICAgICAgICAgIC8vIFNsb3cgZmFkZSBvdXQKICAuZ2FpbigwLjM1KQogIC5yb29tKDAuNykgICAgICAgICAgICAgICAgLy8gUmV2ZXJiIC0gbWFrZXMgaXQgc3BhY2lvdXMKICAuc2l6ZSgwLjgpICAgICAgICAgICAgICAgIC8vIFJldmVyYiBzaXplCgoKCmxldCBhcnAgPSBub3RlKCI8W2E0IGM1IGU1IGc1XSBbZTQgZzQgYjQgZDVdIFtmNCBhNCBjNSBlNV0gW2c0IGI0IGQ1IGY1XT4qNCIpCiAgLnNvdW5kKCJ0cmlhbmdsZSIpICAgICAgICAvLyBTb2Z0ZXIsIHJvdW5kZXIgd2F2ZWZvcm0KICAubHBmKDIwMDApCiAgLmRlY2F5KDAuMTUpCiAgLnN1c3RhaW4oMC4yKQogIC5nYWluKDAuMjUpCiAgLmRlbGF5KDAuNCkgICAgICAgICAgICAgICAvLyBFY2hvIGVmZmVjdCAtIGVzc2VudGlhbCBmb3Igc3ludGh3YXZlIQogIC5kZWxheXRpbWUoMC4zNzUpICAgICAgICAgLy8gRGVsYXkgc3luY2VkIHRvIHRlbXBvCiAgLmRlbGF5ZmVlZGJhY2soMC40KSAgICAgICAvLyBIb3cgbWFueSBlY2hvZXMKICAucm9vbSgwLjUpCgoKCmxldCBraWNrID0gcygiYmQqNCIpICAgICAgICAvLyBiZCA9IGJhc3MgZHJ1bSwgKjQgPSBmb3VyIHRpbWVzIHBlciBjeWNsZQogIC5nYWluKDAuOSkKCmxldCBzbmFyZSA9IHMoIn4gc2QgfiBzZCIpICAvLyB%2BID0gcmVzdCwgc2QgPSBzbmFyZSBkcnVtIChvbiBiZWF0cyAyIGFuZCA0KQogIC5nYWluKDAuNzUpCiAgLnJvb20oMC4zKQoKbGV0IGhpaGF0ID0gcygiaGgqOCIpICAgICAgIC8vIFN0ZWFkeSBlaWdodGggbm90ZXMKICAuZ2FpbigwLjQpCiAgLmxwZig4MDAwKQoKbGV0IGRydW1zID0gc3RhY2soa2ljaywgc25hcmUsIGhpaGF0KQoKCgpsZXQgbGVhZCA9IG5vdGUoIn4gYTUgfiBbZTUgZzVdIH4gYzYgfiBbYjUgYTVdIikKICAuc291bmQoInRyaWFuZ2xlIikgICAgICAgICAgLy8gSG9sbG93LCByZXRybyB2aWRlbyBnYW1lIHNvdW5kCiAgLmxwZigzMDAwKQogIC5hdHRhY2soMC4wNSkKICAuZGVjYXkoMC4yKQogIC5zdXN0YWluKDAuNSkKICAucmVsZWFzZSgwLjMpCiAgLmdhaW4oMC4zKQogIC5kZWxheSgwLjMpCiAgLmRlbGF5dGltZSgwLjI1KQogIC5yb29tKDAuNikKCgpzdGFjaygKICBiYXNzLAogIGNob3JkcywKICBhcnAsCiAgZHJ1bXMsCiAgbGVhZAop" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;#CnNldGNwbSg3Mi8yKQoKbGV0IGJhc3MgPSBub3Rl...</a>
  • jarth966 days ago
    Strudel is my favorite music coding environment. I mostly play on acoustic instruments but coding music has been really helpful as I try to learn music theory. Being able to just play in the browser without setup helps me focus on the music and less on fiddling with the tool. And it supports vim key bindings!
  • jquaint65 days ago
    Anyone have any experience improving performance of their Strudel patches?<p>I find I get close to something ready to perform... but then the webapp starts struggling and I find myself back at the drawing board.<p>I get the sense I&#x27;m not using it right and making the DSP work much harder than it needs to :P
    • yaxu64 days ago
      There have been performance improvements recently.<p>It is usually worth trying the dev version at: <a href="https:&#x2F;&#x2F;warm.strudel.cc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;warm.strudel.cc&#x2F;</a><p>although I think that&#x27;s close to the live version at the moment.
  • stuhlmueller66 days ago
    Here&#x27;s a Strudel fork that uses LLMs to turn instructions like &quot;add a bass layer&quot; into code: <a href="https:&#x2F;&#x2F;github.com&#x2F;stuhlmueller&#x2F;strudel-llm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;stuhlmueller&#x2F;strudel-llm</a>
    • yaxu65 days ago
      Strudel was moved to codeberg for ethical reasons. Annoying to see so many people forking it back to github in order to make yet another LLM interface.
  • macmac66 days ago
    I love this approach to learning music.<p>A nitpick: Isn&#x27;t the below statement wrong? I thought &quot;RolandTR909&quot; was the name of the soundbank which is used for both bd and sd?<p>&quot;bd is bass drum (also called kick-drums), sd is snare drum. RolandTR909 is the name of the sound.&quot;
  • bobim66 days ago
    True that compared to FoxDot, Sardine or Tidal, the syntax and visualization are just making the whole thing a real pleasure to use.<p>But this is way too taxing for my linux boxes that are ending stuttering quite badly sometimes. Are you all using macs or something?
    • AnyTimeTraveler66 days ago
      Weird. My android phone is 3+ years old and was not a flagship when I got it. It had a little problem with stuttering on more complex examples. It sounded like it was running out of things that can play at the same time, but scrolling was still smooth. It didn&#x27;t feel like it was pinning my phone&#x27;s cpu. On my laptop, it didn&#x27;t break a sweat with firefox and pipewire. Are you sure it&#x27;s not a config issue?
      • bobim66 days ago
        I can&#x27;t tell, things like BespokeSynth are running ok with alsa or jack. I got the rt kernel, made a few things to audio priority, fiddled with governors, but no luck. Let&#x27;s say that it happens quite quickly with the Stitch Angel fast trance example &quot;the key needs to be G&quot; supersaw synth.<p>Chromium is better at it than Firefox though.<p>Maybe this 5800X3D needs a buff up...
        • Mashimo65 days ago
          &gt; alsa or jack. I got the rt kernel, made a few things to audio priority, fiddled with governors,<p>Maybe the issue is you touched too much?<p>A 5800X3D is freaking power house. It&#x27;s not a hardware issue. You can run &quot;fast trance&quot; on a laptop twice the age of your CPU.
          • bobim64 days ago
            Yes, true, any music production oriented live distro recommendation to test if it&#x27;s the case anyone?
  • dr_kiszonka66 days ago
    Strudel is great! But... are these really chords?<p>note(&quot;c4 e4 g4 c5&quot;).sound(&quot;triangle&quot;)
    • danilafe66 days ago
      As a sibling comment said, it&#x27;s a C major chord, but voiced one noted at a time. &quot;usually&quot; &#x2F; in pop, you hear all the notes at once.
      • kaoD66 days ago
        &gt; but voiced one noted at a time<p>I think OP&#x27;s point is that the very definition of a chord is a bunch of notes played at the same time.
        • keymasta65 days ago
          Whereas when played separately it would be an referred to as an arpeggio. But in harmony we might still refer to it as a chord, as in saying, arpeggiate the C# minor (chord) to start moonlight sonata.<p>This might better be described as arpeggiating C#m second inversion or even C#m&#x2F;G# in the right over C# in the left...<p>This is getting possibly-weird but you could call it an arpeggiation of G#sus4(#5)&#x2F;C#
      • dr_kiszonka66 days ago
        I think chords at least three notes played at once, with the exception of maybe power chords. Using your definition, every piece with two or more notes has chords :)<p><a href="https:&#x2F;&#x2F;www.britannica.com&#x2F;art&#x2F;chord-music" rel="nofollow">https:&#x2F;&#x2F;www.britannica.com&#x2F;art&#x2F;chord-music</a>
        • keymasta66 days ago
          As per my knowledge, and as per Britannica, a chord actually uses three or more notes. A two note structure is called a diad, which implies a bit of confusion in the term &quot;power chord&quot; (written as 5, as in G5, which == G D == 1 5).. as it is not by definition a chord but a diad.<p>This may be a pedantic clarification, but that is the definition
          • kaoD65 days ago
            TBH &quot;definition&quot; depends on the theory from which you&#x27;re looking at the notes.<p>In the eyes of the Common Practice two simultaneous notes are not chords; in rock they most definitely are; in EDM you don&#x27;t even care, since timbre is all that matters; in jazz you&#x27;d say &quot;it depends&quot; (e.g. might even be a triad with an omitted 5th... depending on context!)<p>Music theory is too post-hoc.
    • IAmGraydon66 days ago
      What do you mean? Yes that is a C Major chord.
      • dr_kiszonka66 days ago
        Is it? :)<p><a href="https:&#x2F;&#x2F;strudel.cc&#x2F;#Cm5vdGUoImM0IGU0IGc0IGM1Iikuc291bmQoInRyaWFuZ2xlIik%3D" rel="nofollow">https:&#x2F;&#x2F;strudel.cc&#x2F;#Cm5vdGUoImM0IGU0IGc0IGM1Iikuc291bmQoInRy...</a>
    • sandos65 days ago
      Arpeggiated chord?
  • zitterbewegung66 days ago
    Strudel is a great tool and is helping me to make EDM from scratch. There are good tutorials and music that is easy to get started or to make something really interesting.
  • caliweed66 days ago
    Working on this: <a href="https:&#x2F;&#x2F;github.com&#x2F;madprops&#x2F;slide" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;madprops&#x2F;slide</a>
  • danvoell65 days ago
    Love it! Could someone go ahead and make a plugin that allows you to download an mp4 of the loop. for whatever. Abelton, Garageband...
  • oceansky66 days ago
    I&#x27;ve been trying to compose music with Strudel after some years attempting to play the guitar and the piano.<p>This resource is very helpful
  • mberning66 days ago
    Is there a way to run it completely locally?
    • thuuuomas66 days ago
      Yeah, it&#x27;s on codeberg <a href="https:&#x2F;&#x2F;codeberg.org&#x2F;uzu&#x2F;strudel" rel="nofollow">https:&#x2F;&#x2F;codeberg.org&#x2F;uzu&#x2F;strudel</a>
  • dekhn66 days ago
    See also: a number of the predecessors: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Max_(software)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Max_(software)</a> <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pure_Data" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pure_Data</a> <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Csound" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Csound</a>
  • rob7466 days ago
    This clip from an 80s spy comedy is probably too obscure to become a meme, but it deserves to be: <a href="https:&#x2F;&#x2F;clip.cafe&#x2F;gotcha-1985&#x2F;what-this-strudel&#x2F;" rel="nofollow">https:&#x2F;&#x2F;clip.cafe&#x2F;gotcha-1985&#x2F;what-this-strudel&#x2F;</a>
  • DevAhmadBilal66 days ago
    Great work, looks interesting.
  • rfl89066 days ago
    Did anyone else think this article was gonna teach you how to play music using strudel (the food) somehow?
  • bibimsz66 days ago
    when AI takes over the world it will communicate with itself with a tonal language communicated in Strudel
  • badmonster66 days ago
    [flagged]
    • luqtas66 days ago
      &gt; Code-as-instrument is genuinely innovative.<p>but DAWs plugins and instruments are just like code but with an GUI interface to mess with. don&#x27;t get me wrong, PureData freedom is astonishing but one can also go quite far with esoteric sequencers or modulation in DAWs found out there<p>[0] <a href="https:&#x2F;&#x2F;100r.co&#x2F;site&#x2F;orca.html" rel="nofollow">https:&#x2F;&#x2F;100r.co&#x2F;site&#x2F;orca.html</a> [1] <a href="https:&#x2F;&#x2F;stochas.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;stochas.org&#x2F;</a> [2] <a href="https:&#x2F;&#x2F;cardinal.kx.studio&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cardinal.kx.studio&#x2F;</a>