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.
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.
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.
For live coding, Switch Angel is definitely someone I would actually go to see live, check out this video of hers [1].
[0] https://nathanho.bandcamp.com/album/haywire-frontier [1] https://youtu.be/iu5rnQkfO6M
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).
I feel like the newer (ish) tools such as Strudel, and also this here Loopmaster, have a much better toolset for producing stuff that actually sounds great (vs just purely the novelty of "look im coding beats"). Like, Strudel comes with an extensive sample bank of actually quality samples (vs relying on synthesis out of some sense of purity), and also comes with lots of very decent sounding effects and filters and the likes.
Combine that with the ability to do generative stuff in a way that Ableton, FL Studio or Renoise are never going to get you, I won't be surprised if people invent some cool new genres with these tools eventually.
Basically, your comment reads a bit like saying demoscene makes no sense because you can make any video better with Blender and DaVinci Resolve. And this obviously isn't true given the sheer overload of spectacularly great demos out there whose unique esthetic was easy to obtain because they're code, not video. (find "cdak" by Quite for an on-the-nose example).
I'm going to be surprised if this new wave of music coding tools will not result in some madly weird new electronic music genres.
Obviously there's plenty of stuff these tools are terrible for (like your example of nuanced instrument parts), but don't dismiss the kinds of things they're going to turn out to be amazing at.
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.
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.
Years ago I went to a sci-fi convention for the first time, because I had moved to a new town and didn't know anyone, and I like sci-fi. I realized when I was there that despite me growing up reading Hugo and Nebula award winners, despite watching pretty much every sci-fi show on TV, despite being a full-time computer nerd, the folks who go to sci-fi conventions are a whole nother subculture again. They have their own heroes, their own in-jokes, their own jargon... and even their own form of music! It's made by people in the community for the community and it misses the point to judge it by "objective" standards from the outside, because it's not about trying to make "interesting music" or write the best song of all time. The music made in that context is not being made as an end in itself, or even as the focus of the event, it's just a mechanism to enable a quirky subculture to hang out and bond in a way that's fun for them. I see this kind of live coded music as fulfilling a similar role in a different subculture. Maybe it's not for you, but that's fine.
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!
[1] https://news.ycombinator.com/item?id=46052478 [2] Nice example: https://m.youtube.com/watch?v=GWXCCBsOMSg
Real-time sound synthesis was tough to live-code, or to run in real-time at all, prior to the faster personal computers of the early 90s. (The tracker scene obviously pre-dates this, but in that case the actual sound synthesis algorithms weren't live coded.) In fact, code-to-music dates back to 1951[3], or 1957[4], depending on your definitions. There is a large history of development by many computer musicians following on from Max Matthews' MUSIC-N. The Computer Music Tutorial[5] is a good source for the academic/research institutions/serious composers part of the picture.
[1] https://en.wikipedia.org/wiki/Hierarchical_Music_Specificati...
[2] https://ccrma.stanford.edu/software/clm/
[3] https://cis.unimelb.edu.au/about/history/csirac/music
[4] https://en.wikipedia.org/wiki/MUSIC-N
[5] https://mitpress.mit.edu/9780262044912/the-computer-music-tu...
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.
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?
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!
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).*
change line 12 from 8000 to 800
I don't imagine making a full song out of this, but it would be a great instrument to have.
https://supercollider.github.io/
https://github.com/digego/extempore
And numerous others
Also, there is an AI DJ mode[0] where you set the mood/genre and the AI generates and plays music for you infinitely.
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-8925ccf8...
It's still clipping terribly in my browser
Not like a fringe unknown one, but one with over 20 years of history and now-owned by Beatport.