Would love for you to explain one of your riff methods, and then have it generate a few different variations so we can hear where it has freedom to make changes, etc.
I think more structure can be added to these solos with a few considerations for tweaks in the future It seems like currently, your rhythmic variation is coming from different rhythmic "speeds". (ex- this section is 16th notes, now it moves to dotted 8th notes, now 8th note triplets, etc.) Additional rhythmic patterns that can be played WITHIN sections of one type of subdivision can sound more intentional. Such as patterns of notes and rests that takes 2, 3, 4, 5, 6, 7, etc. notes to repeat. Some patterns where "I" is a note and "O" is a rest. (Patterns of 4 "I-O-I-I-I-O-I-I-I-O-I-I-I" "I-O-O-I-I-O-O-I-I-O-O-I-I") (Patterns of 5 "I-O-I-I-O-I-O-I-I-O-I-O-I-I" "I-I-O-I-O-I-I-O-I-O-I-I-O-I-O-I") etc. Different rhythms also feel more stable or more intense not just based on their speed, but also where they land relative to the pulse of the song. For example, an 8th note pattern that heavily emphasizes the off-beats feels much more intense and driving than an 8th note pattern that falls only on the beats. Likewise, notes that fall on the 2 and the 4 feel more intense than notes that fall on 1 and 3, due to how these types of djent grooves (and a lot of western music in general) emphasize beats 2 and 4 with the intense accented sound of a snare drum, while beats 1 and 3 are typically cemented with the very stable sound of the kick drum. So, your "intensity" system should not just account for rhythmic speed, but also where the notes fall relative to each beat. When creating a solo, ideas that are repeated throughout the solo with small variations give the it a better sense of cohesion. So a chance for a solo to have a higher chance of repeating melodic/rhythmic ideas (with slight variations) that have already been played before in the solo could help make the solos feel more cohesive?
Just to throw out ideas to achieve something like a theme, you could come up with some sort of melody and then convolve it with a random sequence to get a bunch of sequences that sound familiar but are not the same.
@@DennisMartenssonOfficial Hah, what a cool coincidence that Adam Neely just made a video talking about this rhythmic concept a few weeks after I made this comment! ua-cam.com/video/DcrYaRJD_e8/v-deo.html&ab_channel=AdamNeely
You should name this project the 'Per Nilsson Simulator' (Scar Symmetry and Meshuggah's live touring guitarist for the last four years). Dude is on another level.
Next step, compress the hell out of these drums, let it change keys, and add pinch harmonics. I'm sure I've heard dissonant harmonies in the 10-hour djent video and I loved all 10 hours of it. Here before your channel blows up, lad. Keep it up!
Glad you liked it! The new version I'm working on actually has support for variable tunings and scales! Already sounding so much better! And yeah, need to sample some pinch harmonics as well and implement that, that would be dope! : D
Amazing! I know a viewer in a recent video suggested turning the samples you've recorded for this project into a commercial library, but to take that idea one step further...If you ever released accompanying software that incorporated these generative composition tools and put them in the hands of the layperson...well, that'd be industry-disrupting to say the least! I dream of of such a day. :D
Glad you like it! Yeah, I've been toying around with different ways to "release" this program to the public, hopefully I'll get something out soonish! : D
There is already Shreddage 2. It contains all the samples and a bunch of logic to make it sound more natural. Avoids note repeats, alternating between up/down strokes, hammer ons/pull offs, taking into account hand position, manual string/fret selection, certain extras like heavy palm mute chugs and slides, randomized timing .... It requires a bit of learning, but even if you just feed it some MIDI from GuitarPro and distort it a bunch it doesn't sound bad at all and it costs about the same as a cheap guitar starter set. There are probably other 'sample packs' like this available, but that's the one I happen to know.
@@fonesrphunny7242 Ah yeah! I use Shreddage 3 and love it. Absolutely phenomenal samples! I was more referring to the underlying algorithms that could be used as generative composition tools rather than the sample set itself. Even combining a library like Shreddage with the available MIDI sequencers/plugins out there today, nothing comes close to the kind of procedural performance generation demonstrated here.
I don't have anything clever to say, just want to say that I have stayed in awe of all you do, to this day, and still do. Keep going Dennis, this is phenomenal stuff
Oh man, I think you’ve just killed the whole djenre! Amazing work! Solos have some room for improvement, like recycling melodies and motifs, but the whole thing is just awesome! Also, your channel most likely to explode in the near future. Good luck! All the best!
Honestly the coolest channel I have stumbled across recently. Love your videos to death This is a perfect intersection between my two favourite fields, didn't know I needed this. Please keep up the good work man. You've inspired me. I know what my next summer project is going to be :D
Awesome to hear. Feels like the perfect intersection of two of my favourite fields as well. (: And yeah, definitely, if you wanna do something similiar, go for it! Looking forward to your 10 hour video! ;)
Its amazing that you can program it to emulate the style of human playing that was in itself supposed to emulate mechanical/digital playing in the vein of Meshuggah and jazz fusion.
toward the end of the ruleset 1 showcase I was thinking how much better it'd sound with varying rhythms. That's about the time you switched to the ruleset 2 walkthrough... I love this project, keep up the great work!
This is pretty awesome! Have you thought about trying to implement things like increasing the likelihood of playing triad notes based on the backing rhythm sections notes? Something like increasing the likelihood of playing triad notes based on note length or at the end of the more rapid rhythic figures (With Ruleset 2) would probably help to make it sound more natural. Or even including something that generates pentatonic licks to play into the trope. I have only an extremely rudimentary understanding of python code, but as a musician those are the kind of things I think would help it to make less "useless garbage" as I believe you said.
I've watched each video like 15 times and I am still mind blown. Keep these videos coming! any plans to release a program or a version of this program for others to use as a writing tool? Maybe it could just output midi if that's easier than rendered audio. Please keep us updated! I volunteer to pre alpha test.
So sick! Just subscribed to make sure I see all your in-depth videos. I'm curious on how you got DjinnBass and GGD to work with your engine. Did you use the same code as you did with your guitar for loading and playing samples?
Thanks a lot! Yeah, it works the same as the guitar samples, I just exported (mixed) samples from both GGD and Djinnbass, so all the program sees are just a bunch of sound files. (:
I used to write lots of solos - even songs - in a similar way by adding random sequences into the guitar pro editor. Some of them were recorded professionally at several dead projects. You can get awesome stuff that otherwise would be impossible to come with
Glad you liked it! I think most things is possible, anything that you can teach a human you can teach a computer, it just needs to be explained in a very specific way. ;)
Your programming demonstrates that "ai" as we usually think of it can just be a way of translating real world concepts, like how guitar players physically play and how they choose notes, and programming them. So it's not always that software is "learning" or "thinking" at all, the programmer has chosen the rules. That is creative and an art of its own. Imagine the simple example of a programmed chess player. The programmer decides what the player will "think" to decide it's next move. The program needn't "learn" if it made good choices. If the player keeps losing, the programmer changes the code.
Loving this! Whenever guitarists play a long note they can't help but play vibrato. It's almost impossible not to! 😄 So you could add a vibrato if note is a certain length. Would make those parts sound more natural. Love your work!
Thanks! And yep! It's all implemented in my game engine, so the visualization is essentially just some 3D objects and some lights along with some volumetric lighting! (:
Hey regarding your algorithm... 3:17 So you are picking scale degree hap-hazardly based on distance? Might I instead advise to pick notes that either favour the TONIC, DOMINANT or SUBDOMINANT also fit within the current chord. If you add a weighting function for the scale degree, ie: first degree is 20% chance to be played, second degree, 5%, so on so fourth, I think the leads will really be interesting!
Writes better solos than me lol, I think a main thing that made the solos feel a little out of place was that it’s not generating its rhythm from the base track, if there was influence on the solo from the 0’s and the time in between it might sound cool, not sure though
Me too, haha. x) Yeah, that's definitely an improvement to be done in the future. If it could dynamically follow the underlying rhythm from time to time, that would be awesome!
Cool project. It somehow makes me think of playing Descent 2 and imagine this generating a dynamic soundtrack that gets more intense the lower I'm on health or something :)
@@DennisMartenssonOfficial At least for me it was the first game featuring a pretty aggressive industrial/guitar oriented soundtrack back in the days (when you had to haul chunky PC's and CRT's to a place to enjoy a network game with some friends :).
I reckon some harmonics and bends on some of the held notes would go a long way, also a chance of a break in the solo letting some of the rhythm in before starting up again, maybe even lots of breaks in the solo, could have interesting results. It's already super impressive though.
@@n484l3iehugtil I was thinking do it digitally if it's possible for the engine to do that, it would sound artificial but it already sounds a bit artificial so it might be worth trying.
Yeah, definitely! This is mostly an "introductory" exploration of this concept, would be fun to explore more of it in the future, making it more intelligent! And yeah, I have thought about bends, different ways to do that. Would probably try to fake it with automated pitching rather than recording thousand of new samples! (:
If you wanted to do this you would have to create a pallet of sample licks, and then create a series of variations that can be methodically applied to all of the original samples. Then organize a flow of how the licks should be arranged to develop emotions. Its impossible. You would have to tell the computer a few different ideas to get the notes in and out of landing on chord tones. Creating contrast. The lines that you have lack resolutions. They need to end on more familiar ideas outlining where home is.
Using two different in this video! Honestly don't know the names of either one, just played around a bit and picked the notes that sounded good together. (:
@@DennisMartenssonOfficial I don't suppose you remember which notes? 😅 Sorry, I'm bad at guitar and even worse at learning by ear. I've just been listening to the music you have on spotify on repeat for the last week, seriously I've probably gone through all of it 3 or 4 times. I'd love to be able to play around with the scale you used on those tracks. I haven't picked up my guitar in a long time but those songs have me feeling inspired again.
As a 3d artist and guitarist, I'm jealous as fuck lmao! I was think about that kind of stuff but I've lost my coding skills decades ago. Good fucking work mate!
Do you want even more in-depth videos? \o/
Of course
Good to know! : D
Would love for you to explain one of your riff methods, and then have it generate a few different variations so we can hear where it has freedom to make changes, etc.
Yep
Absolutely! :)
"What's your favorite metal band?"
"Dennis Martensson's computer"
Hahaha x'D
They aren't on any mainstream labels yet. You probably haven't heard of them
This is EXACTLY where I was hoping this channel was heading towards
Awesome! : D
I think more structure can be added to these solos with a few considerations for tweaks in the future
It seems like currently, your rhythmic variation is coming from different rhythmic "speeds". (ex- this section is 16th notes, now it moves to dotted 8th notes, now 8th note triplets, etc.) Additional rhythmic patterns that can be played WITHIN sections of one type of subdivision can sound more intentional. Such as patterns of notes and rests that takes 2, 3, 4, 5, 6, 7, etc. notes to repeat.
Some patterns where "I" is a note and "O" is a rest.
(Patterns of 4 "I-O-I-I-I-O-I-I-I-O-I-I-I" "I-O-O-I-I-O-O-I-I-O-O-I-I") (Patterns of 5 "I-O-I-I-O-I-O-I-I-O-I-O-I-I" "I-I-O-I-O-I-I-O-I-O-I-I-O-I-O-I") etc.
Different rhythms also feel more stable or more intense not just based on their speed, but also where they land relative to the pulse of the song. For example, an 8th note pattern that heavily emphasizes the off-beats feels much more intense and driving than an 8th note pattern that falls only on the beats. Likewise, notes that fall on the 2 and the 4 feel more intense than notes that fall on 1 and 3, due to how these types of djent grooves (and a lot of western music in general) emphasize beats 2 and 4 with the intense accented sound of a snare drum, while beats 1 and 3 are typically cemented with the very stable sound of the kick drum.
So, your "intensity" system should not just account for rhythmic speed, but also where the notes fall relative to each beat.
When creating a solo, ideas that are repeated throughout the solo with small variations give the it a better sense of cohesion. So a chance for a solo to have a higher chance of repeating melodic/rhythmic ideas (with slight variations) that have already been played before in the solo could help make the solos feel more cohesive?
Just to throw out ideas to achieve something like a theme, you could come up with some sort of melody and then convolve it with a random sequence to get a bunch of sequences that sound familiar but are not the same.
Good suggestions! I'll keep them in mind as I continue to work on the project! (:
@@DennisMartenssonOfficial Hah, what a cool coincidence that Adam Neely just made a video talking about this rhythmic concept a few weeks after I made this comment!
ua-cam.com/video/DcrYaRJD_e8/v-deo.html&ab_channel=AdamNeely
You should name this project the 'Per Nilsson Simulator' (Scar Symmetry and Meshuggah's live touring guitarist for the last four years). Dude is on another level.
Haha, yeah Per is phenomenal!
Next step, compress the hell out of these drums, let it change keys, and add pinch harmonics. I'm sure I've heard dissonant harmonies in the 10-hour djent video and I loved all 10 hours of it. Here before your channel blows up, lad. Keep it up!
Glad you liked it! The new version I'm working on actually has support for variable tunings and scales! Already sounding so much better! And yeah, need to sample some pinch harmonics as well and implement that, that would be dope! : D
@@DennisMartenssonOfficial And bends/vibratos! Imagine how _succulent_ that would be. Can't wait for the new 10-hour playlist already. :D
Amazing! I know a viewer in a recent video suggested turning the samples you've recorded for this project into a commercial library, but to take that idea one step further...If you ever released accompanying software that incorporated these generative composition tools and put them in the hands of the layperson...well, that'd be industry-disrupting to say the least! I dream of of such a day. :D
Glad you like it! Yeah, I've been toying around with different ways to "release" this program to the public, hopefully I'll get something out soonish! : D
There is already Shreddage 2. It contains all the samples and a bunch of logic to make it sound more natural. Avoids note repeats, alternating between up/down strokes, hammer ons/pull offs, taking into account hand position, manual string/fret selection, certain extras like heavy palm mute chugs and slides, randomized timing ....
It requires a bit of learning, but even if you just feed it some MIDI from GuitarPro and distort it a bunch it doesn't sound bad at all and it costs about the same as a cheap guitar starter set.
There are probably other 'sample packs' like this available, but that's the one I happen to know.
@@fonesrphunny7242 Ah yeah! I use Shreddage 3 and love it. Absolutely phenomenal samples! I was more referring to the underlying algorithms that could be used as generative composition tools rather than the sample set itself. Even combining a library like Shreddage with the available MIDI sequencers/plugins out there today, nothing comes close to the kind of procedural performance generation demonstrated here.
Underrated channel. Keep up the awesome work!
Thanks a lot! Glad you like it!
I don't have anything clever to say, just want to say that I have stayed in awe of all you do, to this day, and still do. Keep going Dennis, this is phenomenal stuff
Thanks a lot! Glad you like it! : D
Oh man, I think you’ve just killed the whole djenre!
Amazing work!
Solos have some room for improvement, like recycling melodies and motifs, but the whole thing is just awesome!
Also, your channel most likely to explode in the near future. Good luck! All the best!
Honestly the coolest channel I have stumbled across recently. Love your videos to death
This is a perfect intersection between my two favourite fields, didn't know I needed this.
Please keep up the good work man. You've inspired me. I know what my next summer project is going to be :D
Awesome to hear. Feels like the perfect intersection of two of my favourite fields as well. (:
And yeah, definitely, if you wanna do something similiar, go for it! Looking forward to your 10 hour video! ;)
Its amazing that you can program it to emulate the style of human playing that was in itself supposed to emulate mechanical/digital playing in the vein of Meshuggah and jazz fusion.
Haha, we have come full circle! : D
Great video, learnt a lot. Nicely explained, keep 'em coming.
Glad you liked it! (:
damn that "Bloody Epiphany" solo was sick
toward the end of the ruleset 1 showcase I was thinking how much better it'd sound with varying rhythms. That's about the time you switched to the ruleset 2 walkthrough...
I love this project, keep up the great work!
Thanks a lot! Glad you liked it! (:
this is actually amazing
Thanks!
And awesome! I get the process vids same day as I am shown the 10hr dj0nt! Thanks!
Awesome! Glad you like it!
Really enjoying the stuff you are making in your black box of goodness, please keep doing it!
Thanks, glad you like it! : D
This is pretty awesome! Have you thought about trying to implement things like increasing the likelihood of playing triad notes based on the backing rhythm sections notes? Something like increasing the likelihood of playing triad notes based on note length or at the end of the more rapid rhythic figures (With Ruleset 2) would probably help to make it sound more natural. Or even including something that generates pentatonic licks to play into the trope. I have only an extremely rudimentary understanding of python code, but as a musician those are the kind of things I think would help it to make less "useless garbage" as I believe you said.
Yeah, definitely. Great suggestions. I'll keep them in mind as I continue working on this!
more please. This is some next level stuff
I hope you keep expanding, and cover other metal genres too :) I bet you could make a hell of a Power Metal algorithm.
I've watched each video like 15 times and I am still mind blown. Keep these videos coming! any plans to release a program or a version of this program for others to use as a writing tool? Maybe it could just output midi if that's easier than rendered audio. Please keep us updated! I volunteer to pre alpha test.
Leads and solos for days!
What you’re doing is amazing
Thanks!
You are the future mate!! Or may I call present.
Haha, thanks! : D
So sick! Just subscribed to make sure I see all your in-depth videos. I'm curious on how you got DjinnBass and GGD to work with your engine. Did you use the same code as you did with your guitar for loading and playing samples?
Thanks a lot! Yeah, it works the same as the guitar samples, I just exported (mixed) samples from both GGD and Djinnbass, so all the program sees are just a bunch of sound files. (:
Would love to see your recording and editing process for making samples! Incredible project my friend.
I used to write lots of solos - even songs - in a similar way by adding random sequences into the guitar pro editor. Some of them were recorded professionally at several dead projects. You can get awesome stuff that otherwise would be impossible to come with
this is awesome, i never even though that was possible!
Glad you liked it! I think most things is possible, anything that you can teach a human you can teach a computer, it just needs to be explained in a very specific way. ;)
Your programming demonstrates that "ai" as we usually think of it can just be a way of translating real world concepts, like how guitar players physically play and how they choose notes, and programming them. So it's not always that software is "learning" or "thinking" at all, the programmer has chosen the rules. That is creative and an art of its own.
Imagine the simple example of a programmed chess player. The programmer decides what the player will "think" to decide it's next move. The program needn't "learn" if it made good choices. If the player keeps losing, the programmer changes the code.
Loving this! Whenever guitarists play a long note they can't help but play vibrato. It's almost impossible not to! 😄 So you could add a vibrato if note is a certain length. Would make those parts sound more natural. Love your work!
Possible, yeah, but tricky to implement! Would be cool though! It's on my endless to-do list, haha
Epic stuff... May I ask, Did you code the visualizer as well?
Thanks! And yep! It's all implemented in my game engine, so the visualization is essentially just some 3D objects and some lights along with some volumetric lighting! (:
This is amazing ❤️❤️❤️😭😭😭❤️❤️❤️
yaaas
I think a chance for rests would be beneficial.
Creat more space at times.
1/16 rest
1/8 rest
1/4 rest
And maximum 1/2 rest
Hey regarding your algorithm...
3:17 So you are picking scale degree hap-hazardly based on distance?
Might I instead advise to pick notes that either favour the TONIC, DOMINANT or SUBDOMINANT also fit within the current chord.
If you add a weighting function for the scale degree, ie: first degree is 20% chance to be played, second degree, 5%, so on so fourth, I think the leads will really be interesting!
Writes better solos than me lol, I think a main thing that made the solos feel a little out of place was that it’s not generating its rhythm from the base track, if there was influence on the solo from the 0’s and the time in between it might sound cool, not sure though
Me too, haha. x) Yeah, that's definitely an improvement to be done in the future. If it could dynamically follow the underlying rhythm from time to time, that would be awesome!
Cool project. It somehow makes me think of playing Descent 2 and imagine this generating a dynamic soundtrack that gets more intense the lower I'm on health or something :)
Thanks! Never played Descent 2, but yeah a system like this in a game would be AWESOME!
@@DennisMartenssonOfficial At least for me it was the first game featuring a pretty aggressive industrial/guitar oriented soundtrack back in the days (when you had to haul chunky PC's and CRT's to a place to enjoy a network game with some friends :).
Your English is really good.
Thanks!
I reckon some harmonics and bends on some of the held notes would go a long way, also a chance of a break in the solo letting some of the rhythm in before starting up again, maybe even lots of breaks in the solo, could have interesting results.
It's already super impressive though.
I can't begin to imagine how many bends Dennis would have to record for that, lol
@@n484l3iehugtil I was thinking do it digitally if it's possible for the engine to do that, it would sound artificial but it already sounds a bit artificial so it might be worth trying.
Yeah, definitely! This is mostly an "introductory" exploration of this concept, would be fun to explore more of it in the future, making it more intelligent! And yeah, I have thought about bends, different ways to do that. Would probably try to fake it with automated pitching rather than recording thousand of new samples! (:
If you wanted to do this you would have to create a pallet of sample licks, and then create a series of variations that can be methodically applied to all of the original samples. Then organize a flow of how the licks should be arranged to develop emotions. Its impossible. You would have to tell the computer a few different ideas to get the notes in and out of landing on chord tones. Creating contrast. The lines that you have lack resolutions. They need to end on more familiar ideas outlining where home is.
Might try something like that out!
What scale are you using? Sounds epic!
Using two different in this video! Honestly don't know the names of either one, just played around a bit and picked the notes that sounded good together. (:
@@DennisMartenssonOfficial I don't suppose you remember which notes? 😅 Sorry, I'm bad at guitar and even worse at learning by ear. I've just been listening to the music you have on spotify on repeat for the last week, seriously I've probably gone through all of it 3 or 4 times. I'd love to be able to play around with the scale you used on those tracks. I haven't picked up my guitar in a long time but those songs have me feeling inspired again.
thats epic!
Thanks! : D
I'd love to see this performed live ;)
You and me both : D
As a 3d artist and guitarist, I'm jealous as fuck lmao! I was think about that kind of stuff but I've lost my coding skills decades ago. Good fucking work mate!
Lol 5:50. "Broken Tesseract". Pretty much.
0:20 it's funny that you use that riff as the example, because it shows up in like half of the "tracks" in that video.
Haha yeah, just happened to be so. Need to tone that riff down massively for the next iteration!
plot twist: there is a human behind the computer playing the solos
Haha, if only I could play these solos x'D My computer is better than me unfortunately : D
What software do you use for the visuals.
imagine this shit is used to djenerate dynamic soundtrack for some kind of Doom Ethernal game)
That would be so awesome!
So this is what the death of Periphery sounds like.
I don't know if the "Miseries" title was intentional but it made me scream
Haha totally random : D
I wonder if you could add bends somehow? idk man. The robot uprising is gonna have a great OST
Yeah, that would add a ton of depth to it! Might be faked convincingly with some pitching. Need to look into that. : D
When maths meets music lol)
Why do I see Tosin in my mind playing all of this stuff?
If anyone can play it, it's him : D
Note bends (boomer) and vibrato would be the next level
Also pinches and dive bombs?
great now even computers are better than me at guitar
Haha, well that makes two of us at least.. x*D I can't play even half the stuff it's generating, haha
So what your trying to tell me is the quit writing music? Make a generator instead. *Writes down notes
Haha, if that's the route you wanna go ;)
You're delving too far
absolutely not :)
Nah, not far enough! ;)