Looking to create a piece of minimalism in the style of Steve Reich in Max 8 with loops that can be triggered with jitter

acemachine26's icon

So I'm very new to Max 8. I have created this minimalistic piece on Logic which consists of around 35 loops ranging from one second to around a minute. I'm having a hard time wrapping my head around how to play this piece of music in Max 8. This might be very silly but how do you bang a particular loop to play at a certain bar in a non-linear platform like Max? Do I just use delay or timepoint?

I've attached a pic to better explain my issue. So on a linear piece of software like Logic Pro, the first loop (1Vibraphone.wav) begins as soon as you press play while loop 2 (2Vibraphone.wav) plays 7 seconds in or at bar 5 beat 2 tick 17. How do I recreate that on Max? I have a three minute piece that I want to play on Max simply by clicking on Toggle. Hope my explanation is clear.

My end goal is to be able to be the conductor of this piece by triggering each loop one by one depending on where my hand is on the screen. I also have multiple variations foe each instrument loop so I would also like the ability to switch variation 1 of the strings loop off and play variation 2 for instance using my webcam. What I would like to do is trigger each loop with motion on different sections of my screen. For instance any motion on the top left of my screen would trigger strings, bottom right would trigger woodwinds etc. I have no clue how to go about doing that. Would there happen to be of any Max patches that attempted something like that? Are my ambitions too lofty or is that possible on Max 8?

Nate S's icon

Hi Acemachine! Not on a computer with Max right now, but your ambitions are definitely possible! I'm not familiar with the transport object; I'd just use a metro and counter (increasing by one each second). Beneath the counter, I'd have a sel for the desired trigger point: eg, [sel 7] for 2vibraphone.

As far as the movement component, you might find something in the videos in the replies to this thread: https://cycling74.com/forums/max-msp-or-processing.

Good luck!

acemachine26's icon

Hi Nate, thanks for the link to the motion tracking videos. Pretty close to the stuff that I want to do. Wish there were some patches so that I knew how to go about making one myself but I'll look into it.

Thanks again!

Roman Thilenius's icon

Do I just use delay or timepoint?

i think yes - but there are various ways how to do this, and one of them is probably that you first implement a "loop" system like the one found in live, i.e. you can know which bar you are if you have a main clock somewhere and then count beats.

acemachine26's icon

Thanks Roman, I'm currently using the Global Transport which controls the main clock. So I specify the particular bar, beat and tick in timepoint to bang and it seems to work fine. The only issue is that when I turn the toggle off, the Global Transport doesn't reset to beginning and just pauses at the bar I stopped at. I have to manually rewind the clock in Transport back to zero for all the bangs to work again. Hope to find a solution for that.

Roman Thilenius's icon

i dont know much of transport and the post max 6 time stuff. but it might be easier sometimes to build such things from the ground up with half a dozen more "basic" objects, then you have access to exactly those parameters you need.

double_UG's icon

Max Patch
Copy patch and select New From Clipboard in Max.

acemachine26's icon

Thanks a lot Double_UG, exactly what I was looking for! I feel so silly now knowing that the solution was so easy.
The only thing now is that the toggle button above "sfplay~ @audiofile 2Vibraphone.wav @loop 1" remains on when I turn the toggle at the top off. Any way to turn that off too when the main toggle at the top turns off?

Also I've yet to find any patches that show how to achieve triggering bangs through motion capture where the screen can be divided into multiple sections and any movement through my webcam in each section triggers a different instrument.

double_UG's icon

routepass 0

Max Patch
Copy patch and select New From Clipboard in Max.

acemachine26's icon

Thanks again, you've been a lifesaver. This was just what I wanted. The audio part of my project works great now, just need to figure out jitter next.

Martin Beck's icon

Regarding motion tracking the cv.jit - package by Jean-Marc Pelletier might be worth looking at.

acemachine26's icon

Thanks a lot Martin, I'll have a look at that.

acemachine26's icon

So this is what my patch currently looks like. I wanted to add LEDs to every audio file so that every time an audio track loops, the LED will blink. This doesn't seem to work when using sfplay~ @audiofile @loop1 since only the initial bang registers and the remaining loops don't get a bang. Hence the LED only blinks when the audio first starts playing and then remains off. Any suggestions to get the LED to blink every time the audio loops?