Max MSP Tutorial: How to create a Generative Drum Machine

Поделиться
HTML-код
  • Опубликовано: 23 авг 2024

Комментарии • 33

  • @rayderrich
    @rayderrich Год назад +14

    I have been a software developer for decades and now quit and got into music again. It will be so much fun to incorporate my old career into my hobby. Thanks for the video.

  • @CodyDeMatteis
    @CodyDeMatteis Год назад +1

    i've just been getting into your tutorials and your teaching style is amazingly clear and concise. there have been a few gen concepts you've explained that have never stuck with me before, but i totally understand. thank you!

  • @gaialivingston5683
    @gaialivingston5683 25 дней назад

    thank you very much! easy and great!

  • @gjb7966
    @gjb7966 Год назад +1

    dude, you are such a good teacher. damn!

  • @massiveBallsX
    @massiveBallsX Год назад +2

    Brilliant. I’ve learned some handy new objects. Thanks!

  • @disxiple_113
    @disxiple_113 Год назад +1

    thanks so much for this! i've been looking for a simple drum machine patch for learning from. would be cool to see this same patch with evolving drum sounds, gonna go look now to see if you made a patch like that...if not, its a request! 🦄

  • @poncemnz
    @poncemnz Год назад

    Muchas gracias! Justo comienzo a aprender a usar MAX .

  • @ale_alejandrov
    @ale_alejandrov Год назад

    These are so helpful and cool. Thank you thank you thank you

  • @dorgondius975
    @dorgondius975 3 месяца назад

    I’m extremely new to max but no matter what I try I get constant white noise over the drum sounds. I’ve recreated your exact same setup multiple times and I haven’t been able to fix it

  • @vadimronin909
    @vadimronin909 11 месяцев назад

    Hello, Andrew!
    Thank you for the video and for explaining the interesting material.
    I have a question - please tell me in more detail why there are two columns in matrixctrl and how exactly they affect randomization and probability? Why do we put table range 10 and not 8? because we have a sequencer of 8 steps

    • @AndrewRobinson26
      @AndrewRobinson26  10 месяцев назад +1

      Hello! The object you're referring to in your question is actually the itable object, not the matrixctrl. In this example I am using the itable to created a random value that is determined based on weighted probability. I chose a range of 10 somewhat arbitrarily, the values could be anything but my thinking was making something that would work as a percentage value (a value of 1 = 10%, 2 = 20%, etc.) there are only 2 columns because i only want a return value of 0 or 1 so that it decides if a spot in the matrixctrl is on or off. If you'd like to know more about the itable and how I am using it here I have another tutorial video on my channel already going over this specific object and use case!

    • @vadimronin909
      @vadimronin909 10 месяцев назад

      ​@@AndrewRobinson26 thnax a lot! i will find this video and explore itable :)

  • @SuperBluep10
    @SuperBluep10 Год назад +1

    I found this tutorial before charlie

  • @justynajajko1882
    @justynajajko1882 6 месяцев назад

    you're amazing!!!

  • @TRaddcliff
    @TRaddcliff Год назад

    Is there a way to take a function object envelope and convert that to data and send that out to a midiout CC value?
    I’d like to trigger the envelope to briefly affect a given CC value.
    Thanks

  • @ayankoko
    @ayankoko Год назад

    hi andrew it is really nice tutorial thank you ! instead of having a metro i would like to send the patch to the global transport with bpm how can i do? thanks !

  • @doomblu_
    @doomblu_ Год назад +2

    Hey Andrew, excellent vid! I have a question though.
    In the first part of the setup with the kick, my cycle is constantly outputting at 100hz despite it being patched exactly as you have it here. Any idea on how I can just have the kick and not the constant hum?
    edit: it also constantly outputs the noise as well

    • @AndrewRobinson26
      @AndrewRobinson26  Год назад +1

      This may be happening because of how you have the function object setup. If the last dot is not placed at the bottom the volume will be left at wherever you did draw it too. Make sure the function objects last dot is placed at the bottom of the function ui. Also make sure the *~ is written as [*~ 0.] that’ll also make sure the volume is off by default.

    • @lalolanda2239
      @lalolanda2239 Год назад

      @@AndrewRobinson26 thank you!! yes, it was due to the function object not being at the very bottom

  • @hxray11111
    @hxray11111 Год назад

    thanx! great!

  • @tomwatson7626
    @tomwatson7626 Год назад

    Amazing tutorial, thanks! Just to clarify, at 09:49 you say that the first int you create in the pack object is to define the row, but did you mean column?

    • @AndrewRobinson26
      @AndrewRobinson26  Год назад

      I am sort of talking about both. I do mean the Y-axis which is where we have labeled the kick snare and hat going across left to right, however we are stepping through the columns to get the on/off for the note.

  • @mrwilliamz311
    @mrwilliamz311 Год назад

    Nice tutorial bro, but having replicated it, the matrixctrl is outputting a signal all at once as opposed to stepping in sequence and so it makes no difference whether any of the boxes are highlighted; it’s not working as your example does and I cannot work out why that is.
    Any suggestions??

    • @AndrewRobinson26
      @AndrewRobinson26  Год назад

      Matrixctrl will output everything all at once if you send a bang directly to it. That might be the cause of your issue. You want to make sure to send it only the getcolumn message.

    • @mrwilliamz311
      @mrwilliamz311 Год назад

      @@AndrewRobinson26 Thanks, and yes, I’ve done exactly that - [getcolumn $1].
      I‘d initially also added a [clear $1] to reset the matrix which I’ve removed in order to check that it wasn’t interfering (which it shouldn’t anyway).
      I’m completely baffled as I’ve tested the matrixctrl in another patch with 3 x 3 grids and 3 cycle~ oscillators sending out signals of different pitches - 100, 200, and 300hz that was then plugged in a [matrix~]. That appears to work okay although I didn’t attach a metronome to that one.
      Scratching head..!

  • @Kowalski996
    @Kowalski996 Год назад

    Is it possible to assign different metronomes to each row?

    • @AndrewRobinson26
      @AndrewRobinson26  Год назад

      Yes although you would probably need to have a much more complicated recall method than the getcolumn message. If you want it on different metronomes I think the easiest solution would be to also use 3 different matrix controls as well

  • @Cloud2KK
    @Cloud2KK 11 месяцев назад

    your videos are so goddamn good

  • @WARDISWARD
    @WARDISWARD Год назад

    Congratulations , you know made a sequencer that is driven by Max's shitty scheduler, for anything except TIGHT timing and accuracy .
    LOL

  • @sonnyobrien
    @sonnyobrien Год назад

    getcolumn $1 not working

    • @AndrewRobinson26
      @AndrewRobinson26  Год назад

      Make sure you are pulling the list from the right outlet not the left one. The right outlet is what gives you the list message by column or row from the respective get messages

    • @rastgelegaliba
      @rastgelegaliba Год назад

      @@AndrewRobinson26 i am also getting the same error, getcolumn $1 is not working, connection cannot be established, so messages do not show a value on inlet and outlet.