[HN Gopher] How to Synthesize a House Loop
       ___________________________________________________________________
        
       How to Synthesize a House Loop
        
       Author : stagas
       Score  : 145 points
       Date   : 2025-11-27 19:04 UTC (6 days ago)
        
 (HTM) web link (loopmaster.xyz)
 (TXT) w3m dump (loopmaster.xyz)
        
       | xnx wrote:
       | Very cool. https://loopmaster.xyz/generate is super fun also.
        
         | stagas wrote:
         | 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
        
       | jnsaff2 wrote:
       | If you like this then check out Oxygene pt4 in JS[0].
       | 
       | [0] https://dittytoy.net/ditty/59b8a8d54d
        
       | mstngl wrote:
       | 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
        
         | hecanjog wrote:
         | 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 wrote:
           | 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.
        
         | c22 wrote:
         | 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.
        
         | SmirkingRevenge wrote:
         | 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.
        
         | cdr6934 wrote:
         | My guess is we are either at the top or rising to the top of
         | cyclical curve of the trend.
        
       | 999900000999 wrote:
       | 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 wrote:
         | 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 wrote:
           | How much do you need in donations to make it happen.
           | 
           | I'll put 50$ down right now.
        
             | stagas wrote:
             | Click Export Audio next to the title here[0], there is a
             | buymeacoffee button :) tysm
             | 
             | [0]: https://loopmaster.xyz/loop/75a00008-2788-44a5-8f82-ae
             | 854e87...
        
               | 999900000999 wrote:
               | 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 wrote:
               | 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.
        
         | duped wrote:
         | 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.
        
           | 999900000999 wrote:
           | 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 wrote:
             | 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.
        
           | StableAlkyne wrote:
           | 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)
        
             | duped wrote:
             | https://forum.juce.com/t/archived-juce-8-eula/60947/149
             | 
             | And sure you can license under APGL. It should be obvious
             | that's undesirable.
        
         | tscherno wrote:
         | I route midi generated by strudel.cc in to my DAW.
        
       | Slow_Hand wrote:
       | 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.
        
         | stagas wrote:
         | 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/
        
         | H1Supreme wrote:
         | 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 wrote:
           | AudioKit for iOS/Mac is also interesting and easy to work
           | with.
        
         | solomonb wrote:
         | 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 wrote:
           | 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 wrote:
             | 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 wrote:
               | 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.
        
               | stagas wrote:
               | Quantization and repetition are what some genres depend
               | on. It won't be the right instrument for a Rock ballad,
               | but for a Techno track you need this kind of "everything
               | being quantized". That said, in loopmaster you can add
               | swing and noise to the note offsets to humanize a
               | sequence, a lot is left to the imagination and ability of
               | the creator.
        
               | solomonb wrote:
               | No one in this thread is saying quantization is never
               | appropriate.
        
           | rbn3 wrote:
           | Quite the opposite actually. certain live coding languages
           | give you the tools to create _extremely_ complex patterns in
           | a very controlled manner, in ways you simply wouldn 't be
           | able to do via any other method. the most popular artist
           | exploring these ideas is Kindohm, who is sort of an
           | ambassador figure for the TidalCycles language. Having used
           | TidalCycles myself, the language lends itself particularly
           | well to this kind of stuff as opposed to more traditional
           | song/track structures. And yet it also constrains and
           | prevents the construction of bad programs in a very strict
           | manner via its type system and compiler.
           | 
           | It's also notable for being probably the only Haskell library
           | used almost exclusively by people with no prior knowledge of
           | Haskell, which is an insane feat in itself.
        
           | bigiain wrote:
           | Some of us enjoy highly repetitive music, at least some of
           | the time.
           | 
           | "Computer games don't affect kids. If Pac Man affected us as
           | kids, we'd all be running around in darkened rooms, munching
           | pills and listening to repetitive music." -- Marcus
           | Brigstocke (probably?)
           | 
           | Also, related but not - YouTube's algorithm gave me this the
           | other day - showing how to reconstruct the beat of Blue
           | Monday by New Order:
           | 
           | https://www.youtube.com/watch?v=msZCv0_rBO4
        
             | solomonb wrote:
             | I'm not saying anything negative about repetitive music.
             | I'm saying that tools like live coding are going to
             | constrain the kind of music you can produce reasonably.
        
         | filoleg wrote:
         | > 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).
        
         | karlshea wrote:
         | 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.
        
         | fasterik wrote:
         | Procedural generation can be 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. Imagine using
         | cellular automata or physics simulations to trigger notes, key
         | changes, etc. Turing completeness means there are no limits on
         | what you can generate. Some DAWs and VSTs give you a Turing
         | complete environment, e.g. Bitwig's grid or Max/MSP. But for
         | someone with a programming background those kinds of visual
         | editors are less intuitive and less productive than writing
         | code.
         | 
         | Of course, often creativity comes from limitations. I would
         | agree that it's usually not desirable to go full procedural
         | generation, especially when you want to wrangle something into
         | the structure of a song. I think the best approach is a hybrid
         | one, where procedural generation is used to generate certain
         | ideas and sounds, and then those are brought into a more
         | traditional DAW-like environment.
        
         | MomsAVoxell wrote:
         | 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.
        
           | anigbrowl wrote:
           | Music coding technology has been around a _long time_ - think
           | of tools like csound and pd and Max /MSP. They're great for
           | coding synthesizers. Nobody uses them to do songs. Even
           | Strudel has tools for basic GUI components because once you
           | get past the novelty of 'this line of code is _modulating the
           | filter wowow_ ' typing in numeric values for frequency or
           | note duration is the least efficient way to interact with the
           | machine.
           | 
           | Pro developers who really care about the sound variously
           | write in C/C++ or use cross compilers for pd or Max. High
           | quality oscillators, filters, reverb etc are hard work,
           | although you can certainly get very good results with basic
           | ones given today's fast processors.
           | 
           | Live coding is better for conditionals like 'every time
           | [note] is played increment [counter], when [counter] > 15
           | reset [counter] to 0 and trigger [something else]'. But
           | people who are focused on the result rather than the live
           | coding performance tend to either make their own custom
           | tooling (Autechre) or programmable Eurorack modules that
           | integrate into a larger setup, eg
           | https://www.perfectcircuit.com/signal/the-programmable-
           | euror...
           | 
           | It's not that you can't get great musical results via coding,
           | of course you can. But coding as performance is a celebration
           | of the repl, not of the music per se.
        
       | pierrec wrote:
       | 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 wrote:
         | 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
        
       | joemi wrote:
       | It strikes me as kind of weird (or maybe a red flag?) that
       | there's no landing page nor an About page.
        
         | input_sh wrote:
         | 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 wrote:
           | 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.
        
       | panic wrote:
       | 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 wrote:
         | 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.
        
       | ElijahLynn wrote:
       | SO fun!!!
       | 
       | fun experiment to get you tinkerers started, skip to the bottom
       | play The Complete Loop - https://loopmaster.xyz/tutorials/how-to-
       | synthesize-a-house-l...
       | 
       | Then, on line 21, with `pat('[~
       | e3a3c4]*4',(trig,velocity,pitches)->`.
       | 
       | Change *4 to *2 and back to *4, to reduce the interval that the
       | "Chords" play. If you do it real fast with your backspace + 2 or
       | backspace + 4 key, you can change the chords in realtime, and
       | kinda vibe with the beat a little bit.
       | 
       | Definitely recommend wearing headphones to hear the entire audio
       | spectrum (aka bass).*
        
         | ElijahLynn wrote:
         | So many tweaks but here is another:
         | 
         | change line 12 from 8000 to 800
        
         | ElijahLynn wrote:
         | you can also highlight one or multiple lines and press (cmd +
         | /) to toggle if it is commented out or not to turn off a layer!
        
       ___________________________________________________________________
       (page generated 2025-12-03 23:00 UTC)