I wasn't very excited about Live 12 when it was announced, but now I am. The build-in clip generators are nice, but this is just the surface. This Max integration turns Live into a bridge between Max and VST, modular, everything. Not that Max couldn't connect before, it's just so much easier now, to write to clips and let them play in Live, with all the audio processing chains that the DAW provides. My head hurts when I think about the possibilities.
@p__meyer10 ай бұрын
"My head hurts when I think about the possibilities." Haha! love it. i was already excited about the midi tools, but when i actually started building them and using them, i got even more exciting. they make music-making so fun for somebody like me who is interested in rhythmic composition. i'll never sell my elektron boxes for sentimental reasons, but they're certainly collecting dust at the moment...
@dnksaus11 ай бұрын
Goat
@whentheleavesarefalling10 ай бұрын
Coming from programming side of things all the array stuff makes perfect sense for me.
@whentheleavesarefalling10 ай бұрын
And awesome walkthrough by the way :D
@GloveBunniesVideos9 ай бұрын
Seems like Ableton is going where Cycling '74 was, which is great for creativity. Great video!
@p__meyer9 ай бұрын
Thanks! Certainly, the combined company is doing some amazing things!
@jack_lion9 ай бұрын
Great video, thanks for breaking that down. Would love to see a part two with scale awareness features.
@p__meyer9 ай бұрын
noted! first there will be a part two on working with MTs in JS because as much as i love max patching i am NOT trying to do fit to scale with patching
@jack_lion9 ай бұрын
@@p__meyer That sounds like a solid strategy. By chance, I noticed that enabling the scale feature on the clip directly in Live seems to quantize the notes to the scale without additional patching.
@IsotonikStudios10 ай бұрын
Glad KZbin showed me this, great video, exciting times ahead….
@p__meyer10 ай бұрын
Indeed! So much potential
@SideBrain8 ай бұрын
Amazing! thank you so much for this!
@arturanowak10 ай бұрын
Philip, I love how the paint falling of the ceiling is matching your screen wallpaper, both in shape and color ;-) But seriously, thank you for the video, I was asking myself how is the array object different from existing ones, now I know, thank you. And the ability to retrieve and alter notes in a clip... this blows my mind, so powerfull!
@p__meyer10 ай бұрын
Haha i do too!! I love my crappy studio. Thanks for the kind words. Super powerful indeed. There's so much more to the arrays too - more to come!
@arturanowak10 ай бұрын
@@p__meyer The string objects are exciting too. First thing that comes to my mind is translation of various texts (e.g. poetry) into rhythms. I suppose this is a mnemonic used by many math rock bands (way earlier than math rock by Ruins, I think) to remember complex patterns. When I asked Tatsuya Yoshida after a concert how he memorizes all those crazy rhythms, he pointed at his head and said "big harddrive". Now I have one too. Also, I guess the string objects can be used to integrate Max with GPT. OMG, this will be the end of the world as we know it! ;-) M4L device that you chat with and which composes for you in Live, live.
@p__meyer10 ай бұрын
@@arturanowakwow that’s a really cool idea! definitely there’s a long history of language and rhythm, for example in indian classical music
@joshspoon10 ай бұрын
Dude, you are killing it!
@p__meyer10 ай бұрын
thanks bud!
@ElliotCole4 ай бұрын
thanks for this. working on my first one...
@p__meyer4 ай бұрын
awesome! if you’re not in the discord already, please join and show off that device!
@tomhallsonics10 ай бұрын
Great tutorial, Philip 🙌
@p__meyer10 ай бұрын
thanks Tom!!
@HensZimmerman22 күн бұрын
Thanks, this is super helpful.
@p__meyer21 күн бұрын
you're welcome!
@thisistrigger10 ай бұрын
Wow! I’m happy to see you 🎉
@DualPusherman9 ай бұрын
Great Tutorial
@CtrlZMusic10 ай бұрын
I like a few of them, but I suggested in the beta forum that it would be even more impressive if they could be mapped to MIDI for live performance Tried to understand why the second [array.push] was not working properly, (always getting me the same series) Btw thank you for your video !!
@p__meyer10 ай бұрын
that would be cool. i could also imagine there being a third class of devices like "midi clip modulators" that are mappable and can be addressed by modulation sources or controllers.
@CtrlZMusic10 ай бұрын
@@p__meyer at least I found a solution for custom transformation patch. Simply using OSC protocol and it's working fine. (Open Stage Control is great for that) A game changer would be to get access to those parameters with Push, (I suggest it in center code, please follow ahah) They add some cool features, hope they'll go deeper in implementation.
@onesuavestudio11 ай бұрын
Holy fucking shit , that is powerful. When is the pack of midi tools coming??
@p__meyer10 ай бұрын
haha yes! tbd, hopefully in the next few weeks.
@michaelhncronhoun22777 ай бұрын
Hi, I've tried adding a metro to bang the transformer but it seems that Live doesn't like that.. basically I wanted to try to automatically generate a new pattern variation for every count of a bar following Live's transport but as I activate the metro it all crashes down :(
@p__meyer6 ай бұрын
yeah, sadly scheduler stuff (metro, delay, qlim) doesn't really work i midi tools. very cool idea though
@EjnarKandingАй бұрын
Dear Philip, you are doing amazing stuff here, I just discovered your channel. I have a project where I want to add a random swing amount to selected notes in an Ableton Midi Clip. If I post my Max-patch trials to you, would you consider helping?
@p__meyer28 күн бұрын
happy to help, please join my discord server and post in the #patching-chat channel! bit.ly/rhizomic
@lazylazy8719 ай бұрын
i watched your currentsfm course on sequencing and you had this thing where when you transformed an abstraction into a bpatcher, it automatically made the bpatcher box the correct size. I always get the default square wich i have to drag to see the whole bpatcher ui. How did you do that? Is it some thispatcher scripting? what script is it?
@p__meyer9 ай бұрын
yeah scripting. usually i do it in js. basically inside js, you can get the patch that the parent js object is in with `this.patcher', and then you can get that patch as a max object with `.box` so, very roughly: var patcher = this.patcher; var patcherAsObj = patcher.box; //width and height (whatever you want them to be) const width = 200 const height = 50 function resize() { setRect(patcherAsObj, width, height); } function setRect(obj, w, h) { var rect = obj.rect; //get the current rectangle (x, y, x + w, y + h) obj.rect = [rect[0], rect[1], rect[0] + w, rect[1] + h]; }
@lazylazy8719 ай бұрын
@er Thank you very much! I have a problem though. There are many typeerrors. I'm not in any way familiar with js and how it works in max. I get "patcher is undefined, line 2", "redeclaration of const width, line 5", "redeclaration of const height, line 5". Other than that no errors. Am i supposed to put this inside the bpatcher? am i doing something wrong? Do i have to activate the function with a loadbang? What is needed to be done to make this script do the thing? Am i supposed to define the name of the abstraction somewhere. Just confused since i have no mastery with any of this :D.. I just put the script inside a js object and tried if it does the thing. does the js object have to have a specific name=
@p__meyer9 ай бұрын
Join the discord server for more help! discord.gg/sAVQ7yEs Talking about patching is hard in YT comments. Just join the server and post in #patching-chat and we can work together on this!
@lazylazy8719 ай бұрын
@@p__meyerthank you! I will do that🙏
@p__meyer8 ай бұрын
@@lazylazy871 usually i save the script as an external file and then load it using an argument (tbh i had no idea you could just create a js object and type code into the box!!). if inside the js file you set `autowatch = 1`, then the js object will watch the external file for changes and load them automatically (unless you use require, in which case you'll need to force a manual scan by sending a `compile` message to js for the 'redeclaration of const` errors - such an annoying thing that Max does for reasons I don't really get. for this reason i just always use `var`. not a satisfying answer, i know.... patcher is undefined, i'd have to look at the code to know what's going on there, but you should be able to put something like `var patcher = this.patcher' in the global scope
@thomaskoner128710 ай бұрын
thanks
@dazzid7 ай бұрын
I think you forgot to tell zl group the size connecting the integer from 't i i'
@p__meyer6 ай бұрын
i prefer to use zl.group without the list size. a bang will output the contents and clear them. so you can just fill up the zl.group, then bang it. the second outlet of uzi is quite useful for this