9 ms·
How to Synthesize a House Loop
- xnx 11mo agoVery cool. https://loopmaster.xyz/generate https://loopmaster.xyz/generate is super fun also.
- stagas 11mo agoThanks! 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 https://loopmaster.xyz/editor?aidj
- jnsaff2 11mo agoIf you like this then check out Oxygene pt4 in JS[0]. [0] https://dittytoy.net/ditty/59b8a8d54d https://dittytoy.net/ditty/59b8a8d54d
- djmips 11mo agoNice, that's the optimized version - sounds actually a little different than the original one it's derived from. (actually better which I didn't expect) Original: https://dittytoy.net/ditty/24373308b4 https://dittytoy.net/ditty/24373308b4 I like how music recognition flags it as the original Jarre piece. I first did stuff like this when I was a teen using a 6502 machine and a synth card - using white noise to make tshhh snares etc. All coded in 6502. The bible was Hal Chamberlin's Musical Application of Microprocessors. Then of course we had games abusing the SID etc to make fantastic tunes and then came very procedural music in size coded PC and Amiga demo coding that underneath the hood were doing tiny synth work and sequencing very much like dittytoy etc. Shadertoy even has procedural audio but it doesn't get used enough. Fantastic to experience all of this!
- mstngl 11mo agoWhat‘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 https://news.ycombinator.com/item?id=46052478 [2] Nice example: https://m.youtube.com/watch?v=GWXCCBsOMSg https://m.youtube.com/watch?v=GWXCCBsOMSg
- hecanjog 11mo agoComputer 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 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 11mo agoclassic 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.
- vidarh 11mo agoAnd simpler generative music significantly predates computers: https://en.wikipedia.org/wiki/Musikalisches_W%C3%BCrfelspiel https://en.wikipedia.org/wiki/Musikalisches_W%C3%BCrfelspiel
- c22 11mo agoOften 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 11mo agoCSOUND 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.
- deleted 11mo ago[deleted]
- 999900000999 11mo agoI 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 11mo agoI'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 11mo agoHow much do you need in donations to make it happen. I'll put 50$ down right now.
- stagas 11mo agoClick Export Audio next to the title here[0], there is a buymeacoffee button :) tysm [0]: https://loopmaster.xyz/loop/75a00008-2788-44a5-8f82-ae854e87960b https://loopmaster.xyz/loop/75a00008-2788-44a5-8f82-ae854e87...
- 999900000999 11mo agoI 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 11mo agoThe 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.
- Slow_Hand 11mo agoI'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 11mo agoFair 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/ https://loopmaster.featurebase.app/
- H1Supreme 11mo agoLook 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.
- pierrec 11mo agoThe 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 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 11mo agoThanks! 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 https://github.com/stagas
- joemi 11mo agoIt strikes me as kind of weird (or maybe a red flag?) that there's no landing page nor an About page.
- input_sh 11mo agoI 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/ https://www.loopmasters.com/ Not like a fringe unknown one, but one with over 20 years of history and now-owned by Beatport.
- dylan604 11mo agomeh, 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 11mo agoI 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 11mo agoMy 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 11mo agoSO 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-loop#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 11mo agoSo many tweaks but here is another: change line 12 from 8000 to 800
- ElijahLynn 11mo agoyou can also highlight one or multiple lines and press (cmd + /) to toggle if it is commented out or not to turn off a layer!
- adzm 11mo agoIs there a way to sidechain the bass to a compressor with the kick as an input? otherwise the low end is very muddy.
- stagas 11mo agoYes, there is a `sidechain` function designed specifically for this. I wanted to keep this tutorial simple so I skipped a lot of mixing techniques or were left as an exercise to the reader, but I will try to cover those as well in future tutorials. Sign up to get notified for when they arrive! For now you can see how it's done here[0] on line 139. I pretty much use it on every other track I've made as well. [0]: https://loopmaster.xyz/loop/6221a807-9658-4ea0-bfec-8925ccf8bc85 https://loopmaster.xyz/loop/6221a807-9658-4ea0-bfec-8925ccf8...
- adzm 11mo agoI'm sold. This is really cool. Looking forward to this becoming more open; shared with my edmproduction fam. Thanks!
- hamonrye 11mo ago[dead]
- markcerqueira 11mo agoIf you're interested in this you may also be interested in ChucK [1] - a strongly-timed music programming language. [1]: https://chuck.cs.princeton.edu/ https://chuck.cs.princeton.edu/
- RossBencina 11mo agoAnd SuperCollider, Faust, Extempore: https://supercollider.github.io/ https://supercollider.github.io/ https://faust.grame.fr/ https://faust.grame.fr/ https://github.com/digego/extempore https://github.com/digego/extempore And numerous others
- kouteiheika 11mo agoIf you like old computers and are interested in live coding music then I highly recommend to check out this video (Making 8-bit Music From Scratch at the Commodore 64 BASIC Prompt): https://www.youtube.com/watch?v=ly5BhGOt2vE https://www.youtube.com/watch?v=ly5BhGOt2vE
- efilife 11mo ago> and includes a limiter to prevent clipping It's still clipping terribly in my browser
- stagas 11mo agoIf it was clipping it would show as red in the amplitude visualizer, however the bass does have a lot of energy and that might be the cause for the clipping you're hearing. You can multiply it by a factor to reduce its amplitude.