Programmer and musician Dennis Mårtensson is kicking off your year with a ton of procedurally-generated djent. Mårtensson's AI created 152 different djent songs that all flow into one another for a full 10 hour experience. All 152 songs are available on Bandcamp here, and you can check out the full things at the bottom of this post.
But first, here's the rather in-depth explanation from Mårtensson himself.
"Hey everyone!
"So, I… Don't even know how to start this description. This is something quite special to me that I've had a ton of fun working on for the last year or so. Actually I've worked on previous versions of this for years now, but they ended up sounding… Not so good. This particular version I'm fairly happy with, although it's far from perfect.
"So… Some of you might not know this, but I work as a programmer as my daytime job. In my free time, aside from working on music related stuff, I love to play around with other programming-related things. A couple of years back I started writing my own game engine (which I'm still working on and having tons of fun with!), and I've always had this idea of creating some form of program that would let me procedurally generate music for me. to some extent. Maybe not COMPLETELY random, but at least have me input ideas and having it generate hundreds and thousands of variations and combinations with them.
"I've tried and failed multiple times at realizing this idea over the past 4-5 years or so. But this is the closest I've come to materializing my idea
"So, essentially… What I've done is that I recorded EVERY note on my guitar, multiple times (open and muted notes, both left and right to "dual track" the guitars, multiple variations to increase humanization etc), edited every single strum of the guitar into individual files, reamped, mixed and mastered it and exported it out as separate .wav files (a couple of thousand files just for the guitars… (:). I did the same with the different drum parts with multiple velocities and the bass, although those samples I didn't record myself. Also did the same with multiple FX sounds and ambiance loops. Loaded all of those individual sound files into my program. And then ran it through a reasonably complex (or dumb, depending on how you see it (:) process to produce something resembling music. I also wrote a random song name generator, so that it picks a name for each "song" that it generates. (:
"And… That is what you hear here. (: This is definitely not done by any means, but I figured it would be fun to share what I have right now! The program is set up to essentially run forever, and just generate song after song, until I tell it to stop. It's all implemented in my own game engine, so adding some visualization to it was fairly easy.
"So I decided to record a 10 hour version of it, because… That's a thing, and also, I can. So I did. (:
"Anyway. Hope you enjoy it! Tell me what you think in the comments!
"Take care!
"So back to the song generation – for each section it needs to generate, it gathers a list of suitable section generators, depending on the parameters it set up prior to the song generation. Then it picks one of the suitable section generators, and lets it fill in the section provided.
"But it doesn't end there! Every section generator can call back to the song generation system to ask for a 'compliment' section generator to generate something on top of the section. So for example, a rythm section generator can ask for a lead to be placed on top of the rythm. It can also ask for some FX to be added on top of the section, or some ambient layers.
"And then the song generation system just keeps adding sections on top of each other until the song is finished. Every song takes around ~100 milliseconds to generate."