How I Procedurally Generate Music (EXPLAINED)

Поділитися
Вставка
  • Опубліковано 7 лис 2024

КОМЕНТАРІ • 446

  • @NikNocturnal
    @NikNocturnal 2 роки тому +14

    This is the craziest thing I've seen all year!

    • @E2Causa
      @E2Causa 2 роки тому +1

      We are about to lose our jobs

  • @NSchulmeister
    @NSchulmeister 3 роки тому +308

    Using something like this as a Videogame real time Soundtrack would be amazing. Sick stuff, congrats for achieving such a good result.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +58

      Definitely, would love to see more games play around with procedural music!

    • @Ehrmann_Gregsson
      @Ehrmann_Gregsson 3 роки тому +38

      @@DennisMartenssonOfficial That's an interesting idea, especially if the music intensity depends on what is happening on the screen at the moment.

    • @Dynamitethedrummer
      @Dynamitethedrummer 3 роки тому +4

      this would be the best direction

    • @hackswell
      @hackswell 2 роки тому +3

      @@Ehrmann_Gregsson And even more awesome if it takes the player's style into account; each player would in effect have their own personalized soundtrack!

    • @friedrichkopp5512
      @friedrichkopp5512 2 роки тому +5

      @@Ehrmann_Gregsson RedDeadRedemption had something along those lines. At least to the degree that certain instruments were mixed in or not depending on the action on screen. That was pretty cool. Look up "Behind the Scenes of the Red Dead Redemption Soundtrack"

  • @JeeohLee
    @JeeohLee 3 роки тому +101

    As a student learning to code, and being the only metalhead around..this hits the spot. Cant wait for the day i am able to create such monstrosities.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +46

      I'll copy-paste a bit from a response I gave to another comment here;
      "I think the key thing to remember is that, if past me were to see this program now, and being asked to "write this", I would have NO IDEA what to do.
      Always need to start small. Start by playing a single sound. When you got that down, play like a kick sample every quarter note following some standard BPM, 120 or so. When you got that, add snares on 2 and 4, and hihats! When you have THAT, just evolve it. Add a random chance that another kick will play on some eighth note. Randomize which crash cymbal it plays at the beginning of the beat. Randomize playing an open hihat every now and then. Then add bass. Just have it play 0's over and over. Randomize it going to different notes every 4:th note or so. Randomize which notes. Sample a guitar that plays the same notes as the bass. Etc.
      Once you've gotten to THAT stage, ideas on how to evolve it further will pop up in your head that you can't wait to try out!
      Next thing you know you have your own 10 hour video. ;)
      At least that's how I started this project! Start simple. Iterate, over and over again. (:"
      Point is, I believe anyone can do this. It only seems like a monstrosity, because I've iterated on it many times. But the foundation of the idea is really quite simple. Play samples. Randomize stuff that makes sense to randomize. If you want to start building something similiar, you can do it! I believe in you! : D

  • @berzerkskwid
    @berzerkskwid 3 роки тому +170

    I'm not a very good coder or musician, but I know enough about both to know that what you've done with this project is incredible. Thanks for a very useful explainer on how you made this come to life!

  • @DennisMartenssonOfficial
    @DennisMartenssonOfficial  3 роки тому +36

    Do you want more in-depth videos? \o/
    Buy/download the music on Bandcamp: dennismartensson.bandcamp.com/album/the-infinity-construct-chapter-2
    Listen to the music on Spotify; open.spotify.com/album/0d0mk08n5z8LEKn7GjZuc7?si=REsJiRRGTBuSPZL72jenLw

    • @elalchymist6107
      @elalchymist6107 3 роки тому

      Yes please, that's great work that need to be continued, to seed this king of ideas in the music world and inspire other musician/coder! Have a blasting day/week/eternity^^!

  • @charcoaljohnson
    @charcoaljohnson 3 роки тому +72

    As a fellow coder and fan of djent, I am extremely fascinated by this. I am very interested to hear more about the details of the code. Excellent work, cheers.

  • @ilikeheavymuzic135
    @ilikeheavymuzic135 3 роки тому +24

    Dude people like you are pushing music into territory we could only dream about before. Please keep working on this program 🙏🏻🙏🏻❤️

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +4

      Thanks a lot! Definitely will! Also very interested if you could apply procedural generation to aid with "traditional" songwriting as well. Have toyed around with the idea of making a plugin that, given some inputs (like MIDI data), could procedurally generate drum beats or something. Would be sweet!

    • @ilikeheavymuzic135
      @ilikeheavymuzic135 3 роки тому +3

      @@DennisMartenssonOfficial That would absolutely help non-drummers like me who are absolutely useless at programming midi drums lol, please bless us with this gift

    • @eternalAku
      @eternalAku 2 роки тому +2

      @@DennisMartenssonOfficial Hope you'll make that plugin someday, because programming drums gives me mental breakdowns every time I have to do it hah

  • @hurblegurble1512
    @hurblegurble1512 3 роки тому +147

    So basically all this juicy goodness began because you didn't feel like studying one day. XD ❤️❤️❤️❤️

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +30

      Don't stay in school kid : D

    • @n484l3iehugtil
      @n484l3iehugtil 3 роки тому +6

      Hardworking people work hard, lazy people work smart :P

    • @aprilcox871
      @aprilcox871 2 роки тому +2

      It's amazing what you can achieve when you have something more important to do

    • @adirsab
      @adirsab 2 роки тому

      school sucks hard. its for sheeps

  • @joshuadunne
    @joshuadunne 3 роки тому +43

    Jesus Christ!
    I've been kind of on the fence about this anyway, but this has just convinced me, I really need to learn to code. This is brilliant, and I love the ideas you've had. Would love to try and build something even remotely close to what you've accomplished here.
    Well done. Earned you a subscriber for sure!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +22

      Learning to code is super fun! So yeah, definitely try it. : D
      I think the key thing to remember is that, if past me were to see this program now, and being asked to "write this", I would have NO IDEA what to do.
      Always need to start small. Start by playing a single sound. When you got that down, play like a kick sample every quarter note following some standard BPM, 120 or so. When you got that, add snares on 2 and 4, and hihats! When you have THAT, just evolve it. Add a random chance that another kick will play on some eighth note. Randomize which crash cymbal it plays at the beginning of the beat. Randomize playing an open hihat every now and then. Then add bass. Just have it play 0's over and over. Randomize it going to different notes every 4:th note or so. Randomize which notes. Sample a guitar that plays the same notes as the bass. Etc.
      Once you've gotten to THAT stage, ideas on how to evolve it further will pop up in your head that you can't wait to try out!
      Next thing you know you have your own 10 hour video. ;)
      At least that's how I started this project! Start simple. Iterate, over and over again. (:

    • @joshuadunne
      @joshuadunne 3 роки тому +10

      @@DennisMartenssonOfficial Hahaha, shit man, "Start simple. Iterate, over and over again" is basically how I've lived my whole life to this point.
      Excellent advice, and I thank you for it :)

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +7

      Haha it's a good phrase to live by, indeed : D

    • @atomictraveller
      @atomictraveller 3 роки тому

      "C++ for beginners" by herb schildt, clear, concise language, prolly a free pdf from microsoft if you can find it
      takes a bit of patience and maybe luck to make it through the SDKs and API calls to create an audio out stream, but when you got that, you're free to do as you please.

    • @threepe0
      @threepe0 2 роки тому

      @@DennisMartenssonOfficial This is gold. I’m starting today. Can I ask a general question though regarding method? I think I remember you saying you recorded each fret on your guitar to create the sounds. What are your thoughts on instead starting with midi, and then later using that to trigger something like the Odin VST and a drum plugin?

  • @lordvipul
    @lordvipul 3 роки тому +43

    I can see that you've put a lot of time and effort into this project. Keep the videos coming, would love to see more details and the evolution of this engine.

  • @DavidList
    @DavidList 3 роки тому +4

    Ok. Ya sold me. I'm 5 hours into the djent video and loving it. As someone mentioned below, proc gen tunes would be amazing in video games, particularly games that feature unique runs or at least unique situations.

  • @atomictraveller
    @atomictraveller 3 роки тому +1

    i coded my (the?) first procedural lyrical song generator in 1994, released several generations since (blewm, breathcube as xoxos) and recorded many types of procedural sound. i've long encouraged others to give it a go, eg. blewm was made in 8 weeks for a kvr Developer Challenge; it's relatively primitive but all sounds are synthesized in realtime (made many physical modeling vst). in many years i see so few people who make procedural music that actually includes more than one or two voices, includes rhythm parts, sounds anywhere close to the forms of music people consume. fantastic!

  • @James-yt6to
    @James-yt6to 3 роки тому +10

    I think we are looking at the djenesis of something much bigger.

  • @alanschrader3117
    @alanschrader3117 3 роки тому +8

    Thank you so much for sharing this! I really like your process, and I think generating the sections like that is what makes this feel so much different than the usual machine learning / AI processes I've heard. Your music sounds WAY more intentional and composed, and I think that can be specifically attributed to the way you go about generating sections. I'm really excited to hear what comes from the next iteration!

  • @marknorman5339
    @marknorman5339 3 роки тому +22

    Separating generation from playback allows for sound experiments that might produce the never-before heard. I imagine these songs played with cello, sax, and African percussion.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +15

      Haha honestly, would be super funny to just load in a bunch of other samples for all the instruments just to see how that would sound.. x'D

    • @atomictraveller
      @atomictraveller 3 роки тому +2

      imagine these songs with a 3d rotating oscillator with feedback and a resonant filter on the feedback path ;) most people don't know what that sounds like... whereas most people know what cello sounds like...

    • @hackswell
      @hackswell 2 роки тому

      @@DennisMartenssonOfficial We NEED this. It could be awesome... or just hilarious... and quite possibly... BOTH!

    • @contemplationchannel
      @contemplationchannel 2 роки тому

      @Mark Norman use Boomy and you will get all this stuff

  • @janzuun
    @janzuun 3 роки тому +2

    This is insane! It's like the musical equivalent of the leap from traditional board games to video games. I seriously believe people will use these kinds of tools as the instruments of the future, thanks so much for sharing your particular process. :D

  • @gdifrancesco
    @gdifrancesco 2 роки тому +4

    Omg, this is just amazing! And thank you a lot for the precious explanation!
    I'm both a musician and programmer too and I can clearly see all the amount of hard and creative work, also when I'm listening to the songs.
    All the different sections are so well connected with beautiful transictions, with drum fills too. And there are awesome melodies intersecting, ambients and guitar solos.
    Of all the different "djenerators" around the web, this is the best one :)
    Good job dude!
    P.S.: If this project will be open source one day, I'll be happy to contribute!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +4

      Thanks a lot! Glad you liked it! And yeah, I'll definitely do an announcement of some sort if it goes open source someday!

  • @cameronnaidoo8564
    @cameronnaidoo8564 2 роки тому +9

    What's interesting to me (correct me if I'm wrong) is that because djent is a genre where the note dies very quickly, your samples don't actually sound robotic, they just sound djent. The choppiness sounds cool and actually natural to the genre. How convenient!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +5

      Agree to some extent, Djent is supposed to sound a bit "robotic" in places, which definitely helps! : D

  • @jonasboardwalker
    @jonasboardwalker 2 роки тому +4

    You are not only great musician, but an awesome software engineer as well 👏🏻

  • @victorkelante5711
    @victorkelante5711 3 роки тому +4

    This is bringing passion to another level, I hope we get to see more advanced or complex patterns if you keep going at it, this is legendary already.

  • @LilBoyHexley
    @LilBoyHexley 2 роки тому +3

    This is pretty incredible.
    The part that impresses me the most isn’t necessarily the ability to create beats, riffs, breakdowns, leads, etc. As these are all things that feel particularly easy for a computer to do, following musical principles to create something that sounds “good” should be possible. This seems like how you could end up with generated songs that sound “musical” but random.
    The part that I find more impressive is how things are layered and sections go together and “moments” are generated. There are times that it really feels like there was real intent to sections of songs. This bespoke method of generating music definitely has tons of hypothetical uses.

  • @pinkamaspit
    @pinkamaspit 3 роки тому +6

    This is so insanely amazing. Incredible work T_T In your own engine too...I've heard making them from scratch is incredibly laborious lol. I would love to hear more about the section generators in detail, or what you plan on doing for the overhaul. As well as any game dev stuff you might want to talk about eventually too! Thanks for sharing your work with us ❤️

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +3

      Thanks a lot! Yeah, making the engine has definitely been time-consuming, but a lot of fun! The game engine essentially just started with me wanting to learn more about how game engines work, so I tried making my own.. Then I just kept working on it because it was so much fun. : D Not for everyone though! Actually have been toying with making some game dev related videos, but that would probably be on a different channel then!

  • @DJDextek
    @DJDextek 2 роки тому +2

    Incredible, this makes me glad I'm studying csci

  • @leonarrow
    @leonarrow 2 роки тому +3

    I am a huge fan of people like Anup Sastry and this music really reminds me of that. I freaking love this project. What a great idea. I am a programmer and musician but cannot really imagine how you have done all this, even with your explanation. I can completely understand why you would not necessarily want to go public with the code etc. But here's a couple of ideas for you:
    1) setup a patreon and offer something like logic projects featuring the midi and some embedded samples
    2) consider setting up the software on a server where some of the parameters can be tweaked and invite users to upload their own samples for the key parts, have a wall of sound to showcase user input and then generated tracks. Make sure copyright remains yours and then you can upload some of the best pieces here on your channel with credits to the users.
    Regardless of whether this is helpful, just want to say congrats for a brilliant project. I know what I am going to be working to this week! ;)

  • @Not_Interested93
    @Not_Interested93 2 роки тому +2

    This is the future of music and songwriting. So, so, so sick. I haven’t been this excited about metal in a long time. Well done man

    • @iseeu-fp9po
      @iseeu-fp9po 2 роки тому

      But what is there to be excited about about this? You're excited about AI making music instead of humans? That's already here.

    • @WinterInTheForest
      @WinterInTheForest 5 місяців тому

      This isn't songwriting, there is no soul.

  • @mutex6
    @mutex6 3 роки тому +25

    This is amazing! Are you thinking on making any public repos for this? I sincerely applaud you for this project.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +15

      Thanks a lot! Perhaps in the future! Would need a major cleaning up and reorganizing if I made it public. (:

    • @SequenceBreaker64
      @SequenceBreaker64 3 роки тому +8

      @@DennisMartenssonOfficial in the far future it would be cool to have a massive collection of stems/samples that can be submitted by producers/musicians for the generator to pull from.

    • @atomictraveller
      @atomictraveller 3 роки тому +1

      jesus guys, (1) do your own generator, start fresh, keep your ideas in your own head, nice n clear. how do you do music? implement a clock that counts samples in your audio routine to count time. now make a signal. how do you generate rhythms, notes? any way you can. what could be simpler? see how easy it is when you start clean.
      (2) samples, blow them out your ass, computers were not made to play back prerecorded sounds. if you can't do anything else, play back table oscillators randomly generated from fourier transforms. if you don't start doing it yourself, what will you ever do?

  • @Salz1usTox1cus
    @Salz1usTox1cus 2 роки тому +1

    This is so interesting! Im blown away. With this method, the possibilitys are endless i think, you can feed the programm with everything.

  • @Etholux
    @Etholux 3 роки тому +2

    We would absolutely love a follow-up that goes through examples of section-generators. And even though you said it would take too much time to go through ALL of the many small algorithms, a few examples would probably better help me understand how all of these variations can manage to be so musical.
    This is all so incredible and thank you so much for creating this! :)

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому

      Glad you liked it! Yeah, definitely planning a couple of videos with more deep dives into some of the concepts I mentioned in this video. (:

    • @atomictraveller
      @atomictraveller 3 роки тому

      if you catalogue algorithms instead of produce them you'll listen to more music than you generate ;)
      "only seven notes well a man can play" try writing an algorithm, anything, just to create a rhythmic sequence. start.

  • @blackboard_sx3488
    @blackboard_sx3488 3 роки тому +7

    Thanks for this! I'd love to see a hands-on example of the process, even if it's a pretty short video. Popping in a riff idea, letting it generate, seeing what poops out the other end -- maybe throw in some extreme parameter tweaks or musical ideas to show the differences of what generates. I know you're about to give it an overhaul, but it'd be fun to see where it's currently at.
    I'm only up to track 56 (ooh good one), but I've been slowly chewing on it as BGM while reading on the couch :) Big fan of the procedural game music idea -- but also for content creators/Twitch streamers/etc, it could potentially be something that helps with DRM takedown issues.
    While you're lobotomizing it...are you considering throwing the new generation into MIDI format instead of sample? Would at least make velocity humanization ridiculously more functional with instrument VSTs that could handle it, and allow for some post-generation swing quantization to kick it to the next level on feel.
    I'm so geeked out on this (gonna stop babbling now), and loving the results so far. It's incredibly listenable. Bravo, man!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +5

      Hey, never feel bad for "babbling", I definitely don't mind it! : D
      Yeah, I'm planning on making more videos on this topic in the near future, showcasing some stuff it can dop! (:
      I actually have some half-implemented functionality for exporting everything to MIDI, might flesh that out and make it completely functional, and plug it into some more high-end VST's to see the difference! Might be a good video idea right there! (:

    • @unclehillary
      @unclehillary 3 роки тому +2

      +1 would love to see this as well. This music is incredible, so interested to learn more!

  • @Zhamora8888
    @Zhamora8888 2 роки тому +1

    Holy. This is amazing, mate! I love the variations it has by randomizing sections of songs. As a fellow programmer, congratulations for creating such an awesome program, djentleman! Your program has been my go-to music during work!

  • @y3n952
    @y3n952 3 роки тому +1

    This is SOOOO cool!!! I've been messing around with some generative music on a software called Usine, a visual data flow environment for music. I first got it to be able to use VSTs for live applications but then found myself going down this crazy rabbit hole of generative music. Cool stuff Dennis. Much respect!

  • @chaotic_cheeto5654
    @chaotic_cheeto5654 3 роки тому +4

    This is absolutely profound. Thank you so much for the explanation!

  • @SequenceBreaker64
    @SequenceBreaker64 3 роки тому +4

    I'm subscribed now, gonna be following. I've been listening on and off to the second volume the past few days and have compiled some of the better tracks into a smaller album for my phone. I think for marketing this project some, uploading individual songs somewhere instead of a 10 hour block would help bring in views. It's much easier to share around and say "this song was procedurally generated" than to send someone all 10 hours with timestamps or the expectation they will listen to all of it. Maybe a small, album-sized, curated collection of the best ones from each iteration of this project you put out would help it gain more traction from a metal fanbase standpoint.

    • @SequenceBreaker64
      @SequenceBreaker64 3 роки тому +1

      obviously not including the 10 hours makes it seemingly less impressive from a technical aspect, I just know from already trying to show this to some friends of mine, people who are more interested in the music itself wanted something more tangible, and a few of them asked if I could send them a 'best of' (provided they also purchased it :) )

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +1

      Definitely see what you mean. There are additional songs on Spotify as well if you want to be able to reference specific songs! (:
      open.spotify.com/album/0d0mk08n5z8LEKn7GjZuc7?si=e2ba4f202dae4b75

  • @CH1EFBL1TZ
    @CH1EFBL1TZ 2 роки тому +1

    Bro this is insane, the potential....... Totally Game changing.... And loving the PS2 menu vibes of the background visuals

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +2

      Thanks a lot! You should check out the video I just posted as well, it's kind of a followup to this video.. : D

  • @eSSentialplaysYT
    @eSSentialplaysYT 3 роки тому +1

    Absolutely fascinating. I've had a similar idea to help me generate phrases and sections for Psy-Trance, so that I can trigger sample banks to build live tracks on the spot at an event. This reminds me a lot of Mick Gordon's Doom soundtracks, now referred to as Argent Metal. I've since dubbed this Ar-Djent Metal and I play the 10-hour video you posted as background music while I game. Brilliant work, thank you for sharing the process!

  • @adancein
    @adancein 3 роки тому +1

    This is a really cool project and reminds me that, if you know enough about how to build something (a song, a house, a poem), you can teach a computer how to do it. In the end, you can absolutely make music from building blocks. This is fascinating!

  • @planet60Co.
    @planet60Co. 8 місяців тому

    I had the exact same idea for a synthesizer, but with Unity and FMOD. This is brilliant. Thank you.

  • @Inverse3D
    @Inverse3D 3 роки тому

    Wow! Dennis, this is the most interesting music-related project I've seen nowadays! Thanks for explaining it briefly. I'm super interested to see more in-detail breakdown videos! Thanks for sharing this! Cheers

  • @evansmith6552
    @evansmith6552 3 роки тому +3

    Thanks for sharing - it's really interesting to see how this was put together!
    BTW, the product of his generator has become my go-to soundtrack for my workday.
    EDIT: +1 request for videos demoing specific section generators

  • @eladcn
    @eladcn 3 роки тому +7

    Thank you for this great explanation!
    I would love to understand how the section generators work (perhaps a dive in to the code of 1 or 2 section generators would be great).

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +4

      Glad you liked it! I'm definitely planning on making more videos like this, seeing all the great responses from all of you! : D

    • @ficoprieto
      @ficoprieto 3 роки тому

      ​@@DennisMartenssonOfficial +1 ! It would be awesome to see a few different section generators since you mentioned they're somewhat free-form. I'd love to see some examples from different extremes that demonstrate the variance/versatility that is possible within your system, perhaps outlining common shapes or categorizations.
      This is seriously next-level work man! I've dabbled a bit with procedural music but what you've accomplished is beyond what I had imagined or encountered elsewhere. Very inspiring!!

  • @Cazametroides
    @Cazametroides 2 роки тому +1

    As a fellow game developer and musician, man you're a genius!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +1

      Haha, wouldn't call myself that, but thanks for the compliment! I think I'm just stubborn x'D

  • @AlterationProduction
    @AlterationProduction 3 роки тому +2

    Yeah, j would love more videos about you explaining this. Honestly this has made me want to get into coding to implement the ideas this has given me.

  • @theylhompst
    @theylhompst 3 роки тому +1

    As a musician, and avid djent listener, I'm absolutely blown away by this project. I'm a little sad that you didn't discuss at the end of the video what implications procedural-note-variation has on this genre (my nomenclature may need correction). Honestly, aside from Vildjarta and Meshuggah, I'm finding it increasingly difficult to find things that are interesting and innovative in Djent and Prog metal generally.
    This project you've created changes that Mr Martensson, this is absolute peak Djent, Thall and all. Well done sir, thank you.

  • @threepe0
    @threepe0 2 роки тому +1

    Beyond excited for shared code, if you end up going that route. The concept seems like it'd help me overcome a monumental hurdle for me when it comes to song-writing. I'm pretty decent at coming up with riffs and motifs, put when it comes to keeping track of these ideas and putting them into songs, I fail miserably. If I could spend a year collecting riffs and ideas, then use something like this to spit out song ideas putting them together, it'd give me a fantastic place to work from there, while helping me learn in a structured way what works vs what doesn't work as far as song structure. Thank you for this, and for getting my gears going. Best of luck, happy New Year!

  • @u.v.s.5583
    @u.v.s.5583 3 роки тому

    You should get some kind of Nobel prize for this. That's how great your development is.

  • @chelidonframe
    @chelidonframe 3 роки тому

    A fascinating approach, I love how you planned and organized all the section generators and how a song ends up being a lot coherent, even with all those randomized parameters. Good job!

  • @RpgRiser1
    @RpgRiser1 3 роки тому

    This is absolutely fucking fantastic, and if plan on creating plugins based on the work you've done, I'm 100% buying them, you've shown how much effort and thinking you've put into this, and as a result how much creativity can result from this!

  • @threepe0
    @threepe0 2 роки тому +1

    One last comment on this (sorry, I’m excited about it:) I was wondering if you could talk a bit more about how you think of parts of songs. You mentioned level of intensity and blast beats and things, but seeing a bit more about your methods and thought process would be really interesting to me anyways

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +1

      No need to apologize! Essentially it's just stuff I come up with myself. So for each section, I just specify how it could fit into a song and how it can generate variations on it. (:

    • @threepe0
      @threepe0 2 роки тому

      @@DennisMartenssonOfficial awesome thanks! I’ve started by focusing on the djent stuff, and making “chunks” of riffs like [triplets], [two short mutes and a longer open note], [an open note and two short mutes], etc… then doing something like setting a bar goal and filling that goal with randomized chunks. Does that sound like a reasonable starting point for creating riffs or did you do something smarter? After reading and looking at a ton of examples, I haven’t found a good way to create djenty sort of riffs in a completely random way

  • @richardvastag
    @richardvastag 2 роки тому

    Man, this is huge. I immediately started thinking of what I would change. I think a great song has to have something which is a kinda easy listening, makes the listener remember to that theme. So I suggest to introduce 1 or 2 main themes per song which is returning in different variations, like a chorus from time to time. If we are thinking of composing a whole album of songs, that theme (or parts from that) could return in different songs also with variations.

  • @gurukimci
    @gurukimci 3 роки тому +1

    So cool man.
    I'd love more indepth videos!

  • @into_the_void
    @into_the_void 2 роки тому +1

    This takes insane dedication

  • @ubiquityxx
    @ubiquityxx 2 роки тому +1

    Very smart. Keep the fire going. Congrats on your achievement.

  • @themonnamanshow
    @themonnamanshow 2 роки тому +1

    Aww yeah thanks for a behind the scenes!! Keep kicking ass!!!

  • @korayem
    @korayem 3 роки тому +2

    This is amazing! Would love to watch more videos about this 🤟

  • @LucianoRobino
    @LucianoRobino 2 роки тому +1

    Let me get this, and correct me if I'm wrong.
    1) Pick "traits" of a song:
    things like BPM, Ambience Effects, length, etc.
    "existence of a intro/outro" treat as a trait
    2) Use these traits as input for section decision
    section generator might produce noise
    each generator decides if it can do the job
    3) Pick generators based on previous decisions
    competent generators are picked randomly
    weighted randomness is a type of randomness
    4) Song is pieced together
    If I got it correctly this is in essence a Random Forest.
    1) Inputs are given (traits)
    2) Each input is passed to a decision tree (section generators)
    3) Using all decision tree output, weight the result to get an output
    4) Generate the final output
    Random Forest is a type of Machine Learning. However here you are not "learning" anything but creating each tree from scratch.

  • @edwardslayd7816
    @edwardslayd7816 Рік тому

    Amazing stuff brother! Keen to see if you have continued with this! I am a coder as well and have been developing similar riff generators and song part generators that then give influence into our band's music! Its real interesting to see it from another coders perspective and a little insight into your brain! Keen to hear more about it!

  • @redwind3475
    @redwind3475 3 роки тому +2

    Thank you for this video! This is so incredibly amazing!

  • @astralmemories
    @astralmemories 2 роки тому

    This is sick!! I'm very interested in knowing more about how you coded this! Keep the great work!

  • @KiddieOSCommunity
    @KiddieOSCommunity Рік тому

    I love it man!! Your songs is very awesome! Recently, i´m creating a sound driver to my own operating system, some day i will run your procedural music on my OS.

  • @pantherman7619
    @pantherman7619 2 роки тому

    Man I'm so impressed with this, your an unbelievable talent. The results you have produced are top level Djent.... 🤘👊

  • @AnthonyXwearsXgucci
    @AnthonyXwearsXgucci 3 роки тому

    I did something like this back in college that was much less polished and pleasing to listen to. Basically used FFT to create noise, then would code a melody/progression by hand to create something resembling music. Took me a long time and end result was pretty jank, so watching this was nostalgic and super refreshing. Cant wait to hear some more procedurally generated music my dude

  • @strangecorgi2903
    @strangecorgi2903 3 роки тому

    This is so inspiring. I've only ever coded in Scratch and Unity, but I would love to learn Unreal, and I love your work on this project! You're an inspiration!

  • @copylyndon
    @copylyndon 3 роки тому +8

    This is brilliant

  • @giantisopod
    @giantisopod 2 роки тому +1

    Very cool! I would love to hear more about individual generators. Also, I think it would be really cool if you could make a UA-cam live stream that just continuously streams procedurally generated songs.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому

      A bit of a late reply, but I have both uploaded more videos going into more detail AND have a 24/7 stream up now, check it out!

  • @Povilaz
    @Povilaz 3 роки тому

    After seeing the procedurally generated Djent video, this has peaked my curiosity.

  • @stquickify
    @stquickify 2 роки тому +1

    Well done! Your approach is really interesting! Thanks for sharing your work and ideas!

  • @Convisis
    @Convisis 2 роки тому

    This is fucking insane. I listened to the live stream for like half and hour last night and the computer wrote some of the hardest riffs and coolest sections I've heard lol.

  • @pjc825
    @pjc825 2 роки тому

    Nik Nocturnal led me here, amazing work 😁👍

  • @Hiyori___
    @Hiyori___ 2 роки тому +2

    Holy f**k. Please make a longer video in which you show more pieces of code. This is fascinating as hell for a wannabe-developer.

  • @maxalaintwo3578
    @maxalaintwo3578 3 роки тому +3

    Very cool dude. You're galaxy brain!

  • @MaDragon7
    @MaDragon7 2 роки тому

    Computer engineer + Musician = Mutation. Sorry I meant Musication.
    What the hell dude, this is incredibly amazing. I love the Djent music.

  • @keyowah1
    @keyowah1 3 роки тому

    dude that's so nice
    I can't wait for your new implementations!

  • @PinakKashyap42
    @PinakKashyap42 3 роки тому

    Absolutely loved what you did. More power to you friend!

  • @nikutory
    @nikutory 2 роки тому

    this is fu*kin genius. Hats off for cracking this down. only heard Meshuggah songs can be solved using mathematics and can be programmed. Now I think I know what that means. Insane!

  • @TheScottFury
    @TheScottFury Рік тому

    This is INSANE! I actually really like the music it's creating. Crazy stuff for sure! What's more insane is where we will be as humans in 10-20 years from now with all this AI and tech. Blows my mind.

  • @drrodopszin
    @drrodopszin 2 роки тому

    Jokes aside what I truly find amazing how top-to-bottom is your thinking. Layers follow logically each other. The problem is decomposed to smaller, meaningful parts. The abstractions are spot-on, like "intensity". Sounds simple and _obvious_, but most developers would start from the solution and name it afterwards. It is indeed quite rare to have this clear abstractions in the software industry. (I am a fellow developer and metal producer.)

  • @EliGood
    @EliGood 3 роки тому +1

    This is very impressive. I’d love to learn more as I have a similar approach to songwriting since I’m not a guitarist, albeit my methods are way more manual. This is a fantastic songwriting tool, as well as just a fun, pure, art machine.

  • @edusszfx
    @edusszfx 2 роки тому +1

    Very interesting! And sounds awesome!

  • @tavomb
    @tavomb 3 роки тому

    Thanks for taking the time to make this video even for us simple mortals who don't know how to code

  • @TriInfinity
    @TriInfinity 3 роки тому

    I am progging a song structure generator for giving myself boundaries when coming up with ideas, reminds me a lot of this project.

  • @postsolarpunk
    @postsolarpunk 3 роки тому +1

    Would love to see a video of how you make your different segment generators! A "top ten segment generator algorithms for generating different melody / rhythm patterns" video would be super. Are you familiar with live coding music?

  • @dismorphic
    @dismorphic 3 роки тому

    Can't wait to see more in-depth and follow along as this evolves. As someone in the tech field and a metalhead this hits the spot on both sides. I hope you're able to monetize the engine, sometimes a labor of love can pay out.
    Imagine what you could do with a CI/CD pipeline hooked to some home automation project. New/random alarm clock song every morning. Alexa skill? "Hey Alexa, ask Djenterator to play me something new"
    Instead of Napalm Death playing when Bitcoin mining becomes unprofitable, drop some Djenterated stabs.
    Replace your doorbell with Djenterated tunes.
    Scrape Purpleair air quality sensor data (there's an API and json output) and map air quality to intensity so you can "hear" the air quality around you...
    So many ideas.
    Cheers.

  • @Align_SD
    @Align_SD 2 роки тому +2

    I want a more in depth video on how to code something like this!!!!

  • @phunkjive662
    @phunkjive662 2 роки тому

    This is the coolest thing I’ve seen since Pat Metheny’s Orchestrion. If these two concepts were combined this music could be played live.

  • @marks7192
    @marks7192 2 роки тому

    Dennis thanks for the info. something lined up really well in songs 10863 and 10864. There was melody and major cords being riffed around. sort of happy djent tunes. like the clouds alligned. im sure it happens more than just those 2 tunes cause i only listen a bit at a time. but it was refreshing.

  • @KrisBarton432
    @KrisBarton432 3 роки тому

    Wow, Absolutely amazing!!!! There is nothing I can say that has not already been said. Genius work \m/

  • @PapaVikingCodes
    @PapaVikingCodes 3 роки тому

    Love this. Also software engineer. Inspiring quality!

  • @PieceOfDuke
    @PieceOfDuke 2 роки тому +1

    Sounds pretty good.
    Amazing project!

  • @HerrGoode
    @HerrGoode 3 роки тому +1

    Inspired af, love it!

  • @Valet2
    @Valet2 Рік тому

    Now I want 10 hours of procedurally generated fusion and funk :D

  • @cyrusf
    @cyrusf 3 роки тому +2

    Hi! Thanks so much for sharing some insight into your process. This project is super exciting! Do you have any plans to implement more articulations in future versions? Just like with commercial sample libraries, I know each additional articulation increases the number of samples and overall size significantly, but it'd be a great way to introduce more realism and variety. Looking forward to future videos!

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +1

      Have been on my to do list forever, haha. It was just such a time-consuming process last time I did it, I've been kinda putting it off. x) But yeah, some harmonics for example would be sweet!

    • @cyrusf
      @cyrusf 3 роки тому

      @@DennisMartenssonOfficial Totally understandable. It's hard for me to wrap my head around the time it'd take to multisample an instrument like that. 😅

  • @capoman1
    @capoman1 6 місяців тому

    You have to respect the effort and the product. It's not even ai or machine learning, this is one man's programming efforts. IF YOU THINK this replaces human jobs, then you don't respect the effort.

  • @praveen25
    @praveen25 3 роки тому

    Wow this is amazing, thanks for making this explainer video

  • @kernelxsanders
    @kernelxsanders 3 роки тому +1

    I'm not familiar with coding and stuff like this, but it is very cool to see some insight into the creation! I would still love to see a VSTi of the sampled guitar that we can apply to midi tracks for demoing out songs, I think it sounds much better than Odin.

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  3 роки тому +4

      Glad you like it! Actually working on a VST for the guitar samples I recorded. Just needs a cople of more features and polish before it's ready to release! (:

  • @copylyndon
    @copylyndon 3 роки тому +8

    Djenterator class... hehe

  • @j03T3XAz
    @j03T3XAz 2 роки тому +2

    Machines As Leaders

  • @VMac3
    @VMac3 3 роки тому +1

    YASSS SO HYPED FOR THIS!

  • @kakao6125
    @kakao6125 3 роки тому

    nice this is what we have been waiting for thank u so very much for making a video explaining it. This might be one of the most innovative stuffs ive discovered and see in a while. Maybe this will be a new kind of writing music but ye it is great listening those to break the writer's block and get people to be inspired to write riffs. Really awesome stuffs man. Im subbed

  • @MathiasHellquist
    @MathiasHellquist 2 роки тому +1

    This is utterly mindblowing. Amazing. I'm stunned (and THAT doesn't happen often). Well done!
    EDIT: A question: So right now it outputs the audio, right? Can it output the midi of the files too?

    • @DennisMartenssonOfficial
      @DennisMartenssonOfficial  2 роки тому +1

      Glad you like it!
      Currently it has functionality for exporting MIDI tracks as well as all of the multitracks for each song. (:

  • @ToyKeeper
    @ToyKeeper 3 роки тому

    If I can ever get around to actually doing it, I've been wanting to make a song generator too. I got as far as writing a midi dynamic remapper daemon, which is handy for improvising and composing without having to worry about the song's key or scale since it'll automatically fit the song... but there's a lot more to do before it can actually generate songs on its own.
    I'll probably just make it drive hardware over midi though, instead of trying to implement a sound engine. Like, hook it up to a Digitakt and Blofeld, for example, and configure a few settings, and it'd spit out an entire song. But I'll need to do a ton of work before that, and most of the work is like what you described -- making a nice variety of section generators, and a sensible code structure to organize them.
    Not planning to do Djent though. Will probably be mostly video-gamey synth music similar to what I have on my channel, because ... well, that's what I know how to write.
    As for keys and scales, I was planning to generate internally using abstract in-scale notes like "1" through "8", and remap those on the fly to various keys and scales... so the user could, like, scroll through scales during playback to pick something suitable, or transpose it on the fly while using it as accompaniment, or ... whatever. The details are still pretty fuzzy since I haven't built it yet.