So, I've finally gotten around to d/l-ing the demo for Max/MSP. I've been going through the Tutes and learning a whole bunch. I'm now at the point where I think I can start building some stuff. I've already done one that picks a word at random from a list and inputs it into a sentence. It's really fun, but it's a little simplistic and I'd like to move on to something audio related.

Can anybody think of any simple audio ideas to start on that won't be too complex? I've got ideas for building massive interactive generative music engines and stuff like that, but I figure I'd better figure out how to get my britches on before I go outgrowing them.

I've been thinking of something like a delay module or distortion unit, but I have no idea how much work and depth of skillset I'll need to be able to actually do something like that. Ideally I'd like to finish it before the demo runs out (still saving for a full copy).



5 Answers 5


Some tips for beginning Max/MSP users:

  • Check out the examples (Extras menu > Examples) and unlock the patcher to see how they are built up. Try to understand how they work.
  • Every help file of every object is a Max-patcher too: you can unlock them, select and copy what you need and paste it into your own patch. Watch out with editing the help patches: if you then save it, it permanently overwrites the help file.
  • Check out the Object Thesaurus in the Reference, with it you can search for a certain functionality and it will list the object to use.
  • Learn the hotkeys: cmd-e to lock/unlock the patcher, i for new int box, f for new float box, n for new object, m for new message, t for new toggle, b for new bang, c for new comment, cmd-shift-e to group the selected items into a subpatcher, cmd-k (on windows, cmd = ctrl) for hide on lock, cmd-l for show on lock, cmd-y and cmd-shift-y for align objects/patch cords (this is ctrl-shift-a on windows) and more.
  • Comment your work. Max/MSP is a programming language, and if you create some complex logic during a eureka-moment you will thank yourself later if you annotated it with a short explanation on how it works. It makes debugging a lot easier.
  • Turn on 'probing' in the Debug menu so that when you hover with the mouse over a signal cord, you will see its current amplitude.
  • Use [print] often in the creation process to check if objects output the values you expect them to. You can remove the print objects later on when you have verified that everything works.
  • Make yourself familiar with the difference between Max and MSP, meaning the differences of doing stuff at scheduler rate vs at audio rate.
  • Learn what the settings in the 'DSP Status' window do and what to check when the sound isn't working.
  • Learn how pattrstorage works early on and build your patches with that in mind. Adding preset-storage capability later on is a pain in the ass.
  • Before trying to build something, search the forum for it ( http://cycling74.com/forums ) Chances are someone had the same idea before you and has posted an example patch. This also applies when you get stuck with something: search the forum because you probably won't be the first to have this particular problem.
  • Talking about the forum: read this topic http://cycling74.com/forums/topic.php?id=26095 - it tells you how to post patches on the forum and other basic, need to know stuff.
  • If you have created something awesome, return the favor and share it on the forum!
  • Check out http://maxobjects.com : there are lots and lots of abstractions and cool externals that add to the functionality of Max/MSP or make your life a little bit easier. Watch out with externals that are for one platform only though, you might run into compatibility problems later.
  • While you're there, download the following libraries: ejies, jasch, jb (use the search function). Very useful stuff.
  • Watch out for feedback loops in a data (or signal) stream (an object feeding data back to itself at the same rate as it receives it). Max often catches this situation and shuts down the scheduler with a warning, but sometimes it doesn't and Max will become unresponsive or even crash. Speaking about crashes:
  • There are bugs in the program, and it will crash. So save often and think of some kind of versioning strategy. If you think you found a bug, search the forum first. When nothing comes up, make a new post that explains how to reproduce the bug, along with a tiny example patch. It will then most likely be fixed in the next version (this goes quite quickly, and the staff is very responsive).

Sound-design specific stuff:

  • Watch the volume when using headphones. If you're working with signals while they are connected to the dac (output), unexpected stuff might cause very loud output.
  • In the same vein, limit the input values of resonant filters, because they can produce nasty output. [clip] and [clip~] are your friends.
  • Make yourself familiar with sfrecord~, sfplay~, groove~, record~ and buffer~. Writing and reading audio files is essential if you have created something cool and want to save it. In the Extras menu is a little tool called Quickrecord, this lets you record and save whatever is being sent to the dac.
  • To avoid clicks when changing the volume of a signal with a non-signal number, or some other signal parameter (of a filter for example), put an [append 20]---[line~] in the signal flow to smooth the values in the audio domain.
  • Check out pfft~ and the examples regarding fft and convolution. Quite advanced stuff, but it can be loads of fun too.
  • Do you have a midi controller? Check out midiin, and create a little patch with you specific controller settings already set up and routed so that you only need to drop it in any patch you make to add midi functionality. Doing sound design with knobs is more intuitive and more fun than with the mouse only.
  • Check out Max for Live if you want better integration of your Max-creations with a DAW.
  • Build or find a constant-power fading and panning patcher, you will need it when crossfading or panning between signals.
  • Learn how poly~ works early on and build patches with lots of parallel stuff around poly from the beginning. Think synths and other layered or multi-timbral sound generators and modifiers.

Some more ideas to build:

  • A phaser;
  • A multi-tap delay;
  • An LFO-driven variable filter;
  • An amplitude-driven filter with smoothing;
  • A basic subtractive synth, which you can then extend with frequency modulation, the above effects, ADSR envelopes (using [function] or [adsr~], a step sequencer [techno], other waveforms (you can steal this from the X.FM~ synth in the examples) and more crazy stuff.

As you can tell, I spent far too much time with Max/MSP, and I still am. And yet, though I can create anything I want with Max+MSP, the world of Jitter (video) is still relatively unexplored territory where even more wonders await...

  • 2
    That's pretty well summarized. If only the Universities which teach Max/MSP would list something like this for their students...it would justify the tuition fee. :P One thing I would like to add to the list is... Have a clear idea about what you want to do and have a block diagram of how you are going to achieve it using Max/MSP. Rest is just logic and know-how about the Max/MSP. If one doesn't have the idea... even the complete know-how would be useless.
    – Rishi Dani
    Apr 27, 2011 at 0:41
  • 1
    Some great stuff in there! Apr 27, 2011 at 14:14
  • 1
    I kneel in praise of thee.
    – g.a.harry
    Apr 30, 2011 at 17:58

check out this guy: http://www.youtube.com/user/BazTutorials

he's got a lot of short max/msp tutorials, most of them about audio

and lately he started a playlist called 'patch a day' ;) so you'll have plenty of 'simple audio ideas' to choose from.



check out the msp tutrials... (help / msp-tutorials) they'll teach you all the basics you need to know to create and manipulate sound-effects in MAX... or just set yourself a goal (like a frequency-reactive delay, or ... whatever) and research the nodes you need to know to create it... this method might take a little bit longer, but it's probably more fun ;) also the reference and the node-help-files (rightclick the hot-inlet of a node) are very helpful!

  • I've been doing the tutorials, but it's kind of like reading a manual... I prefer to explore first and find out what I'm doing wrong later.
    – g.a.harry
    Apr 26, 2011 at 16:50

Peter Batchelor's got some good tutorials that got me started in the music arena.



It's a year since this thread was started, I'm curious... how did you get on, and did you make anything that you still use?

  • A few things here and there. I'm in the process of outputting them in useable formats and getting them up on my site. I'll drop a link when they're up.
    – g.a.harry
    May 10, 2012 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.