Max Msp Projects

(picture copyright Matt Robinson, Website found on my Blogroll)

Welcome to my Max/Msp project page. Here I will be detailing and illustrating my projects with this programme and enabling you to download the patches and try them out for yourself!

More to come….


Max Msp Step Sequencer

Step Sequencer Tutorial

Final Project Step Sequencer

This is my final patch for CMC2a, I am not submitting a supercollider final piece, this is the 40% worth rather than doing two final projects. As I wanted to worth on max/msp stuff trying to see if I could try something new.

So this is it, a simple step sequencer that allows the user to create beats with ease, using effects, presets, preset selectors, tempo and edit file paths. I wanted to make this as user friendly as I could making it quick and easy to use for anyone. This is a remake of my first beat chopper project but taking it to another level and direction. The problem with the beat cutter was that it was limiting and did not have as much user control. However from what i learned from doing that project I implied into this one.


1. Easy modify for changing file paths to folders which comply with the drag down menu

2. Complete user control over effects, beats, presets and volume

3. Being able to save presets with ease with just CMD and D

4. Can load any samples enabling not just drum samples, to then sequence them according to your preference


1. No links to other DAWs to send midi information

2. No easy user control with usb interfaces

3. More effects to each sound where you can edit its sample length etc

4. Enable more keyboard controls to make creating beats more time consuming

FIle path selector


This is spit into six sections for each sound file path that can be loaded into each part of the step sequencer. This can be modified when unlocking the patch and editing the file paths accordingly

Sample selector


Once the file folder is selected you can go to the drop down list and select the audio sample that comes up on the umenu object.

There is also a control to the resolution of the step sequencer that is in fractions

Then next to that a number box that sets the limit number of counts for the sequencer (max 15 includes 0)

Step sequencer


This part is where you can create your own beats and rhythms when ticking the red box, there is a flashing indicator which indicates which box is being “read” when you have ticked the box and its selected by the flashing indicator it will show on the below circle (bang).

Comb Filter


This is the first effect of the audio chain, the comb filter. This has six controls all clearly labeled when hovering over each knob, using hint to illustrate its name. The effect can be chosen to be off/on with the umenu object.



This part enables full control over reverb parameters which again can be easily known when hovering over each knob with the hint naming each parameter. The value being easy displayed underneath each. The effect can be chosen to be off/on with the umenu object.



This delay effect can be easy edited using the three parameters that are as previous illustrated using “hint” when hovering over each nob the name of the parameter will appear. The effect can be chosen to be off/on with the umenu object.



The bitcrusher was made using “downsample” object. There are two options one for manual mod where you can change the bitcrusher amount and random where it will randomly select a bitcrusher value which is then indicated by the number box. You can switch between the two using the umenu. The effect can be chosen to be off/on with the umenu object.


This section is split up into several parts:

Toggle buttons:

This includes start sequencer that will start the counters off, creating a step sequencer, Reset will reset the counter to zero (make sure the sequencer is off) before doing this.

Manual reset selector will require you to change the preset randomly, random preset selector will select a preset randomly with the option of the duration of this being selected from, 0.025,0.05,1,2,4 and 16.

A preset can be edited by selecting a parameter and changing then pressed CMD-D and saving the preset to a clicked circle on the preset object.

The mixer:

This has control over each of the six sections of the step sequencer uncluding gain and pan with the volume level indicated with volume meters located under the “gain”.

Max Msp Monophonic Synth

This is a monophonic synth patch I have created using the Program Max/Msp. I have tried to make this Additive Synth as user friendly as I can making it quick and easy to create a variety of different sounds all with control over, amplitude envelopes, filters, reverb, partial, oscillators, tremolo per-partial and output volume. I am very happy with how this has turned out, considering this is my first synth I have properly made from scratch.

Additive synth Tutorial


1. this patch enables full control over the additive synthesis process give create scope for sound design variety from simple to complex

2. clear and easy way of knowing the signal path based on its layout

3. easy to use, can create sounds straight away

4. diverse choice of options for ultimate control of the synth

5. midi input available to control keyboard

6. Easy save preset feature enables storage of made sounds


1. Perhaps more partials needed with a feature of combination of waveforms on each

2. more effects on audio chain to produce more diverse sounds for the user

3. as i have said on the previous task, midi learn feature, where the user can create his own midi controls for the patch as he/she wishes

4. step sequencer for create melodies easily and quickly

5. No easy option to route midi from logic making this part easy and painless for the user

6. Not a large range of presets for the user to explore, could easily be expanded.

Overall I am extremely happy with how this patch has turned out. I have never made a patch like this before and think that it was definitely a good choice to make a additive synth from scratch. Through making this patch it has increased my knowledge and understanding of how additive synthesis works giving a greater insight to using this technique in such programs as supercollider. Its really the first patch that enables full control of functions, e.g function to create additive synthesis. As well as having the right features for a basic additive synth I have paid special attention to the use of presentation mode, making it clear and in clear order from start to finish for a new user to have a good understand of the process of additive synthesis. I have tried to make this for any other user, giving them a “head start” with the use of saving presets, that can easily be saved and tweaked to the users desire.

Here below I have created a small tutorial illustrating & explaining  some of the parts of my additive synth with max msp from partials to filters.

The Partial

The partial is a great way of creating sounds from scratch as you get to edit the, oscillator, its amplitude envelope, its partial frequency and its  tremolo rate  (random or not). I have included six different edible partials to create textures that evolve over time when a key is pressed on the keyboard.

Amplitude Envelope

This is a function which I am very glad I added to this patch. Its a great way of getting each partial to have its own amplitude, enabling easy manipulation with use of connected lines illustrating the shape of the envelope accurately.


I have used the unmenu to give the user an option to select what type of waveform to choose from:

Square Wave

Sine Wave

Triangle Wave

Saw Wave

You can combine up to six different waveforms together which are then combined to the output stage equally to stop distortion and excessive levels.

Partial Frequency

This will enable the user to have layered partial frequencies in harmony with each other creating in some cases warm, rich and thick textures some nicer than others.. experimentation is key!

Random Tremolo Rate/Manual Tremolo rate

Again I have used the umenu object to give the choice of choosing either random tremolo rates to manual. The manual tremolo rates can be selected at the umenu underneath this!

Output Waveform Of The Partial

This will show the waveform of the selected partial showing its waveform characteristics accurately to its frequency and amplitude envelope.

Filter Control

I have added a filter section in where the user can control the filters shape and position accordingly with the knob controls looking at the frequency diagra

Filter OFF/ON

To turn the filter on just select the umenu and select off or on for the filter

Type of Filter

You have a choice of using four different types of filters, bandpass, resonant, hi-pass, low-pass. You can easily select these different filter types using the umenu.

Filter Controls

Cut-off Filter: Enables control over the cutoff of the frequency from 20hz to 15000hz

Filter Gain: The amount of volume the filter has is selected by use of “Filter gain” knob

Resonance: Gives control over a peak point at the cutoff frequency allowing a boost in volume.


This offers control over delay features with controlling the number boxes accordingly (when delay is on of course)

The first part of this delay is the size (ms) of the delay changing this increases or decreases the amount by the users preference. Output delay will affect the delay’s output time and finally the delay feedback which changes the amount of repeats of the delay. Which these controls used some very interesting textures can be made that give this patch more scope for sound design (same goes with the reverb).


The next part of the signal chain is the reverb effect. This allows the user control over, room size, decay time, room damping and room diffusion. Great way to create sounds that sound ambient and slow evolving to sort plate reverbs. You can notice when changing the reverb setting in realtime whilst playing the keyboard maybe create “glitched” type effects this is a object defect.

Of course there is an On/Off option to choose either one, if you wanted this effect or not.

Beat Slicer Patch

This patch was to try and create a way of importing soundfiles (in this case at 140bpm) and using random object create random beat cuts layered over each beat part, 1 too 3. Similar to the last patch i wanted this patch to give user control that was easy and creative offerring a list of tools the user can use to create processed beats.


1. Good use of on the fly manipulation basic but effect

2. Simple layout good for new users who want to use this software

3. Easy sample select to make simple multi-timbral rhythms due to its “random” beat cutting features

4. Clearly labelled controls for manipulation for filters, bit crusher, delay and panning

5  Final result gives a IDM beat cut effect mixing all three samples together


1. Limited use of different tempo editing, inserting different loops off a different BPM to 140BPM is a pain to do as everything is synced to 140-bpm

2. More controls needed (my opinion) to create more interesting textures that the user can easily do on the fly, enabling more options and sounds

3. Use of Midi-control would be practical to give the option for the user to use “learn”  to get certain midi information to control certain parts of the patch creatively

4. More range of samples for a greater option for the user to choose from, even creating more loop sections to “mix & match” an large collection of sounds

5. Pan and filter controls need to be more user orientated getting ride of or having as an option to have as a random, but giving an option also for manual mode.

6. Use of a step-sequencer to create a user create rhythm rather than random, more interesting beats would be made this way, with the option to change the resolution in the matrix object for more     complex beats per “block”

7. Use of ipod touch compatibility, for users to control parameters wirelessly with use of HID object, Osculator and TouchOsc with selected TouchOsc Layout included in the patches folder.

Over all i am very happy with the patch. I like how it has that randomness factor to it, making it feel like every beat sample will never be quite the same each time, of course there are lots of things I can expand to it as listed above however as a starting point I could not be happier. In the future I will add more of these features and “up root” the innards of the patch and rearrange and edit everything to make a more user friendly and interesting patch.

Here I will break down the various sections of this patch in making it easy to understand for both its functions and processes.

The Sample Selector

Using the umenu function I have created three separated audio looped sections.

1. Deep Drum Samples

2. Exotic Break Beat

3. Ethnic Samples

When selecting a new sample as the patch is on and making sound do not worry about changing the sample “in time” sample selectors are synced so that one sample does not go out of time with the other.

The audio files for these sections are in the folder that comes with this patch.

I have including simple control over volume with the two faders attached for each sample section, the left fader is equal to the right faders volume to make the level even when adjusting. To make sure the levels for each part is at a good amount I have also added two meters ( stereo) to monitor the level.


For sample section 1&2  I have included control over panning (randomly) with the use of the key (s) on the keyboard. Pressing this button with randomize the panning from L, centre to R.

Reverb For Sample Section “Deep Drums”

I have used a reverb object from the examples which come with max. This also uses random objects to randomize the level of the reverb mix between 0 – 158 (min and max level). This is synced to a metro which is in sync with the rest of the patch.

Same use of reverb random level for the “Ethnic Sample Section” used with the same reverb object.

Random Filter Selector

Here I have added a random filter option for two sample selections (the second only having Hi-Pass Filter & Band-Pass Filter) which is triggered when the above toggle is pressed. I have used three types of filters, Low-Pass Filter, High-Pass Filter & Band-Pass Filter. Once toggled three LEDs will light when that certain type of filter is selected, to indicate to the user the random motion of this selection. The frequencies that the patch is selecting is random within each type of filter, you can see this by going into the sub-patch file inside the patch and seeing/changing the frequencies for each filter part.

Bit Crusher Control for Section 1 & 2

On the final part of the signal path of these two sections there is a bit crusher, which in this case is not “random” but can be controlled by the user. Using the keys 1-8. 1-4 controlling section 1 & 5-8 controlling section 2. When pressing the button on the keyboard the LED is indicated. The nice bit about this effect is that its a good way of adding variation to the samples with your bit crushing by a selected amount down or even up to its original state great for adding tension and release points when samples are playing.

Short Delay on Ethnic Beats Section

As state above this option adds a very small, short delay to any ethnic sample in that section, where it lets the sound become more thicker, quite a useful function when playing with sounds on the fly, simple yet effective.

Filter Sweeps for Ethnic Beat Selection

This section is a way in which the user can control the frequency sweep of this sample from a selection of four different filter sweeps each with different times of completing that process. The keys that control these four individual options are:

0….first message

-…..second message

=…..third message

backspace…..four message

Output Stage of Patch

This part of the patch is the output part where you can control when the patch starts, sound enable & level control.

To get the patch starting:

1. Select the speaker and click until blue (making sure in audio preferences your soundcard is selected and audio is “on”)

2. Left output and Right output are linked so that there even, make sure they are a reasonable volume.

3. Monitor the level with the level indicator making sure that its under the red color

4. Select the sample what you want making sure its not one at first.. you must change these other samples to activate sample selection

5. Then changing the options for things such as bit-crusher, panning, delay to create a on the fly beat editor.

6. One more thing to add….to insert you own audio files to each section edit the message buttons at the right hand side of the screen to the appropriate file path..

sadly these samples will only be in sync if they are 140 BPM if i do another version I will make it so you can select the BPM accordingly.

Max Msp Task 3… using Fiddle~ Object

Fiddle Object Patch

Here below is a list of instructors to work my Fiddle~ patch and a small evaluation of pro & cons about this that I have done for a task.

The patch itself uses fiddle in both its pitch data and bang data. The pitch data providing a control over a simple synth embedded inside the patch, and the Bang which activates a switch to randomly record parts from the microphone.

I wanted the patch to be as simple as possible but to include quite interesting textures that in theory can change, dependent on the environment of sounds in which your are situated. With having this “random record” feature it will then play back the recording at different speeds (when audio is on) so it means its a great way of getting some glitched, ambient textures from simple speech for instance.


1. Enables creation and control of ambience textures that will vary on the environment

2. Simple layout with an easy approach, good for users wanting to not worry to much about learning the program straight away

3. Can mix between Fiddle synth & Fiddle microphone to get a mix of both synth pitches and vocal/other pitches.

4. Random panning of sounds to give the sound “movement” within its ambient space

5. control of both reverbs for Fiddle~ Synth and Microphone recorded output


1.  Sometimes clipping due to not nessarilly recording sounds from a zero crossing

2. An ADSR is needed to create smoother sound processing to avoid any sorts of glitches

3. more control over input, from microphone to line in, give the user more of an option to work with

4. making use of more controls that the Fiddle~ object could use not just microphone and one synth

If I could do this project again I would definitely add more to its user functions to create more of an interesting patch that would still have a simple output of sound but could be used in variety of different ways. I feel there is so much more ways in which Fiddle~ could be explored for perhaps future projects using this program.


1 Turn on the speaker object

2. Turn on the toggle box labelled “Audio On/Off”

3. Increase microphone volume underneath microphone object

4. Increase synth fiddle~ objects volume accordingly

5. Set reverb levels for both for synth fiddle~ & microphone object

6. edit synth fiddle recording level accordingly

6. Increase output volume (next to speaker volume)

The Patch

Microphone Input

Here is the microphone for the input, you can set the level using the number box below the microphone object, its level can be indicated

by the level indicator on the right.

Synth Fiddle~ Level

This affects the level of the fiddle synth (this gain will not affect the record level of fiddle)

Synth Fiddle~ Reverb

This affects the synth fiddle~ reverb with four parameters that can be clearly be changed from size, decay, damping and diffusion.

Record/Microphone Control

This part of the patch, enables control over the record option (audio On/Off), also the synth fiddle record level, reverb and you can see the panning of the recorded signal.


This has the speak object with turns audio on/off and there are two faders that control the output of the whole patch.


2 responses to “Max Msp Projects

  1. He James,

    Nice stuff! i’m realy intrested in your beat cutter and how you made it.
    I’m working on someting simular myselfbut i have some problems with it, maybe you can/ want to help me with it.

    here is my problem:

    I’m using buffer~ and waveform~ to load the beats and select parts of it but i’m getting clicks when jumping to a different selection. I have tryed function in combination with line to fix it and it works on 8th notes but the punch of the beat disappears and with 16th notes it doesnt work at all.
    So my queation is:
    Do you have any sugetions how to fix it or can i take a look at the backend of your beat cutter to get an idea how to fix it?



  2. Hi James,

    Your patches look great! I’m beginning to study Max MSP at Newcastle University on the MRes. Digital Media course. I’d love to try them out and see the code for these patches to try to work out how you built them. Can you post the code online?

    All the best,


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s