A breakdown of my Max For Live Devices created so far…


For the Max For Live devices that I have created so far, I’m going to give a simple breakdown of each one, describing how they work, what Max objects I used, and how I manipulated them to create the effects that I wanted.

Chorus Noise Maker


This device started life as a relatively normal and basic chorus. For this device, I used the ‘teeth~’ object, which is a ‘Comb filter with feed-forward and feedback delay control’. Using this object with a small depth, delay and rate, you can create a rather subtle chorus effect. But when experimenting with the parameters, I discovered if you use large depths, rates and delays, you can create an extreme modulated sound. This can be emphasised further with large feed-forward and feed-back values, which can destroy the sound entirely. To represent this destruction of sound, I called the feed-back knob ‘Death’  and coloured it red. Turning this knob up ever so slightly feed-backs the sound to the point where it becomes a loud continuous tone, which can be manipulated further by adjusting the rate and depth knobs, to change the pitch of the sound, and also the harshness of the sound. To allow the delay knob to work, I had to turn the delay time value data, into a value that can be used with the ‘teeth~’ object. To do this, I used the ‘sig~’ object, that converts numbers into audio signals. This ‘sig~’ object is also being used in conjunction with the with the Rate and Depth addition object, to make sure that the extremity of the delayed signal is controlled by the depth.

Springy Verb

From the very beginning of my device creating journey, I wanted to create a reverb device. However, I knew this was very much out of my depth. After much research, I discovered an old Max object called [yafr] (Yet Another Free Reverb), an object that creates a spring reverb effects using many different filters in a very complex setup. [yafr] doesn’t exist in the newest version of Max 7, so I had to find the code online, and open it up in a patcher within a M4L device, which worked perfectly. I setup dials for each of the parameters that are a part of the reverb object, and adjusted them accordingly to settings that I deemed usable and pleasant in sound. This device was the first time I used a Dry/Wet dial also. I did some research into how to create a Dry/Wet setting, and used a setup created by a user on the cycling74 forums. Finally, to make this device my own, I added a filtergraph~ object. This allows the user of the device to filter the wet signal of the reverb, colouring the reverb to their specific needs.

Stereo Ring Modulator


This was the first device that I created. Originally I was trying to create a tremolo effect, but I accidentally created a ring modulator. This effect is created by modulating the input audio, using a multiply object, with a sine wave that is created with a ‘cycle~’ object. Connected to the cycle~ object is a dial that changes the frequency of the sine wave, changing the sound of the ring modulation effect. When I first created the effect, it was in mono, meaning that effect affected both the left and right channel simultaneously. To make the effect a little more interesting and creative, I duplicated the multiply and cycle objects and wired them up in a way so two different setups were affecting the left and right channel separately. This means that two different sounds can be created at once in stereo.



Rather than rely on using Ableton’s Auto Filter plugin, I decided that I would create my own simple multi-filter device. Within Max, there is an object that exists called ‘svf~’, which is a ‘State-variable filter with simultaneous outputs’. This object allows for four different types of filtering: lowpass, highpass, bandpass, and bandreject (notch) and has the ability to switch between them using the devices multiple outputs and a selector~ object. The object also allows you to control the frequency, as well as the resonance, which I control within my plugin with two dials respectfully. To switch between the different filter types in a graphical manner, I used the Max For live feature ‘live.tab’. This represents the different filter types as pictures, rather as text, showing the user directly what that specific filter does to the sound. The live.tab numerical data in regards to the pure data it outputs begins at 0 and ascends upwards. For it to work perfectly with the selector object, we need it to start at 1 rather than 0. This can be done by simply using a + object, simply adding 1 to the to live.tab output. To make the device a little more unique and visually appealing, I added an ‘spectroscope~’ object, and coloured it to my chosen aesthetic that exists across all my devices. This shows a spectrometer display of the output coming from the filter selector, showing the user what effect the filter is having on the sound in a visual and pleasing way. I also use this same idea on the ‘Wonderful Times’ device.

‘Wonderful Times’ 

This device is most likely the most interesting out of all the devices I have created, both in usability, but also in terms of use in an interactive live performance. It is a delay plugin, but has buttons generating random delay times and dry/wet values. The buttons aren’t labeled so it isn’t immediately clear what the buttons actually do, it’s only once the user begins to experiment do they come to realise their function. The values can not be changed, nor are they displayed to the user once generated. I feel this is a great feature for a improvisational performer, as they rather than play with the delay, they have to play to the delay so to speak. The delay itself is very simple, using the basic ‘tapin~’ and ‘tapout~’ objects. The delay time value, which is fed directly into the tapout object is generated using a button object and a ‘random~’ object, which I set a numerical limit on, limiting at 1000. This means that the maximum delay time that can be generated is 1000ms. I also did the same with the Dry/Wet value, but of course set the limit to 100, allowing for a range of 0 to 100%. This device also has an adjustable feedback dial. All of the delay portion of the wiring exists within a patcher, just to allow for easy navigation and editing of outside features. As mentioned in the ‘Frequensea’ device text above, I used a custom coloured spectroscope- object to show the delay effects to the sound visually.

Broken Chip Delay

In terms of design, this device is very similar to ‘Wonderful Times’, but has a few key differences. The main one being that the delay time and the Dry/Wet value is adjustable using dials, allowing the user to set their own values for these parameters. The other key difference is that this device also has bit-crusher effecting the delayed signal, which it’s severity can be adjusted using a dial also. To create this effect, right at the end of the wet signal path, I inserted a ‘degrade~’ object (an object that reduces the bit-rate and sample rate of the audio it’s fed), with the dial connected to the sample rate parameter of the object. Like with ‘Wonderful Times’, the delay and bit-crush portions of the device exist within a patcher for the same reasons as said device. For some more interesting visual aesthetic, I implemented a custom coloured ‘scope~’ object, to show what effect the bit-crusher has on the signal visually.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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