Guide to using the project files
A selection of previous Max MSP patches can be found here. These show how the patch progressed.
Here the final Ableton Project, Max MSP project and associated samples and files can be found for our project.
As can be seen below, the Ableton patch is colour coded for conveniency and the loops are pre loaded. The bass, chord and melody tracks are grouped so that the effects chain is ONLY applied to the effects. This was done as rhythm or drums are usually the back bone to a song and effects like reverb would drown out the rhythm and thus the upbeat atmosphere of people using the installation.

The Max4Live instrument below is used on each of the tracks except the drums. Again, because these don’t need to be transposed. When a key change happens in a song, the drums won’t be key changed as these are a standard tone, they are un-melodic.

Below shows inside the Max4Live instrument. Our separate Max patch controls the number box at the top. This communication is possible through the use of the ‘udpreceive 7400’ object that recieves a signal over the network from the separate Max patch’s send. Changing the value of the number box changes the global transposition (key) of the 3 instrument tracks besides drums.
There appear to be two separate programming languages. One is simply Max MSP programming and the other is Max4Live programming, using API. These tutorials (here) helped us to understand the latter programming language.

The screenshot below shows all of the midi mapping that allows Max Msp to control Ableton Live’s features. As can be seen, there are 20 mappings for the 20 samples, a mapping for the tempo, 4 mappings for the random muter (volumes) and 1 mapping for the random effects.

So, to start, open up the max patch and follow the steps if you’re connecting sensors. Select loopMIDI from the drop down menu if you’re on Windows (You may need to download it here) or the IAC driver if you’re on Mac. We used 4 out of the 6 analog sliders shown, one of the group members used 2 other sensors for another project.

Then, if you come out of the presentation mode on the main window above you will see the path of code below. To set the port of all of the ports in the patch to the IAC Driver (or LoopMIDI) you will need to select from the drop down menu in ‘p port’.

If you go into ‘p comparison’ (by coming out of presentation mode) you will be able to find the inputs. ‘Speedlim’ and ‘change’ objects have been included but not used in the coding paths as these are optional. These objects can be used in the paths to slow down the signal. Our installed gate seems to deal with this anyway. This is currently set to 100, so that the sensors are sensitive, but not sensitive enough to trigger other sensors that are on a nearby Twister mat spot.

If you are ever having any problems with Max and Ableton communicating, it is worth checking that the Ableton Midi ports look like below.

The 2 screenshots below show inside ‘pspot1’ where most of the programming is held. All of the ctlouts should be set to the IAC Driver Bus 1 or LoopMIDI. Above the coloured panels is the other gate that stops the spots being triggered too mud, if for example, someone holds down on one of the spots. Below is the coding for each of the 4 spots at the top of the mat, red (tempo), blue (key), yellow (effects) and green (mute).

Below shows where all of the sends from ‘p comparison’ are being received. To the far left of the code is where each of the end ‘effect’ spots are, with the udpsend object sending the signal for the key randomiser, to the pre-made Max4Live instrument.

A nifty feature of the patch is that ‘p spot1’ all collapses down to the 24 buttons in presentation mode, represented as bangs. From here you can control Ableton and all of the top buttons, mute, effects, key and tempo. This is essentially the control panel.










