Это видео недоступно.
Сожалеем об этом.

Max/MSP Tutorial: how to make a generative drum machine

Поделиться
HTML-код
  • Опубликовано: 12 май 2020
  • What I do with Max Msp: / ddavid_ddavid
    This is walk-through of how to recreate the generative drum section of a patch shared in an excellent recent video by Artiom Constantinov. The version here is adapted to trigger sample files using the groove object, and adds a few additional ways of randomising the sound. Here's his video; • live code your track l...

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

  • @davidcooper8241
    @davidcooper8241  4 года назад +7

    If you recreate this patch, note that I had the groove objects connected incorrectly through most of this video - which was causing some unintended clicking. Because the groove objects I used were only 1 channel, I shouldn't have connected the second outlet, which was the sync output.

    • @victormartinpardo2752
      @victormartinpardo2752 4 года назад +1

      Hi David, excelent patch.
      But in 7.17 min, what happened ?, bang , obj random,/100, sig~1., number 0 , trigger b b and sel1, how do all this one element p?

    • @davidcooper8241
      @davidcooper8241  4 года назад +1

      @@victormartinpardo2752 hi Victor! i think this is where I 'encapsulate' a bunch of objects in order to tidy them into a subpatcher. docs.cycling74.com/max7/vignettes/encapsulate_deencapsulate

    • @victormartinpardo2752
      @victormartinpardo2752 4 года назад

      Hi @@davidcooper8241 ¡¡ Thanks ¡¡
      I have more question: the sound of buffer~ In which folder were they stored? inside max folder installation?

    • @davidcooper8241
      @davidcooper8241  4 года назад

      @@victormartinpardo2752 for this patch i just copied the sample files into the same folder the patch was saved in. but you can also add a folder to your 'search path', and then you can do the same thing and type just the name of the file, and not the whole file path. docs.cycling74.com/max8/vignettes/search_path

    • @yernar887
      @yernar887 4 года назад

      @@davidcooper8241 hi, is it possible to get the patch file please. Thank you for the videoooo!!!

  • @6amsunset_
    @6amsunset_ 3 года назад +49

    this is my first day with max and this is my first tutorial and oh boy

  • @danvaguer
    @danvaguer 9 месяцев назад +2

    great tutorial - would love to see a video showing off what you did in the part at the end that was sped up. I'm looking to create some self generating ambient stuff and that last part sounds like the sort of thing i'd like to do.

  • @Echoes1967
    @Echoes1967 4 года назад +4

    Fire dude,very Autechre/Aphex-ish, exactly the type of good stuff to get started with Max. Many thanks to you and Artiom !

    • @WARDISWARD
      @WARDISWARD 4 года назад

      Sure , but this would take me literally about 20 seconds to achieve in renoise

    • @sonnizen1426
      @sonnizen1426 4 года назад

      @@WARDISWARD Would love to see a video of you doing that

    • @WARDISWARD
      @WARDISWARD 4 года назад +1

      @@sonnizen1426
      I guess you don't really know how a tracker works , and it's effect command lanes
      Just for starters , slice command which offsetst the sample and the ym command for probability ,, throw in 0cxy for for volume cuts and some 0dxy , 0uxy for pitch up down etcc , and I haven't even talked about the phrase sequencer in renoise .
      The groove~object is great , sure automating the loopints with line etc.. but renoise is great too and tjhe showcased example is really that hard to do in renoise

    • @davidcooper8241
      @davidcooper8241  3 года назад

      haha , i guess lots of the things you can do in max can be done more efficiently in other more specialised programs :)

    • @WARDISWARD
      @WARDISWARD 3 года назад

      @@davidcooper8241
      I am totally into supercollider right now
      Sure the syntax is pretty hard( Imean verry hard for a non coder ) but the included u-gens sound amazing . from the filters to he extrem to the phase mod osc's etc..
      Absolutely stunning sounding , and I have been coding in reaktor core for over a decade
      Supercollider is easy on par with the best sounding stuff out there
      THere is nothing even remotely to be found in max msp unless you start to code in gen~`
      This is some simple code for kick drum I made in supercollider
      (
      {//variables//
      var sweep,ampenv,stfreq,amount,ampatt,ampdec,ampdeccurve,sweepdeccurve,sweepatt,sweepdec,overdrive;
      ampdeccurve= -9;//amp envelope decay curve
      sweepdeccurve= -20;//pitch envelope decay curve
      ampatt=0.000;//amp envelope attack time
      ampdec= 1.50;//amp envelope decay time
      sweepatt=0.0;//pitch envelope attack time
      sweepdec= 0.550;//pitch envelope decay time
      amount=300;//pitch envelope Amount
      stfreq= 50;//initial sart frequency
      overdrive=14;//amount into tanh
      ampenv=EnvGen.ar(Env.perc(ampatt,ampdec,curve:ampdeccurve),doneAction:2);
      sweep=EnvGen.ar(Env.perc(sweepatt,sweepdec,curve:sweepdeccurve),doneAction:0)*amount;
      (SinOsc.ar(stfreq+sweep)!2*ampenv*overdrive).tanh*0.5
      }.play
      )

  • @AidaKhorsandi
    @AidaKhorsandi 2 года назад +12

    Hi David, thanks for this tutorial! Loads of possibilities with this generative drum machine! What are the filter presets (eqs)? That section of the videos goes so fast, I didn't get where those came from (15:37). Thanks!

  • @ayankoko
    @ayankoko 2 года назад +1

    hi david , came across your few videos and it's really great stuff ! please do a video about the end of this one where you could explain more about the eqs, filters , and manipulation of waveforms with coll object , it's super cool done this in max ! best

  • @lodew
    @lodew 3 года назад +1

    Hey man, thanks for this tutorial. I was also interested in the loopers part, please consider to make a video about that!

  • @JB-ng7be
    @JB-ng7be 3 года назад +1

    really nice work, would be really nice to see a separate video on the melody part?

    • @davidcooper8241
      @davidcooper8241  3 года назад

      cheers, will try and put one together some time

  • @exactspace
    @exactspace 7 месяцев назад

    I could not get the buffer sounds to load until I realized I was missing spaces in the filenames compared to the ones used in the tutorial. Filenames that include spaces also need beginning and ending quotes.

  • @disheveledevents3411
    @disheveledevents3411 2 года назад

    Some real Autechre vibes on this patch.

  • @linfengji753
    @linfengji753 3 года назад +2

    could i ask that why my drum machine has no sound. I just follow your steps

  • @midinerd
    @midinerd 4 месяца назад

    13:00 "there's probably a way of doing this with the counter object itself" -> the +1 sel 50 constants are looking for the overflow bang, which is one of the outlets. you're wanting to bang on the overflow, it appears

  • @SuicidePotatos
    @SuicidePotatos 3 года назад +1

    Hey David,
    I'm at the 3:30 mark and i seem to get a signal from my live gain meter but there is nog audio coming from max for live itself (blue bar). Maybe a stupid question but i'm assuming we're building on a midi channel right? Tried it on an audio channel as well.

  • @hello.steve.newcomb
    @hello.steve.newcomb 2 года назад

    Can't wait to have a crack at this!

  • @3xAudio
    @3xAudio 4 года назад +1

    Thanks for sharing looks and sounds great

  • @laurinbaumann
    @laurinbaumann 4 месяца назад

    awesome! can you do a tutorial on thos granular synths?

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

    Great video ! Thanks ! Just have one question: at 13:26 when i connect the metro to the counter, i have a message that say counter: stack overflow. Is there a solution to that ? Sorry i'm new to Max...

  • @artemteregerenko8063
    @artemteregerenko8063 2 года назад

    Thank you for this tutorial! How can i get this biquad_degrade_biquad.maxpat and groove_looper_line_11.maxpat , that you used in bpatcher. I've recreated this patch, but on 15 minute everything become so fast, i can't understand.

  • @DM-gd8ik
    @DM-gd8ik 3 года назад +1

    sorry completetly new to max = how do you create the object at 2:05 that has a filled in forward arrow and the 0 ?

    • @davidcooper8241
      @davidcooper8241  3 года назад

      N for new object, type the greater than symbol

  • @henriquematias1986
    @henriquematias1986 2 года назад

    lovely turorial, thanks for that! super cool stuff with the bpatchers! is there a video where you explain how you did the "granular" bpatchers you added last? pretty cool stuff

  • @edmoor9366
    @edmoor9366 3 года назад +1

    Hey man, thanks for the video. My samples cannot be loaded separately, meaning when I load a new one to the second buffer, it automatically changes the first and rewrites it. Any thoughts?

  • @tomcostello7479
    @tomcostello7479 3 года назад +1

    Just a quick question from someone who is v much a beginner - when you were uploading your samples into the buffers, where did you save them as files to allow you to load the samples up when clicking on buffers? I have a drum sample saved into the Sample Collection, but it doesn't load just by typing the sample file name like it does with you... Thanks!

    • @davidcooper8241
      @davidcooper8241  3 года назад +2

      samples saved in same folder as the patch will be found automatically when referenced with just the filename - anything in the 'search path' will also show up - look at the 'file preferences' option in one of the menus and you can add locations that max will be able to find automatically.

    • @exactspace
      @exactspace 7 месяцев назад

      For me it was missing spaces in the filenames compared to the ones used in the tutorial. Filenames that include spaces also need beginning and ending quotes.

  • @jakaarh8957
    @jakaarh8957 3 года назад +3

    Great video! I have a question about the last part - when you introduce your b-patchers for playing samples, how did you avoid the annoying click in the groove object, when the loop restarts? Thanks a lot!

    • @davidcooper8241
      @davidcooper8241  3 года назад

      i think I had the groove objects set up to start with as 1 channel, instead of stereo... so the 2nd inlet, (when they were 1 channel) was not audio; it was the sync ramp (its a signal that just ramps up from 0 to 1 over the length of the loop)... so fixing it involved making the groove objects 2 channel, i.e. stereo... by putting the proper argument in. does that fix it for you?

    • @davidcooper8241
      @davidcooper8241  3 года назад

      oh no, hang on, i didn't make them stereo - just connected the 1-channel audio to left and right channels - compare the connections coming out of the groove objects at the start and end of the vid

    • @jakaarh8957
      @jakaarh8957 3 года назад

      Thanks for your reply! I am reading back my question and I obviously wasn’t clear enough, sorry for that.
      I was referring to the b-patchers - how come they don’t click when the loop changes? Especially when the starting point changes. Do you work with poly~ or some kind of window? Thanks!

    • @davidcooper8241
      @davidcooper8241  3 года назад

      @@jakaarh8957 ah see what you mean - there's a bunch of different ways to avoid clicks with groove without getting into poly~... there's an option in groove object itself to position loop points at the 'zero crossing', or you can use windows by exploiting the sync output (rightmost outlet of groove)... i go over a couple of these methods in one of the vids I made, can't remember which off the top of my head but will update if I remember!

    • @davidcooper8241
      @davidcooper8241  3 года назад

      ps, I think that with that bpatcher I was just using the zero crossing option, rather than properly windowing it. using a window gives you more control though - you can control the 'smoothness' or clickiness of the sound by adjusting the parameters of the window

  • @ayankoko
    @ayankoko 2 года назад

    was trying the same gate possibility for adjusting the speed of the samples but it didnt really work...
    could send you a pic

  • @MrBadeshi
    @MrBadeshi 4 года назад

    nice and clear explanation

  • @nightonmars
    @nightonmars 2 года назад

    You might want to use [expr random (0, 100] - [scale 0. 100. 0. 1.] as then it's easier to set the limits. Set the values as wanted.

  • @Spearced
    @Spearced 3 года назад

    Excellent. Instant subscribe.

  • @proteinburger5194
    @proteinburger5194 3 года назад +3

    whats teh shortcut to do this p order

    • @pinkphoenixvids
      @pinkphoenixvids 2 года назад

      highlight the ones you want to encapsulate, then click edit at the top and encapsulate

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

    Infotainment! Nicely done.
    (Clicks & Cuts II - Farben (...?))

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

      haven't come across that series before, it looks great, I'll have a listen :)

  • @TRaddcliff
    @TRaddcliff 2 года назад

    would it be possible to record your output [numerical output] from each track, loop that, and use a toggle record or lock the loop. that would be madness.
    your video is awesome. no messing about, straight to it!

  • @loidis9347
    @loidis9347 3 года назад +1

    Thanks for this

  • @sonnizen1426
    @sonnizen1426 4 года назад +1

    Hey David, great stuff. These are the type of sounds that draw me into Max. I just recently started so my way around the patches is not very fluent yet. If you have the time, I would love to know more about the way you made those drum samples work. I tried recreating the patch and I created buffers and wrote file names as the second argument but nothing happens. When I click on them, empty boxes appear. Thanks for any clarification!!

    • @sonnizen1426
      @sonnizen1426 4 года назад +1

      Aha, I put the samples in the folder where my patch is located and I think it is working. Cool, made me go past 3 minutes. :)

    • @sonnizen1426
      @sonnizen1426 4 года назад

      Alright. I made it and it was very useful. Learning a lot like this. I hope to see a video on those things you do towards the end. Are they your own patches?

    • @davidcooper8241
      @davidcooper8241  3 года назад +3

      great, glad you got things working! yeah those are my own patches, a few people have expressed interest so I'll try and put a video together explaining the devices at some point

    • @sonnizen1426
      @sonnizen1426 3 года назад

      @@davidcooper8241 Awesome, I'll keep my eyes peeled for that video.

  • @jakemegabyte896
    @jakemegabyte896 3 года назад

    Wow cool

  • @manuelbadano9403
    @manuelbadano9403 3 года назад

    QUEEE gracias nacho x el dato

  • @nightonmars
    @nightonmars 2 года назад

    Neat!!

  • @enricociacchi94
    @enricociacchi94 3 года назад

    Great work !!! i'm recreating the patch but i've some doubts: i connected to every "buffer- beat" a "replace" object to call back the file from my library. Is it a good idea? Thanks

    • @davidcooper8241
      @davidcooper8241  3 года назад

      hi, not totally sure I follow you here, but I think that sounds all good. in the video I include a filename for the sample in the buffer object itself just to avoid having to manually load samples each time... but you could use any system for getting samples into the buffers. 'replace' messages are a great option, would allow you to swap samples on the fly also

  • @manuelbadano9403
    @manuelbadano9403 3 года назад

  • @sofiatsiligianni7403
    @sofiatsiligianni7403 3 года назад

    Name a laptop for this programme

  • @bikotje
    @bikotje 3 года назад

    can you share the samples?

    • @davidcooper8241
      @davidcooper8241  3 года назад

      they're from a free set of drum samples - search 'SampleRadar: 1,000 free drum samples'

    • @davidcooper8241
      @davidcooper8241  3 года назад

      can't remember exactly which ones i used here - it was one of the full kits within that sample pack, maybe the acoustic ones

  • @treyGivens1
    @treyGivens1 3 года назад

    Why would you use this?

  • @KNGMO23
    @KNGMO23 3 года назад

    lmao bro can you slow it down