How to Synthesize a House Loop

(loopmaster.xyz)

124 points | by stagas 6 days ago ago

40 comments

  • Slow_Hand 4 hours ago

    I've watched a lot of live coding tools out of interest for the last few years, and as much as I'd like to adopt them in my music making it's not clear to me what they can add to my production repertoire compared to the existing tools (DAWs, hardware instruments, playing by hand, etc).

    The coding aspect is novel I'll admit, and something an audience may find interesting, but I've yet to hear any examples of live coded music (or even coded music) that I'd actually want to listen to. They almost always take the form of some bog-standard house music or techno, which I don't find that enjoyable.

    Additionally, the technique is fun for demonstrating how sound synthesis works (like in the OP article), but anything more complex or nuanced is never explored or attempted. Sequencing a nuanced instrumental part (or multiple) requires a lot of moment-to-moment detail, dynamics, and variation. Something that is tedious to sequence and simply doesn't play to this formats' strengths.

    So again, I want to integrate this skill into my music production tool set, but aside from the novelty of coding live, it doesn't appear well-suited to making interesting music in real time. And for offline sequencing there are better, more sophisticated tools, like DAWs or trackers.

    • MomsAVoxell an hour ago

      Every generation of musicians for the past 8 decades has had the same thoughts. What live coding tools for synthesis offers you is an understanding of the nature of generational technology.

      Consider this: there are teenagers today, out there somewhere, learning to code music. Remember when synthesisers were young and cool and there was an explosion of different engines and implementations?

      This is happening for the kids, again.

      Try to use this new technology to replicate the modern, and then the old sound, and then discover new sounds. Like we synth nerds have been doing for decades.

    • filoleg 3 hours ago

      > I've watched a lot of live coding tools out of interest for the last few years, and as much as I'd like to adopt them in my music making it's not clear to me what they can add to my production repertoire compared to the existing tools (DAWs, hardware instruments, playing by hand, etc).

      Aside from the novelty factor (due to very different UI/UX) and the idea that you can use generative code to make music (which became an even more interesting factor in the age of LLMs), I agree.

      And even the generative code part I mentioned is a novelty factor as well, and isn't really practical for someone who actually makes music as their end-goal (and not someone who is just experimenting around with tech or how far one can get with music-as-code UIUX).

    • fasterik an hour ago

      Procedural generation is useful for finding new musical ideas. It's also essential in specific genres like ambient and experimental music, where the whole point is to break out of the traditional structures of rhythm and melody. I would agree that it's not always best to go full procedural generation, because often you want to impose some structure on those ideas using traditional grid-based methods.

    • solomonb 3 hours ago

      100% agree.

      I think this format of composition is going to encourage a highly repetitive structure to your music. Good programming languages constrain and prevent the construction of bad programs. Applying that to music is effectively going to give you quantization of every dimension of composition.

      I'm sure its possible to break out of that but you are fighting an uphill battle.

      • cdr6934 2 hours ago

        The ease of quantization in the DAW is pretty easy to do as well. So I am not sure that would be unique to music / live coding sessions.

        • tarentel 2 hours ago

          It is unique because everything is quantized. I've never used these tools but I am assuming you could give it some level of randomness but as someone who has performed and recorded a non-quantized performance is not random. So sure, it's super easy to quantize in your daw but it is a tool to be applied when needed, not something that is on all the time by default.

          • solomonb 8 minutes ago

            yes exactly, and when I say "quantization of every dimension of composition" I mean an application of quantization to every aspect of composition not just pitch and rhythm.

    • H1Supreme 3 hours ago

      Look into the JUCE framework for building your own tools. I was using MaxMsp for a while, but would always think to myself "This would be so much easier to accomplish in pure code". So, I started building some bespoke VST's.

      There's a learning curve for sure, but it's not too bad once you learn the basics of how audio and MIDI are handled + general JUCE application structure.

      Two tips:

      Don't bother with the Projucer, use the CMAke example to get going. Especially if you don't use XCode or Visual Studio.

      If your on a Mac, you might need to self-sign the VST. I don't remember the exact process, but it's something I had to do once I got an M4 Mac.

      • wahnfrieden 3 hours ago

        AudioKit for iOS/Mac is also interesting and easy to work with.

    • stagas 4 hours ago

      Fair point, and that's the challenge in both the software's abilities and the creator's skills.

      If you see it as yet another instrument you have to master, then you can go pretty far. I'm finding myself exploring rhythms and sounds in ways I could never do in a DAW so fast, but at the same time I do find limiting a lot of factors, especially sequencing.

      So far I haven't gotten beyond a good sounding loop, hence the name "loopmaster", and maybe that's the limit, which is why I made a 2 deck "dual" mode in the editor, so that it can be played as a DJ set where you don't really need that much progression.

      That said, it's quite fun to play with it and experiment with sounds, and whenever you make something you enjoy, you can export a certain length and use it as a track in your mix.

      My goal is certainly to be able to create full length tracks with nuances and variations as you say, just not entirely sure how to integrate this into the format right now.

      Feedback[0] is appreciated!

      [0]: https://loopmaster.featurebase.app/

    • karlshea 2 hours ago

      I've seen a couple of TikToks with someone doing live coding with this same tool and it was really cool to watch because they really knew it well, but like you said it was bog-standard house/techno.

  • mstngl 5 hours ago

    What‘s going on with all these code-2-music tools these days? See other front page discussion about strudel.cc [1]. Did I enter an established bubble or is there a rising trend? It‘s incredible, though, what people are able to obtain with it, especially when built-up during a live session [2].

    [1] https://news.ycombinator.com/item?id=46052478 [2] Nice example: https://m.youtube.com/watch?v=GWXCCBsOMSg

    • c22 4 hours ago

      Often an article posted to hn will cause a mini-trend as users who are engaging with the subject discover and share more related resources.

    • hecanjog 5 hours ago

      Computer music is as old as computers, live coding is pretty old too. (I posted this in the strudel discussion too: https://toplap.org/wiki/HistoricalPerformances) Maybe everyone doing live streams during the pandemic helped get visibility for live coding? It's interesting to see it kind of becoming popular now.

      • baq 4 hours ago

        classic overnight success 20 years in the making. many such cases.

        I must say the narrated trance piece by switch angel blew me socks right off, to me feels like this should be a genre in itself.

    • cdr6934 2 hours ago

      My guess is we are either at the top or rising to the top of cyclical curve of the trend.

    • SmirkingRevenge 3 hours ago

      CSOUND is the oldest code-2-music framework I know of, and that's been here since the 80's, so the concept is not new

      The tools/frameworks have become more plentiful, approachable, and mature over the past 10-15 years, to the point where you can just go to strudel.cc and start coding music right from your browser.

  • pierrec 3 hours ago

    The language certainly looks nice! Is it open source? I think it makes sense for this kind of tool, since it's inherently "hackery". I mean people who want to write music with code also probably want the ability to understand and modify any part of the stack, it's the nature of the audience.

    I'll shamelessly plug my weirdo version in a Forth variant, also a house loop running in the browser: https://audiomasher.org/patch/WRZXQH

    Well, maybe it's closer to trance than house. It's also considerably more esoteric and less commented! Win-win?

    • stagas 3 hours ago

      Thanks! I tried to make it as familiar as possible, inspired by JS. It's not yet open-source, mainly because the source is a bit of a mess, but it will be once I tidy things up. Follow me on GitHub[0] for updates. Also that sounds to me like Tech-House/Electro-House :D Very nice!

      [0]: https://github.com/stagas

  • panic 3 hours ago

    I was surprised at the audible difference it made to reset the RNG seed for the hi-hat noise function every time it triggered. I’m curious what the justification for doing this is—does the randomness arise from the geometry of the hi-hat itself and not the way you hit it? Is the idea to imitate the sound of sample-based percussion?

    • stagas 2 hours ago

      My understanding is that because it's a very small sample, it's basically a combination of a subset of sine waves, and because we're very sensitive to the nuances of high-pitched sounds, even small changes in that space make a lot of difference. Every RNG seed produces a different sounding hihat, and if you don't reset it, it continues producing different hihats, which is unnatural. Another explanation is also to resemble sample-based audio, but perhaps it's all of these things combined.

  • xnx 6 hours ago

    Very cool. https://loopmaster.xyz/generate is super fun also.

    • stagas 5 hours ago

      Thanks! For anyone trying this, it's being HN crushed right now and hitting rate-limits, you should try again in a bit if you see an error.

      Also, there is an AI DJ mode[0] where you set the mood/genre and the AI generates and plays music for you infinitely.

      [0]: https://loopmaster.xyz/editor?aidj

  • 999900000999 5 hours ago

    I really want something like this as a VST plugin.

    I don't imagine making a full song out of this, but it would be a great instrument to have.

    • stagas 5 hours ago

      I'm considering a VST version but for now there is an Export Audio feature you can use to get a perfect audio loop to use with Ableton (or any other DAW) with oversampling up to 8x for great quality.

      • 999900000999 4 hours ago

        How much do you need in donations to make it happen.

        I'll put 50$ down right now.

        • stagas 4 hours ago

          Click Export Audio next to the title here[0], there is a buymeacoffee button :) tysm

          [0]: https://loopmaster.xyz/loop/75a00008-2788-44a5-8f82-ae854e87...

          • 999900000999 4 hours ago

            I meant for the VST plugin.

            The janky way to do this would be to run it locally, and setup a watch job to reload the audio file into a vst plugin every time the file changes.

            • stagas 4 hours ago

              The backend now is in WASM. I have a plan on how do this in a VST, I had done a version with a Rust+WASM backend in the past. My main concern is getting a Webview working for the editor, which is custom made, but I think that's also solved by now. The goal would be exactly the Web version working as a VST plugin with its real-time audio engine.

    • tscherno 4 hours ago

      I route midi generated by strudel.cc in to my DAW.

    • duped 5 hours ago

      Shoutout to PACE who banned scripting in the JUCE 8 license terms so if you wanted to make this using the leading framework, you can't.

      • StableAlkyne an hour ago

        Do you have a source for this? I don't see any indication from a quick Google other than this thread as the second result.

        The license at: https://github.com/juce-framework/JUCE/blob/master/LICENSE.m...

        indicates you can just license any module under agpl and avoid the JUCE 8 license (which to be fair, I'm not bothering to read)

      • 999900000999 4 hours ago

        Define scripting.

        I'm not going to test it, but couldn't you just load a json file with all params.

        Various instructions, etc.

        I can't believe it's not code!

        • duped 3 hours ago

          The definition is up to them. They don't want to play around with loopholes since the whole point of the license change was to force more people to buy license seats.

  • jnsaff2 6 hours ago

    If you like this then check out Oxygene pt4 in JS[0].

    [0] https://dittytoy.net/ditty/59b8a8d54d

  • joemi 3 hours ago

    It strikes me as kind of weird (or maybe a red flag?) that there's no landing page nor an About page.

    • input_sh 3 hours ago

      I think it's more of a red flag that they chose a name that's one letter away from a well-known site that sells music samples: https://www.loopmasters.com/

      Not like a fringe unknown one, but one with over 20 years of history and now-owned by Beatport.

      • dylan604 2 hours ago

        meh, if they were that worried about their brand, they should have bought up the variants of their domain plus TLDs. otherwise, they can't possibly be that concerned about their trademark.