is there a list of good M4L development resources?
-
- Posts: 196
- Joined: Thu Feb 18, 2021 2:06 am
is there a list of good M4L development resources?
I saw a post in here that mentioned a sticky with resources—did that list/post get taken down or moved?
just bought Suite and interested in seeing what I can do in Max, but not sure where to find the best information. I’ve come across some excellent stuff on youtube, but it would be cool if someone could point me in the direction of a centralized listing of widely-used resources.
just bought Suite and interested in seeing what I can do in Max, but not sure where to find the best information. I’ve come across some excellent stuff on youtube, but it would be cool if someone could point me in the direction of a centralized listing of widely-used resources.
Re: is there a list of good M4L development resources?
Hmm, there used to be a sticky but it's not there anymore...
I need to investigate this.
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis before going into M4L. They're all very good, fun, and use patches as examples so it's quite "interactive". IMO that's the best 1st ressource to use when starting with the soft.
Do all the Max one's and you should be able to start working with M4L.
Good luck
I need to investigate this.
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis before going into M4L. They're all very good, fun, and use patches as examples so it's quite "interactive". IMO that's the best 1st ressource to use when starting with the soft.
Do all the Max one's and you should be able to start working with M4L.
Good luck
Ableton Forum Moderator
-
- Posts: 196
- Joined: Thu Feb 18, 2021 2:06 am
Re: is there a list of good M4L development resources?
ha, thanks, it's definitely going to be an uphill slog. I do have a bit of a technical background, but it's in software configuration, not programming. that's a good tip to check out Max first--I wouldn't have thought that, so glad to hear that suggestion before I get too far along. I'll definitely be checking out the tutorials section. thanks![jur] wrote: ↑Mon Mar 29, 2021 5:33 pmHmm, there used to be a sticky but it's not there anymore...
I need to investigate this.
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis before going into M4L. They're all very good, fun, and use patches as examples so it's quite "interactive". IMO that's the best 1st ressource to use when starting with the soft.
Do all the Max one's and you should be able to start working with M4L.
Good luck
Re: is there a list of good M4L development resources?
While this is true I found the Max tutorials to be exceptionally dry and "low-level" to keep my interest.
Of course, they are vital to understand the basis of the IDE, but
CONTENTIOUS OPINION: THE MAX TUTORIALS PUT OFF MOST LIVE USERS
I feel they are entirely wrong for the majority of users. I feel that for a certain subset of Max Users the tone is exactly right, so they cannot see the problems of the tutorial. The old "left brain / right brain" model. Sometimes we want to make music , not make code. Some users cannot code, it's just not in them - they don't desire it, it's not innate.
If you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".
If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.
ANALOGY TIME
Lets imagine a Person, a hypothetical human "wants to make a video game".
We could assume that this person has an interest in information technology, has a good grasp of mathematics and an innate understanding of algebra, and perhaps a passion for learning programming languages.
If we, ourselves, make video games then that would be our background and aptitude, and we might assume that about anyone approaching the topic. We assume we are similar.
Based on that supposition we start to talk about definitions of objects, inheritances, variable typing, etc. That's lesson 1,2,3 ...
But what if we supposed wrong. What if the user was not really that type of person? Not a person who takes Python classes on the weekend for fun. What if the person actually is an art-kid, a bit dyslexic, and their uninformed idealistic hope that they could "make a game" might be ill suited to coding and more suited to a hands-on, more Lego-like "game builder" app?
Our crucial mistake was in pre-supposing.
The correct answer for this person might not be about variable typing, it might be better to say to them : "Have you tried Game Salad, or Build Box?"
ANALOGY ENDS
Lets assume that 70% of people using Live are not taking Python classes for fun, have never been curious about encapsulation or instantiation. lets imagine that 70% of Live users want to make "a dope kick drum synth" or "Like, some kind of like massive drop"
Lets see what the first lessons our friend is presented with.
- Hello — Creating objects and connections
- Bang! — The bang message
- Numbers and Lists — Types of data in Max
- Metro and Toggle — Creating automatic actions
- Message Ordering — Debugging program flow
- Simple Math — Performing calculations
- Numerical User Interfaces — Sliders and dials
Mouse Drawing — Introduction to drawing
Random Drawing — Working with random numbers
Procedural Drawing — Creating procedural code
Movie Playback — Introduction to video playback
Now, if you are a fan of programming, and you have a certain way of analytical thinking then this is all very engaging and captivating. You cannot see the problem here if this is the logical route to "programming a video game" and one which came naturally to your own passions.
But to many users they are being asked to learn about debugging and "using standard interfaces" and "working with random numbers" with massive dissatisfaction. For a user who wants to create "beats" and has no interest in "procedural code" this is a meal of tasteless interminable gruel.
Now me, I can code (badly), but I've done it for years - and I found the tutorials interminably dull and not relevant to my needs. I found them frustrating. They killed my musical vibe. They are not "how to make music" tutorials so as a person with a use case of "make music" they went on and on without any hint of satisfaction to that aim.
Use Case: user wants to make a synth sound
Use Case: user wants to connect a macro to another track
Use Case: user wants to snapshot mixes
Now look at the Max Tutorials table of contents tell me how moist that desert is.
thank you for attending my TED talk
Last edited by Angstrom on Mon Mar 29, 2021 11:53 pm, edited 1 time in total.
-
- Posts: 196
- Joined: Thu Feb 18, 2021 2:06 am
Re: is there a list of good M4L development resources?
love that. and very good points. luckily (for me), I'm somewhere in between. I've managed to wedge myself into the gray area between artistry and technological curiosity, so I do take some amount of analytical interest in that sort of thing. but I also manage to find a bit of boredom there as well. thankfully, my interest in creating cool/useful stuff is usually greater than the boredom, and I don't mind smashing my skull into the wall a bit, until I manage to figure something out. those proverbial a-ha moments are usually pretty worthwhile, for me.Angstrom wrote: ↑Mon Mar 29, 2021 11:40 pmWhile this is true I found the Max tutorials to be exceptionally dry and "low-level" to keep my interest.
Of course, they are vital to understand the basis of the IDE, but
CONTENTIOUS OPINION: THE MAX TUTORIALS PUT OFF MOST LIVE USERS
I feel they are entirely wrong for the majority of users. I feel that for really big fans of Max the tone is exactly right, so they cannot see the problems of the tutorial
ANALOGY TIME
Lets imagine a Person, a hypothetical human "wants to make a video game".
We could assume that this person has an interest in information technology, has a good grasp of mathematics and an innate understanding of algebra, and perhaps a passion for learning programming languages.
If we, ourselves, make video games then that would be our background and aptitude, and we might assume that about anyone approaching the topic. We assume we are similar.
Based on that supposition we start to talk about definitions of objects, inheritances, variable typing, etc. That's lesson 1,2,3 ...
But what if we supposed wrong. What if the user was not really that type of person? Not a person who takes Python classes on the weekend for fun. What if the person actually is an art-kid, a bit dyslexic, and their uninformed idealistic hope that they could "make a game" might be ill suited to coding and more suited to a hands-on, more Lego-like "game builder" app?
Our crucial mistake was in pre-supposing.
The correct answer for this person might not be about variable typing, it might be better to say to them : "Have you tried Game Salad, or Build Box?"
ANALOGY ENDS
Lets assume that 70% of people using Live are not taking Python classes for fun, have never been curious about encapsulation or instantiation. lets imagine that 70% of Live users want to make "a dope kick drum synth" or "Like, some kind of like massive drop"
Lets see what the first lessons our friend is presented with.
... list continues never once using the word "Phat" or "Bangin"
- Hello — Creating objects and connections
Bang! — The bang message
Numbers and Lists — Types of data in Max
Metro and Toggle — Creating automatic actions
Message Ordering — Debugging program flow
Simple Math — Performing calculations
Numerical User Interfaces — Sliders and dials
Keyboard and Mouse Input — Working with standard input interfaces
Mouse Drawing — Introduction to drawing
Random Drawing — Working with random numbers
Procedural Drawing — Creating procedural code
Movie Playback — Introduction to video playback
Now, if you are a fan of programming, and you have a certain way of analytical thinking then this is all very engaging and captivating. But to many users they are being asked to learn about debugging and "using standard interfaces" and "working with random numbers" with very little feeling of satisfaction.
Now me, I can code, badly, but I've done it for years - and I found the tutorials interminably dull and not relevant to my needs.
Use Case: user wants to make a synth sound
Use Case: user wants to connect a macro to another track
Use Case: user wants to snapshot mixes
now look at the Max Tutorials table of contents tell me how moist that desert is.
thank you for attending my TED talk
Re: is there a list of good M4L development resources?
I have no maths, computer or any scientific background at all, english isn't my native language, was never interested in learning code or nerdy things but as a Live addict I couldn't resist learning M4L when it came out. I can assure you that the Max tutorials were the best learning ressource for a non-scientific brain like mine.Angstrom wrote: ↑Mon Mar 29, 2021 11:40 pmIf you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".
If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.
But I know your opinions about the topic and I always love to read them and they are valid... if you want to agree with them
Ableton Forum Moderator
Re: is there a list of good M4L development resources?
Then perhaps it's better to say that some people are motived differently.[jur] wrote: ↑Tue Mar 30, 2021 1:21 amI have no maths, computer or any scientific background at all, english isn't my native language, was never interested in learning code or nerdy things but as a Live addict I couldn't resist learning M4L when it came out. I can assure you that the Max tutorials were the best learning ressource for a non-scientific brain like mine.Angstrom wrote: ↑Mon Mar 29, 2021 11:40 pmIf you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".
If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.
But I know your opinions about the topic and I always love to read them and they are valid... if you want to agree with them
When I was at school and they tried to teach me differential equations I asked "what will I use this for?" .
I think the Max tutorials would benefit greatly from some persistent context, for people like me who require context to maintain interest.
I would have done the same tutorials the other way, from the opposite direction.
How I would prefer the tutorials
Lesson 1: "Trigger a note": Here's an object with an inlet, don't worry about that object just yet. Instead add a "bang" object and click it. You learned: Bangs trigger things, like sounds.
Lesson 2: "Trigger different sounds": Here's an object with an inlet, don't worry about that object just yet. Instead add a "bang" object and an Int object. fiddle with the Int. press the bang. You hear different sounds. You learned: Ints can select things, they send Bangs, Bangs trigger things, like sounds.
Lesson 3: "repeat a sound" : Here's our object with an inlet again, we have our int and our bang, now lets add a Metro to repeatedly press that button for us. Lets add another metro to increment the Int. You learned: Metros repeat stuff, etc.
etc.
This is contextual learning.
Myself I learned Max contextually, but there are very few tutorials which approach it from that direction. Based on use, rather than abstract. Consequently my knowledge has holes in which i then attempt to fill by later going back through the reference material.
They say it's better to learn a language by living in the country and trying to buy bread, rather than sitting in a room trying to memorise declensions.
I feel the documentation would be better focusing on buying a loaf, rather than the abstract concepts behind bakery.
Re: is there a list of good M4L development resources?
I agree the Max (and M4L) tutorials need a bit of love.
There is this historical separation between Max, MSP and Jitter (and further separation with Gen, M4L, MC, etc.), with the older tutorials kinda ignoring the existence of newer stuff (the Max is the oldest, and ends up being very dry, like others remarked). They have completely separate tutorial sections.
A new user won't even understand why there are Max, MSP and Jitter sections there, and seems there isn't any basic "Start Here" overall tutorial to tell the user why.
Rewriting everything from zero seems like too much amount of work for a small company like C74 (Ableton is not as big as people think), so I kinda understand why they leave some of the teaching work for the community, but IMO they could at least make a few new intro tutorials that start from the premise the user has access to all of Max, MSP, Jitter, etc. (plus M4L but minus MC/Gen for Ableton-related tutos), instead of those Max-only, MSP-only, Jitter-only tutos.
Having said that, the amount of learning stuff inside and outside Max is mindboggling, Reference (written documentation) AND Help (actual example patches you can use and copypaste from) AND video tutorials, dozens of Examples in Help menu, more examples in the Extras menu, then more examples in the Paste From context menu (when you right-click the background), C74's own forum in addition to this Ableton forum, active reddit and facebook communities for Max and Jitter (again, besides the Ableton ones), other related forums like IRCAM and Lines, etc.
I think the Kadenze course (for learning Max) and Ableton's Building Tools Pack (for copypasting stuff to save time when dealing with the LOM) are good starting points.
https://www.kadenze.com/courses/program ... -arts/info
https://www.ableton.com/en/packs/max-li ... ing-tools/
https://help.ableton.com/hc/en-us/artic ... -resources
https://docs.cycling74.com/max8/vignett ... _resources
There is this historical separation between Max, MSP and Jitter (and further separation with Gen, M4L, MC, etc.), with the older tutorials kinda ignoring the existence of newer stuff (the Max is the oldest, and ends up being very dry, like others remarked). They have completely separate tutorial sections.
A new user won't even understand why there are Max, MSP and Jitter sections there, and seems there isn't any basic "Start Here" overall tutorial to tell the user why.
Rewriting everything from zero seems like too much amount of work for a small company like C74 (Ableton is not as big as people think), so I kinda understand why they leave some of the teaching work for the community, but IMO they could at least make a few new intro tutorials that start from the premise the user has access to all of Max, MSP, Jitter, etc. (plus M4L but minus MC/Gen for Ableton-related tutos), instead of those Max-only, MSP-only, Jitter-only tutos.
Having said that, the amount of learning stuff inside and outside Max is mindboggling, Reference (written documentation) AND Help (actual example patches you can use and copypaste from) AND video tutorials, dozens of Examples in Help menu, more examples in the Extras menu, then more examples in the Paste From context menu (when you right-click the background), C74's own forum in addition to this Ableton forum, active reddit and facebook communities for Max and Jitter (again, besides the Ableton ones), other related forums like IRCAM and Lines, etc.
I think the Kadenze course (for learning Max) and Ableton's Building Tools Pack (for copypasting stuff to save time when dealing with the LOM) are good starting points.
https://www.kadenze.com/courses/program ... -arts/info
https://www.ableton.com/en/packs/max-li ... ing-tools/
https://help.ableton.com/hc/en-us/artic ... -resources
https://docs.cycling74.com/max8/vignett ... _resources
♥♥♥