Jump to content
IGNORED

Max/MSP


Adieu

Recommended Posts

So yeah just wondering what methods you lot use? I know it's a case of just experimenting with the stuff i've worked out already, and refining them so i have more control, but i'm still curious to hear how others approach it.

Try augmenting the stuff you're already doing with some lists and zl modules - mnth/nth, stream, slice, etc. This lets you corral random values into more meaningful ones without adding too much complexity to a patch.

Link to comment
Share on other sites

I'll have a lot of independent sequencers that do their own thing, either rigidly or loosely, that are kept in check by events from a main sequencer that runs off of the transport clock. Eventually, I would like to have the independent sequencers have a say in recursively editing the sequencer for the transport clock to change the overall structure of the song as it goes.

Link to comment
Share on other sites

 

So yeah just wondering what methods you lot use? I know it's a case of just experimenting with the stuff i've worked out already, and refining them so i have more control, but i'm still curious to hear how others approach it.

Try augmenting the stuff you're already doing with some lists and zl modules - mnth/nth, stream, slice, etc. This lets you corral random values into more meaningful ones without adding too much complexity to a patch.

 

 

This sounds good. I spend a lot of time building huge squids of patcher logic that produce cool sounds but are unpredictable, and i struggle to refine them down into something that can be used in a track. I'm sure anyone learning max has this problem though. I'll have a look at the objects you mentioned, thanks.

 

I'll have a lot of independent sequencers that do their own thing, either rigidly or loosely, that are kept in check by events from a main sequencer that runs off of the transport clock. Eventually, I would like to have the independent sequencers have a say in recursively editing the sequencer for the transport clock to change the overall structure of the song as it goes.

 

I think i understand what you mean but i'm more asking about the process of the sequencers themselves; how are they triggering events at the times you want them to?

Link to comment
Share on other sites

 

 

So yeah just wondering what methods you lot use? I know it's a case of just experimenting with the stuff i've worked out already, and refining them so i have more control, but i'm still curious to hear how others approach it.

Try augmenting the stuff you're already doing with some lists and zl modules - mnth/nth, stream, slice, etc. This lets you corral random values into more meaningful ones without adding too much complexity to a patch.

 

 

This sounds good. I spend a lot of time building huge squids of patcher logic that produce cool sounds but are unpredictable, and i struggle to refine them down into something that can be used in a track. I'm sure anyone learning max has this problem though. I'll have a look at the objects you mentioned, thanks.

 

I'll have a lot of independent sequencers that do their own thing, either rigidly or loosely, that are kept in check by events from a main sequencer that runs off of the transport clock. Eventually, I would like to have the independent sequencers have a say in recursively editing the sequencer for the transport clock to change the overall structure of the song as it goes.

 

I think i understand what you mean but i'm more asking about the process of the sequencers themselves; how are they triggering events at the times you want them to?

 

Lots of different ways. For the more generative parts I'll use a series of algebra expressions with uzi to spit out steps into a table and those will control things like sample start/endpoints with different types of curves and parabolic shapes.

 

I'll share one of my more unique ones: drum patterns for one of my older songs were made by making a 2d6 generator that stored and added prime numbers that would add up (via brute force techniques) to 16 or 32. Those prime numbers would be used to fill in a bar with the appropriate amount of notes with things like even steps being accented and odd steps being un-accented so it would usually sound goodish. When the 2d6 rolled a 12, it would subtract 1 and roll another d6 to make a bigger prime number that goes through the rejected output and would pass through some booleans to do other changes.

 

coll is amazing because you can assign each generated value an index value and recall it later if you liked it.

Edited by Entorwellian
Link to comment
Share on other sites

^ Damn dude that's some fascinating stuff. Really shows how max is just as much about imagination and ideas as it is ability.

 

I feel that because I used a daw for so long before beginning max that the methodology of it is just engrained in my mind, so I often end up emulating techniques that could just be done in a daw. And that's completely against the point of max. I really need get out of that mindset.

 

Anyway, thanks for the insight.

Edited by misc
Link to comment
Share on other sites

Haven't used it much but if you've Jitter check out the jit.conway object for a semi-random, semi-sequential way of triggering note data. Can do stufff like this:

 

Link to comment
Share on other sites

I'll have a lot of independent sequencers that do their own thing, either rigidly or loosely, that are kept in check by events from a main sequencer that runs off of the transport clock. Eventually, I would like to have the independent sequencers have a say in recursively editing the sequencer for the transport clock to change the overall structure of the song as it goes.

This is kind of the direction I'm heading in with my patching, so it's very good to hear this from such an experienced patcher.

 

Another thing I've been simmering on lately: to some degree, lists, buffers, etc. are just lookup tables, right? And theoretically, any 1-parameter pure function can be represented as a lookup table, as long as the table is big enough. Furthermore, any multiple parameter function can be represented as a 1-parameter function that returns a 1-parameter (curried) function. And programs can be represented as functions. Therefore, you can write code just with a bunch of lookup tables... in fact that's what's going on in your computer at the low level. This defeats the purpose when taken to the extreme but it might be a cool starting point or stepping stone to make some patches "smarter".

Link to comment
Share on other sites

 

I'll have a lot of independent sequencers that do their own thing, either rigidly or loosely, that are kept in check by events from a main sequencer that runs off of the transport clock. Eventually, I would like to have the independent sequencers have a say in recursively editing the sequencer for the transport clock to change the overall structure of the song as it goes.

This is kind of the direction I'm heading in with my patching, so it's very good to hear this from such an experienced patcher.

 

Another thing I've been simmering on lately: to some degree, lists, buffers, etc. are just lookup tables, right? And theoretically, any 1-parameter pure function can be represented as a lookup table, as long as the table is big enough. Furthermore, any multiple parameter function can be represented as a 1-parameter function that returns a 1-parameter (curried) function. And programs can be represented as functions. Therefore, you can write code just with a bunch of lookup tables... in fact that's what's going on in your computer at the low level. This defeats the purpose when taken to the extreme but it might be a cool starting point or stepping stone to make some patches "smarter".

 

Yeah the output of a parameter's function ends up going to a lookup table that is either stored in the memory buffer or in a file somewhere. I'm working on different ways that the tables are accessed and read with conditional statements and making determinations on what parts get wiped and changed versus what parts stay alive through changing patterns.

Link to comment
Share on other sites

Just read the last two pages of this and mostly it reminded me how much I've been neglecting learning Max/Max4Live. I started and just got bored with the very basic tutorial stuff, and didn't even play around enough to retain much of what I learned...haven't fired it up in weeks. I did just get a RYTM, so that's taken up some chunks of time, but I ultimately need Max4Live to be able to use the RYTM how I want to (yay Overbridge!) and I'm ashamed of myself. I think I need to go down the Frankenstein route and try a bit more of learn-as-I-need than just trying to plow through tutorials.

 

Just last night I had actually watched a short bit that Cycling 74 posted to YouTube detailing using BEAP, where by way of outputting fake voltages (meant for modular obv) into visual patchings they get real time responsive imagery. Very simple but interesting stuff.

Link to comment
Share on other sites

Haven't used it much but if you've Jitter check out the jit.conway object for a semi-random, semi-sequential way of triggering note data. Can do stufff like this:

 

Yeah i messed around with some conway stuff a while ago using the ensemble that comes with reaktor, newschool i think it's called, but it just felt like if a drew some random shapes and hit play, it'd spit out some crazy idmy beat. I couldn't shake the feeling that it was kinda cheating or something. Maybe if i built one myself i'd feel differently. Plus i didn't get that in depth with it so i'm sure there are avenues for more control over it. It's definitely a cool method though and i like just watching the cells evolve.

 

Just read the last two pages of this and mostly it reminded me how much I've been neglecting learning Max/Max4Live. I started and just got bored with the very basic tutorial stuff, and didn't even play around enough to retain much of what I learned...haven't fired it up in weeks. I did just get a RYTM, so that's taken up some chunks of time, but I ultimately need Max4Live to be able to use the RYTM how I want to (yay Overbridge!) and I'm ashamed of myself. I think I need to go down the Frankenstein route and try a bit more of learn-as-I-need than just trying to plow through tutorials.

 

 

I dunno, i'd usually advocate the learn-as-you-need approach, but with max i think the tutorials were invaluable. Even if they were about something i thought i'd never have use for, just the act of familiarising yourself with the conventions and processes of the program helped hugely. But i get that they are time consuming and sometimes pretty dry. I've been using max for about a year and a half and probably 6 months of that was just doing the built in tutorials (i'm slow), so it's definitely a big time sink.

 

But then again this past month the program has just completely opened itself up to me and i've finally started making things i like. It's insane how suddenly you go from building the most mundane pointless things, to having all these crazy ideas for things to build, that you can actually carry out because you made all those boring things, slowly building up a variety of little techniques. The exponential learning curve that i always hear people banging on about definitely deemed true for me.

Link to comment
Share on other sites

 

Haven't used it much but if you've Jitter check out the jit.conway object for a semi-random, semi-sequential way of triggering note data. Can do stufff like this:

 

Yeah i messed around with some conway stuff a while ago using the ensemble that comes with reaktor, newschool i think it's called, but it just felt like if a drew some random shapes and hit play, it'd spit out some crazy idmy beat. I couldn't shake the feeling that it was kinda cheating or something. Maybe if i built one myself i'd feel differently. Plus i didn't get that in depth with it so i'm sure there are avenues for more control over it. It's definitely a cool method though and i like just watching the cells evolve.

 

Just read the last two pages of this and mostly it reminded me how much I've been neglecting learning Max/Max4Live. I started and just got bored with the very basic tutorial stuff, and didn't even play around enough to retain much of what I learned...haven't fired it up in weeks. I did just get a RYTM, so that's taken up some chunks of time, but I ultimately need Max4Live to be able to use the RYTM how I want to (yay Overbridge!) and I'm ashamed of myself. I think I need to go down the Frankenstein route and try a bit more of learn-as-I-need than just trying to plow through tutorials.

 

 

I dunno, i'd usually advocate the learn-as-you-need approach, but with max i think the tutorials were invaluable. Even if they were about something i thought i'd never have use for, just the act of familiarising yourself with the conventions and processes of the program helped hugely. But i get that they are time consuming and sometimes pretty dry. I've been using max for about a year and a half and probably 6 months of that was just doing the built in tutorials (i'm slow), so it's definitely a big time sink.

 

But then again this past month the program has just completely opened itself up to me and i've finally started making things i like. It's insane how suddenly you go from building the most mundane pointless things, to having all these crazy ideas for things to build, that you can actually carry out because you made all those boring things, slowly building up a variety of little techniques. The exponential learning curve that i always hear people banging on about definitely deemed true for me.

 

The Max tutorials are very, very, very well put together now in Max 7 then they were in previous versions. By the end you'll know how to code your very own version of Kidpix (ms paint) with the LCD and make itable step sequencers. Re-learning algebra and trig is also very useful to understand the MSP and expr aspects.

Link to comment
Share on other sites

^ wrt to the maths side of things, i've got a good understanding of a variety of areas cause i need it for my course, but i've yet to use anything complex in max, and struggle to think of situations where i would use it. You got any suggestions for things i could try building that would force me to use some more advanced maths? Besides, it'd be nice to apply it somewhere other than in an academic situation as well

Link to comment
Share on other sites

^ wrt to the maths side of things, i've got a good understanding of a variety of areas cause i need it for my course, but i've yet to use anything complex in max, and struggle to think of situations where i would use it. You got any suggestions for things i could try building that would force me to use some more advanced maths? Besides, it'd be nice to apply it somewhere other than in an academic situation as well

 

Its mostly for the MSP portion. For drums and pulse-shaped generated sounds I'll use a lot of math transform functions to shape things (sine and cosine functions with clipping at different chunks) to shape things in tables. Filters or any sort of recursive system that you have set up that transforms values by the input that came before it will have some math heavy parts where you're having to play with feedback and feedforward values. In the tutorials there is an example of a strange attractor generator that illustrates this.

Also in general there is a lot of rational expression and scalings that need to be done in regards to the MSP portion. Even after years I still get messed up with which situations you have to convert stuff to frequencies to periods, and vice versa.

 

You could get through a lot of MSP without understanding math but knowledge of trig seems really fundamental if you want to do anything complex with signal processing. It really depends what you use it for.

Edited by Entorwellian
Link to comment
Share on other sites

 

^ wrt to the maths side of things, i've got a good understanding of a variety of areas cause i need it for my course, but i've yet to use anything complex in max, and struggle to think of situations where i would use it. You got any suggestions for things i could try building that would force me to use some more advanced maths? Besides, it'd be nice to apply it somewhere other than in an academic situation as well

 

Its mostly for the MSP portion. For drums and pulse-shaped generated sounds I'll use a lot of math transform functions to shape things (sine and cosine functions with clipping at different chunks) to shape things in tables. Filters or any sort of recursive system that you have set up that transforms values by the input that came before it will have some math heavy parts where you're having to play with feedback and feedforward values. In the tutorials there is an example of a strange attractor generator that illustrates this.

Also in general there is a lot of rational expression and scalings that need to be done in regards to the MSP portion. Even after years I still get messed up with which situations you have to convert stuff to frequencies to periods, and vice versa.

 

You could get through a lot of MSP without understanding math but knowledge of trig seems really fundamental if you want to do anything complex with signal processing. It really depends what you use it for.

 

 

Nice! Thanks for the info

Link to comment
Share on other sites

I think I'm on the verge of switching from FL Studio to Max/MSP now. I've watched some basic tutorials today to get a general idea of the mechanics.

From what I can gather it's very much a building blocks approach. And the last time I recall having to rely heavily on number crunching is when I used Stomper Ultra ++ back in '99 to make drum/synth sounds, which I then converted to WAV to "sequence" later in Cool Edit.

Realistically I don't expect any instant results in starting from scratch as a complete beginner. But I've gotten so burnt out on FL that I feel ready, no matter how steep the learning curve might be.

As far as purchasing, is it recommended to get the monthly or annual subscription, or to pay for it in full in one go? Either way, I plan on downloading the 30-day trial first before I make a financial commitment.

Link to comment
Share on other sites

I think I'm on the verge of switching from FL Studio to Max/MSP now. I've watched some basic tutorials today to get a general idea of the mechanics.

 

From what I can gather it's very much a building blocks approach. And the last time I recall having to rely heavily on number crunching is when I used Stomper Ultra ++ back in '99 to make drum/synth sounds, which I then converted to WAV to "sequence" later in Cool Edit.

 

Realistically I don't expect any instant results in starting from scratch as a complete beginner. But I've gotten so burnt out on FL that I feel ready, no matter how steep the learning curve might be.

As far as purchasing, is it recommended to get the monthly or annual subscription, or to pay for it in full in one go? Either way, I plan on downloading the 30-day trial first before I make a financial commitment.

Hey there ambermonk :D

The tutorials do a good job telling you what objects to start out with and some ideas of what they can be used for. You can probably get creating basic patches build within a week or two. It's probably better to go for the full retail. I always thought the monthly subscriptions were for students and teachers.

Also definitely do the 30 day trial or play around with puredata with the loadbang tutorial.

Link to comment
Share on other sites

 

I think I'm on the verge of switching from FL Studio to Max/MSP now. I've watched some basic tutorials today to get a general idea of the mechanics.

 

From what I can gather it's very much a building blocks approach. And the last time I recall having to rely heavily on number crunching is when I used Stomper Ultra ++ back in '99 to make drum/synth sounds, which I then converted to WAV to "sequence" later in Cool Edit.

 

Realistically I don't expect any instant results in starting from scratch as a complete beginner. But I've gotten so burnt out on FL that I feel ready, no matter how steep the learning curve might be.

As far as purchasing, is it recommended to get the monthly or annual subscription, or to pay for it in full in one go? Either way, I plan on downloading the 30-day trial first before I make a financial commitment.

Hey there ambermonk :D

The tutorials do a good job telling you what objects to start out with and some ideas of what they can be used for. You can probably get creating basic patches build within a week or two. It's probably better to go for the full retail. I always thought the monthly subscriptions were for students and teachers.

Also definitely do the 30 day trial or play around with puredata with the loadbang tutorial.

 

Finally tried it out today! After months of contemplation...

 

Just got the trial version of Max 7, but looks like I won't be able to make the full purchase until October, which is OK. Sweepstakes suggested I learn PD too, which I understand is pretty similar. I hear you're quite familiar with PD as well?

 

I started a basic beginner-level patch tonight. Just drum loop stuff with time-stretching. But I have to admit it's already sounding pretty dope.

Edited by ambermonk
Link to comment
Share on other sites

 

 

I think I'm on the verge of switching from FL Studio to Max/MSP now. I've watched some basic tutorials today to get a general idea of the mechanics.

 

From what I can gather it's very much a building blocks approach. And the last time I recall having to rely heavily on number crunching is when I used Stomper Ultra ++ back in '99 to make drum/synth sounds, which I then converted to WAV to "sequence" later in Cool Edit.

 

Realistically I don't expect any instant results in starting from scratch as a complete beginner. But I've gotten so burnt out on FL that I feel ready, no matter how steep the learning curve might be.

As far as purchasing, is it recommended to get the monthly or annual subscription, or to pay for it in full in one go? Either way, I plan on downloading the 30-day trial first before I make a financial commitment.

Hey there ambermonk :D

The tutorials do a good job telling you what objects to start out with and some ideas of what they can be used for. You can probably get creating basic patches build within a week or two. It's probably better to go for the full retail. I always thought the monthly subscriptions were for students and teachers.

Also definitely do the 30 day trial or play around with puredata with the loadbang tutorial.

 

Finally tried it out today! After months of contemplation...

 

Just got the trial version of Max 7, but looks like I won't be able to make the full purchase until October, which is OK. Sweepstakes suggested I learn PD too, which I understand is pretty similar. I hear you're quite familiar with PD as well?

 

I started a basic beginner-level patch tonight. Just drum loop stuff with time-stretching. But I have to admit it's already sounding pretty dope.

 

Congrats on making the jump :D

 

Yeah I recommend PD over Max with starting out with if you want to buy it full retail. Its harder and the documentation is poorer, but it will give you a good idea of what does what without the big price tag and its still really good on its own or for linux machines. It will also build some good habits up with lower level dataflow logic patches in PD that have respective dedicated objects in Max.

 

Unfortunately I was taken off guard by the options that javascript opens up and my complete lack of skill in that department. I will have to seek out Sweepstakes for help.

Edited by Entorwellian
Link to comment
Share on other sites

 

 

Haven't used it much but if you've Jitter check out the jit.conway object for a semi-random, semi-sequential way of triggering note data. Can do stufff like this:

Yeah i messed around with some conway stuff a while ago using the ensemble that comes with reaktor, newschool i think it's called, but it just felt like if a drew some random shapes and hit play, it'd spit out some crazy idmy beat. I couldn't shake the feeling that it was kinda cheating or something. Maybe if i built one myself i'd feel differently. Plus i didn't get that in depth with it so i'm sure there are avenues for more control over it. It's definitely a cool method though and i like just watching the cells evolve.

Just read the last two pages of this and mostly it reminded me how much I've been neglecting learning Max/Max4Live. I started and just got bored with the very basic tutorial stuff, and didn't even play around enough to retain much of what I learned...haven't fired it up in weeks. I did just get a RYTM, so that's taken up some chunks of time, but I ultimately need Max4Live to be able to use the RYTM how I want to (yay Overbridge!) and I'm ashamed of myself. I think I need to go down the Frankenstein route and try a bit more of learn-as-I-need than just trying to plow through tutorials.

 

I dunno, i'd usually advocate the learn-as-you-need approach, but with max i think the tutorials were invaluable. Even if they were about something i thought i'd never have use for, just the act of familiarising yourself with the conventions and processes of the program helped hugely. But i get that they are time consuming and sometimes pretty dry. I've been using max for about a year and a half and probably 6 months of that was just doing the built in tutorials (i'm slow), so it's definitely a big time sink.

 

But then again this past month the program has just completely opened itself up to me and i've finally started making things i like. It's insane how suddenly you go from building the most mundane pointless things, to having all these crazy ideas for things to build, that you can actually carry out because you made all those boring things, slowly building up a variety of little techniques. The exponential learning curve that i always hear people banging on about definitely deemed true for me.

The Max tutorials are very, very, very well put together now in Max 7 then they were in previous versions. By the end you'll know how to code your very own version of Kidpix (ms paint) with the LCD and make itable step sequencers. Re-learning algebra and trig is also very useful to understand the MSP and expr aspects.
I did read this the other day and I appreciate the input from all, I just forgot to reply because I got sidetracked hunting down the tutorials and other info and such for Max. I'm thinking of trying a bit of a combo of tutorials and Frankensteining...there's a ton of great patches and out there already worth incorporating with my own goals, so maybe with testing and trying to integrate them into my normal usage, along with some tutorials, I might stay interested enough.

 

Ultimately it's the long stretches of learning without any creativity that turned me off from the straight-tutorials route.

Link to comment
Share on other sites

  • 4 weeks later...

So I've just started on the BEAP tutorials that Cycling is posting on YouTube and it seems much easier to get into. It seems to be a modular emulation more than traditional Max, but maybe it'll be a slighter slide down into the guts of Max.

Link to comment
Share on other sites

BEAP is extremely easy to use (I have not used it myself yet). It's a series of higher level, prepackaged soft-modular objects that have CV input/output options. Its more akin to having a VST pack with Max compatibility.

 

You are better off just diving down the rabbit hole and just read the tutorial while building stuff. Its good to start off with making goals of what you want to build and doing very simple things from the ground up. Building more intermediate and advanced abstractions is an iterative process from the simpler parts.

 

As an example, the first thing I did was make subtractive synthesizers, a mixer, an output recorder and a 16 step sequencer. I would liberally use the comments to jot down what features I want and for making big decisions of what your object will be able to do or not do (e.x. like if the 16 step sequencer should jump to the first step or continuously play when you switch different loadstates). After that you can make different versions of your patchers, upgrade them, fork them or go through the max reference guide and see what else you can turn them into with additional arguments and messages that can be interpreted.

 

Also be aware of aliasing and filtering techniques that the "how digital audio works" and "how msp works" sections of the Max guide elude to. line~ and lop~ objects will suffice for the beginning for aliasing smoothing but you'll want to build a few dedicated modules at some point further down the road that will filter that stuff out of your audio for you (building an algorithm by layering fft~, the filter objects, block sizes, tanh~, biquad~ and very light amounts of noise). There is no dedicated object for it that I am aware of in the program that does it all in one go and sounds terrific (poly~ comes close).

Edited by Entorwellian
Link to comment
Share on other sites

  • 2 years later...

Max 8 was just released https://cycling74.com/articles/max-8-is-here

 

The update is focused on performance, better UI with improved real-time feedback and built in polyphony (MC) objects. The Max library and documentation are now 100% built into the program and there are tons of new debugging and ez patching options. There's vizzie 2 and javascript stuff as well but I never used either of those parts. Apparently the performance increase is anywhere from 400-1000%, including loading times!

 

Leafcutter John made a tracker interface object for max so, with the performance update, its feasable to actually build something like Renoise inside Max.

Edited by Entorwellian
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.