Know MAX/MSP? I need your advice

Reaktor, MAX/MSP, VST/AU, etc. A place for all things soft....

Moderators: Joe., lisa, luketeaford, Kent

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Know MAX/MSP? I need your advice

Post by StrangeAttraction » Fri Mar 13, 2020 8:20 am

Hello
Now seems like a good time to stay home, hunker down and learn those things I was hoping to learn, like MAX/MSP.

I have an end-goal in mind and it's a track creation and performance environment.
I do already a lot of these things in Ableton with M4L but it's not an ideal solution and I would like to explore building a patch in Max.

if you know Max...where would you start? Trying to pick one part of the problem and build something? Any particular resources (books, articles, videos) that you found the most helpful?
I know there's lots of Max advice online but I would like to find out what people here think it's actually useful and worthwhile.

My end-goal is to create my own performance environment with a:
- 4-5 Sequencers with some fun ornamentations like ratcheting, probability, rotation of sequences, etc.
- A few Envelopes/LFOs/Functions for modulation to use internally and externally via Expert Sleepers modules
- Module playing audio samples
- Something holding CV values to send to eurorack modules (like sending parameters in a sound preset)
- Basic FXs: Delay, Reverb, Chorus, Phaser, Looper
- Way to route CV/Gates/MIDI and audio around for mixing and modulation - so a Routing Matrix
- Some kind of a Song or Preset mode - i.e. each song would be a unique snapshot of all the routing, sequences, LFOs, essentially the building blocks

Wow, it starts to sound like an Octatrack...LOL...but really...
can you offer any advice where best to start and what worked in your Max journey?
cheers

Be Sandy?
Veteran Wiggler
Posts: 509
Joined: Sun Apr 08, 2018 12:04 pm

Re: Know MAX/MSP? I need your advice

Post by Be Sandy? » Fri Mar 13, 2020 9:38 am

If you're using M4L then you're off to a decent start in terms of being familiar with how Max works.
I always find it easiest to have a goal in mind, break it into parts and then work on these, learning what I need as I go along. Pulling apart other peoples' patches as a learning method is quite often recommended but not one I personally find useful.

Resources - as you've likely discovered there are lots.

The Max Thesaurus is a document I constantly look at when figuring out what object(s) will do the things I want. Between it and the built in tutorials and help files you can figure out most stuff.
https://docs.cycling74.com/max8/vignettes/thesaurus

A couple of books that you might find useful/interesting:
Electronic Music and Sound Design

Step by Step: Adventures in Sequencing with Max/MSP

Xomrys
Learning to Wiggle
Posts: 37
Joined: Wed Feb 26, 2020 12:54 am

Re: Know MAX/MSP? I need your advice

Post by Xomrys » Fri Mar 13, 2020 11:03 am

I'm working on something like this, minus the audio stuff.

Aside from the basic tutorials, I'd highly recommend:
  • Know how to develop Max externals. This can save time as for some complex tasks it's just easier (and cleaner) to code the thing in C. here's the latest documentation. https://cycling74.com/sdk/max-sdk-8.0.3/html/index.html. Note: I recommend actually doing 'the actual work' in C++, because the 'easier and cleaner' threshold is usually when you end up using STL objects like std::map and so on. To do this, just make sure your file containing ext_main is name with .cpp, and embed a pointer to a C++ delegate object in the Max object. You can continue to use C for the Max-specific stuff.
  • On the other hand, learn the zl (list processing) objects, maybe they can already do most of what you want.
  • Learn the pattr object backwards and forwards. Not only does this help with preset management and preserving the UI 'state' between sessions, it is essential for copy/paste (say a bulk copy of one sequencer's data to another sequencer), also dynamic coloring of UI objects (like sequencer stage LED's). you mention "snapshot management", this is also in the same category.
  • 4. Aside from the pattr object it may be good to read up on the 'Model-View-Controller' paradigm as a way to manage and maintain a complex project involving UI. Max programming is still programming. there's nothing worse than wanting to tweak something and having to do a lot of repetitive work because of poor/spaghettified design.

rovadams
Learning to Wiggle
Posts: 23
Joined: Mon Apr 21, 2014 7:30 pm
Location: Oakland, CA

Re: Know MAX/MSP? I need your advice

Post by rovadams » Fri Mar 13, 2020 12:38 pm

I agree with Be Sandy's advice, particularly Electronic Music and Sound Design. But if you're already working in Ableton/M4L, it seems like you're going to be doing a lot of re-inventing the wheel here - so many of those elements are easily done in Live. I've found a lot of solutions for Live limitations in maxforlive.com.

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Sun Mar 15, 2020 6:42 am

Thanks all - lots of good advice here that I'll check out.

That's right - Ableton + M4L does a lot of the funcionality for free already. Especially, around clip management, sequencing, audio routing, FXs....
M4L plugins are essentially audio and midi processing blocks at the moment, and if I were going to build it in MaxMSP then I would be looking to re-create a lot of the same Live functionality, which might be a huge task. Though I've seen it being done very effectively in the wild.
I might start by building an M4L device to store CV values in order to have "presets" for LI and Plaits modules.
The routing matrix might require a proper MaxMSP patch though as doing it in Live would bloat the template exponentially.

So, yes, keeping my performance template really simple - Live with M4L would most likely suffice.
Anything more fancy with routing matrix...is calling for a dedicated Max solution.

Thanks for the info about useful Max objects for this type of goal.
Last edited by StrangeAttraction on Sun Mar 15, 2020 6:48 am, edited 1 time in total.

francoprussian
Wiggling with Experience
Posts: 427
Joined: Sun Jul 26, 2015 7:54 am

Re: Know MAX/MSP? I need your advice

Post by francoprussian » Sun Mar 15, 2020 4:47 pm

Don't know your power level so these might be redundant but here goes:

If you're doing anything timing-critical, then it's worth having a read of this:

https://cycling74.com/articles/event-pr ... -vs-queue/

There's also a video linked at the bottom of the comments there which explains the same thing with some visual examples.

Gen~ can do almost anything an external can do in terms of DSP, good to have a dig there. I don't agree with trying to write externals unless you're into C already and you know how to set up a development toolchain. Gen~ can also be used to do timing critical sequencing.

zl family of objects are very useful but docs are a bit crunchy, so best to experiment in a sandbox or something.

Abstractions can be very powerful when combined with bpatcher. This is how BEAP works. The way they did it is really convoluted though and i always forget the technique. Most things in Max are needlessly convoluted i find. Including convolution.

Poly~ is a pain in the arse.

A good way to get to know objects is to find one that does roughly what you want and then look in the help page reference pane. At the bottom there are usually a couple of related objects and sometimes you find one that does what you want better than what you had. It's like surfing wikipedia, you end up with a shitload of help pages open in the background, like tabs in a browser. I often just make a dummy patch with the objects i'm interested in using laid out on the canvas so that i can just alt-click em to get info.

groove~ has some really decent advanced functions that can be found in the help reference page.

You can customize the object buttons in the border with a right-click, pretty useful for quick object browsing.

Snapshots are useful but weird, something about the way they get stored is really stupid, it's been ages since i was using Max so can't remember any more.


Good objects:

2dwave~
sync~
rate~
togedge
sig~
edge~
zerox~
change~
capture~ (useful for debugging signal rate stuff)
coll
borax
midiflush
spray
uzi
cycle (without ~)

The object thesaurus is quite good for inspiring investigation into unknown objects, but it's repetitive, like a thesaurus, and long, and annoying to use, as is much of the 'help browser' abomination.


Oh, and it's obligatory to end any commentary on Max with the twee valediction "Happy Patching".

Toodle-pip.

francoprussian
Wiggling with Experience
Posts: 427
Joined: Sun Jul 26, 2015 7:54 am

Re: Know MAX/MSP? I need your advice

Post by francoprussian » Sun Mar 15, 2020 4:53 pm

and also, pattr is a bastard, and it breaks the top-to-bottom flow paradigm. Really annoying system they made there.

Snapshots are much simpler to deal with but have some gotchas to watch out for. I think it's to do with the object settings. Read the help about it, sure it's mentioned in there.

pip pip

francoprussian
Wiggling with Experience
Posts: 427
Joined: Sun Jul 26, 2015 7:54 am

Re: Know MAX/MSP? I need your advice

Post by francoprussian » Sun Mar 15, 2020 4:56 pm

and also also, sam tarakajian's videos are excellent and informative and entertaining: https://www.youtube.com/user/dude837

kesserich
Common Wiggler
Posts: 138
Joined: Fri Sep 13, 2013 7:35 pm

Re: Know MAX/MSP? I need your advice

Post by kesserich » Sun Mar 15, 2020 5:52 pm

StrangeAttraction wrote:
Fri Mar 13, 2020 8:20 am
if you know Max...where would you start? ...
I'd start with this:

For what's its worth, here is my perspective on max: Only use max/msp when the tool you are looking for doesn't already exist. I say this because if you get into the habit of building everything you need, you won't actually have much time left over to work on music. Additionally, you will never implement anything as well as specialists if for no other reason, then they will pour ALL of their time into it. Eg. If you want an amazing FULL FEATURED step sequencer, just go by one right now as it will take you years to develop one from scratch. If you want a beautiful sounding LFP, go buy one right now, or you will spend months learning DSP theory and tweaking coefficients.

Lastly, if you need sample accurate timing and want to drop down to code, i would just use gen~ in this day and age. Javascript is slow as shit and the overhead of dealing with C externals is not really necessary.

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Mon Mar 16, 2020 9:03 am

I think the link might be broken
kesserich wrote:
Sun Mar 15, 2020 5:52 pm
StrangeAttraction wrote:
Fri Mar 13, 2020 8:20 am
if you know Max...where would you start? ...
I'd start with this:

For what's its worth, here is my perspective on max: Only use max/msp when the tool you are looking for doesn't already exist. I say this because if you get into the habit of building everything you need, you won't actually have much time left over to work on music. Additionally, you will never implement anything as well as specialists if for no other reason, then they will pour ALL of their time into it. Eg. If you want an amazing FULL FEATURED step sequencer, just go by one right now as it will take you years to develop one from scratch. If you want a beautiful sounding LFP, go buy one right now, or you will spend months learning DSP theory and tweaking coefficients.

Lastly, if you need sample accurate timing and want to drop down to code, i would just use gen~ in this day and age. Javascript is slow as shit and the overhead of dealing with C externals is not really necessary.

kesserich
Common Wiggler
Posts: 138
Joined: Fri Sep 13, 2013 7:35 pm

Re: Know MAX/MSP? I need your advice

Post by kesserich » Mon Mar 16, 2020 9:38 am

Sorry:
Step by Step: Adventures in Sequencing with Max/MSP by Gregory Taylor

User avatar
fuzzy_dunlop
Learning to Wiggle
Posts: 12
Joined: Wed Apr 08, 2020 9:05 pm
Location: Austin, TX

Re: Know MAX/MSP? I need your advice

Post by fuzzy_dunlop » Wed Apr 08, 2020 9:50 pm

http://peterelsea.com/maxtutorials.html

Here are from free tutorials by Peter Elsea, professor at the University of Santa Clara. They're great, following these got me started in Max & Jitter.

User avatar
rjungemann
Ultra Wiggler
Posts: 845
Joined: Sat Mar 03, 2012 2:18 pm
Location: San Francisco, CA, USA

Re: Know MAX/MSP? I need your advice

Post by rjungemann » Thu Apr 09, 2020 1:16 am

Check out the built in BEAP objects. They have recorders, MIDI/CV I/O, effects, some basic oscillators, sequencers, etc. and any of the modules can be right clicked and opened up to figure out how it works. Because they use the built-in GUI elements, the parameters can be one-click MIDI-learned in Max 8.

Learning Max, I would start with the built in tutorials and examples, there's enough stuff in there to keep me busy for months. Granular synths, spectral processors, phase-locked sequencers, pitch detectors, etc.

Re @francoprussian, "Poly~ is a pain in the arse." — It is true, but thankfully they added mc~ in Max 8, which is basically polyphonic patch cables with some convenience objects for dealing with polyphony. I highly recommend playing with it after you learn the basics, it makes putting together a polyphonic synth much easier.
My modular (ModularGrid). Check out my new synth-pop album, Umbram.

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Mon Apr 13, 2020 10:10 am

Hi
Thank you again all for very useful suggestions. I've been on this Max learning journey now for about 3-4 weeks. It might be a good time to report on what worked for me.
Due to the Covid-19 situation, I ended up having a lot of free uninterrupted time so I could dedicate myself to learning.
I took me about five full days (8-10 hours a day - I know I'm a masochist!) to get hang of the basics of Max and being able to develop my own ideas.
I highly recommend diving deep into Max at once and focusing on the step no. 1 below.

Here's my learning journey:
1. I started with dearjohnreed YouTube channel - I watched all of the Max 8 tutorials and recreated all the patches by myself - I found for me this was probably the best way to start. He is an excellent teacher, no fluff, just gets you building useful stuff right away but explains the environment and the key concepts well. The one meta tutorial on learning how to "steal" from the Help files is essential. If you only do one thing, do the tutorials on this YT channel. Essential.
2. Next, I've been diving into help files for the key objects, which you've mentioned and John also used like: trig, buffer, metro, tempo, cycle, sig, phasor, counter, col, multislider, zl lists object.
3. I read selected tutorials on Cycling74 website. Tons of useful information on their website.
4. I searched Cycling74 forum looking for potential solutions to problems I had.
Just by doing 1 - 4 - this should get you very very far into Max.

5. I watched a few more videos at: Cycling74 YT channel, Learning Max, dude837 (amazing) and a couple from tune4media on drum synthesis.
6. I have occasionally dug into "Step by Step: Adventures in Sequencing with Max/MSP" by Gregory Taylor, to see what his approach to timing is, but this wasn't necessary, so don't feel you need to spend money to learn Max.
7. I have played with BEAP modules as suggested - this has been fun and useful actually. I also recommend learning how to plug in external plugins as AMXD devices / M4L devices.

A few weeks later - I have made a ton of useful patches to control my modular, played with audio buffers and developed my own sequencers that borrow some ideas from Metropolis sequencer but take them even further.
I absolutely love Max now. MaxMSP is also on sale right now if you are cross-grading from Ableton.

If you're a beginner and have any questions, feel free to post them below or PM e.
I have still a lot to learn, but I've managed to develop a decent grasp of Max in a few weeks, so you can do it too if you want.

Btw - Just some background: I've had some general programming experience - mainly in Pascal/Ruby/HTML/Javascript. I especially recommend starting with Ruby and Javascript if you just want to get your head around learning to code. This isn't necessary for Max, as Max is mostly a visual language, but JS will help you further your ideas if you need to write some custom code.

Cornerman
Learning to Wiggle
Posts: 46
Joined: Tue Mar 13, 2012 3:54 pm

Re: Know MAX/MSP? I need your advice

Post by Cornerman » Tue Apr 14, 2020 10:33 am

Thanks for sharing your learning experience ! I am starting as well so this is helpful.

kesserich
Common Wiggler
Posts: 138
Joined: Fri Sep 13, 2013 7:35 pm

Re: Know MAX/MSP? I need your advice

Post by kesserich » Tue Apr 14, 2020 9:59 pm

Re: The beap modules- I like the idea but if you want to go the route of 'higher level' audio / almost modular build blocks, i think something like reaktor blocks or VCV rack is further along. Max/MSP can certainly do all of that from a technical perspective but I think all of the beap modules were written by like one dude. Reaktor Blocks have a pretty vibrant community and VCV has numerous companies on board.

kesserich
Common Wiggler
Posts: 138
Joined: Fri Sep 13, 2013 7:35 pm

Re: Know MAX/MSP? I need your advice

Post by kesserich » Tue Apr 14, 2020 10:01 pm

Re: javascript. I spent a bunch of time writing code in JS and found the timing very sloppy. I ended up rewriting all the good shit in gen~.

francoprussian
Wiggling with Experience
Posts: 427
Joined: Sun Jul 26, 2015 7:54 am

Re: Know MAX/MSP? I need your advice

Post by francoprussian » Wed Apr 15, 2020 5:43 am

Thanks for coming back to share your experiences. Sounds like you're getting along quite well. Good luck with it.

As for javascript, it is a useful language to know in the context of Max, but the embedded version is woefully outdated, so a lot of modern JS paradigms just outright do not work in scripting for Max (scanning the release notes for Max 8 it looks like they might have updated it to a newer version, but it's ambiguous and they only mention an SDK from what i can see). Otherwise, it's good for data management, and background algorithmic processes, but not for anything that requires good real-time throughput or time-critical application.

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Wed Apr 15, 2020 7:04 am

Great points re: JS.
I've actually only use sprinkles of JS where absolutely necessary and I can't find a Max-native solution.
Typically this could be some transformation of the stored sequence in a multislider object or running some algorithm for a generation of melodic patterns. Nothing to do with timing though as I would not trust JS with this.

francoprussian
Wiggling with Experience
Posts: 427
Joined: Sun Jul 26, 2015 7:54 am

Re: Know MAX/MSP? I need your advice

Post by francoprussian » Wed Apr 15, 2020 10:44 am

There's a good vid on the Cycling74 youtube page where one of their (slightly vague) engineers walks thorough accessing a buffer~ via js. It's pretty interesting and a lot of ideas come to mind as to what could be done with that integration. Wave morphing via algorithms, pretty nice. Only downer being that it would have to have a lot of plumbing to keep the buffer off-line when being accessed to avoid glitch hell.

Here is video:


StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Thu Apr 16, 2020 4:59 am

francoprussian wrote:
Wed Apr 15, 2020 10:44 am
There's a good vid on the Cycling74 youtube page where one of their (slightly vague) engineers walks thorough accessing a buffer~ via js.
Fantastic! That's for this.
I was listening to an episode of Esoteric Modulation podcast yesterday with Soma Laboratories chief, and he mentioned creating oscillators based on Game of life equations...super interesting...made me think what other equations and dynamic/evolving equations can be used to generate oscillations and modulations. Seems like JS might be able to handle this...

inoshi
Wiggling with Experience
Posts: 299
Joined: Mon Aug 27, 2018 3:20 pm

Re: Know MAX/MSP? I need your advice

Post by inoshi » Mon Apr 20, 2020 10:21 am

love max. haven't used it in a long time, but looking to build a nice reaktor setup here in a bit.
Great thing about max is you don't have to use step-sequencers. step-sequencers are really boring, imo.

iainduncan
Learning to Wiggle
Posts: 19
Joined: Mon May 19, 2014 12:56 pm
Location: Canada

Re: Know MAX/MSP? I need your advice

Post by iainduncan » Thu Apr 30, 2020 8:16 pm

Just to echo some others, you *definitely* want the two Cipriani and Giri books (Electronic Music and Sound Design V 1 & 2) and the Gregory Taylor Step-By-Step book. Those will get you going very well. V2 for Max 8 is supposed to be coming out soon.

nateflanigan
Common Wiggler
Posts: 70
Joined: Fri Jun 19, 2015 4:31 pm
Location: Philadelphia

Re: Know MAX/MSP? I need your advice

Post by nateflanigan » Sat May 16, 2020 6:36 am

I don't think anyone has mentioned the kadenze course yet (it's a free online class from Stanford)
https://www.kadenze.com/courses/program ... rts-i/info

Everyone learns different, I have a really hard time with the built in tutorials and Electronic Music and Sound Design book, that course is what got me over the hump I'm still certainly a beginner but I can usually figure out how to do what I need to do now.

I went into max really enamored of these amazingly advanced projects people do and thinking that's the mountain I wanted to climb, but what I've realized for me personally is that I love how simple max can be. Like, I can make a patch that just does one thing and has only the controls I want.

StrangeAttraction
Common Wiggler
Posts: 231
Joined: Sun Nov 16, 2014 1:51 pm
Location: London

Re: Know MAX/MSP? I need your advice

Post by StrangeAttraction » Mon May 18, 2020 8:43 am

+1
nateflanigan wrote:
Sat May 16, 2020 6:36 am

Post Reply

Return to “Music Software”