SirenAudioBlog / maxforlive

M4L Device: SA.Drift

Drift is a simple Max MIDI Device that applies a variety of modulation types to vary the pitch of incoming MIDI notes using pitch bend messages. It's useful for adding subtle, organic variations to harmonic parts. 

Drift has the following parameters:

Trigger Type : When Retrigger is enabled and a MIDI note on message is received, the phase of the modulation waveform will be set to zero. When set to free, the modulation oscillator is free running. If the Sync type is set to ‘Sync’ and the Trigger Type is set to ‘Free’, then the transport must be playing in order to hear the modulation effect.

Sync Type : This menu sets the modulation frequency type. The frequency may be a free value (Hz) or synced to the current BPM (Sync).

Modulation Polarity : This menu sets the polarity of the modulation. This can be set to plus or minus values (oscillating around the center frequency), or just plus (above the center frequency), or just minus (below the center frequency).

Modulation Waveform Type : This menu sets the modulation waveform shape. There are sine, square, sawtooth, triangle, and random waveform types.

Modulation Waveform Frequency : This dial sets the frequency in Hz of the modulation waveform.

Modulation Waveform Sync : This dial sets the note value frequency synced from the current BPM.

Modulation Depth : This dial controls the amount of modulation applied to incoming MIDI notes.

Jitter Depth : This dial controls the amount of random noise (or jitter) applied to the modulation.

Here's a short demo of the device with Ableton's Operator synth:

*Note that if the device is turned off, the pitch of the instrument device may be above or below it’s standard pitch.

You can download the device over at the Max for Live database: 






Read more →

M4L Device: SA.Wash

Wash is a Max Audio Effect that uses comb filters to create a reverb style effect. The aim of the device is to create dense washes of sound (akin to a watercolour wash).



  • del fb (delay feedback) : determines the amount of feedback, with higher values producing longer sustains.
  • del time (delay time): changes the length of time of the delay.
  • mod freq (modulation frequency): controls the frequency of the sine wave modulation oscillator. 
  • mod depth (modulation depth): changes the depth or amount of the modulation. 
  • jitter var (jitter variation): This modulation stage uses low pass filtered white noise, and the variation sets the cutoff frequency of the lowpass filter, with higher values producing more erratic variation. 
  • jitter depth: This parameter controls how much jitter is added to the delay time.
  • low cut: attenuates low frequencies from the effect
  • damping : attenuates high frequencies from the effect.
  • dry wet : fades between the dry and effected audio signals.
  • ef. gain (effect gain): scales the gain of the effect. This parameter is useful when the effect has high feedback settings as the volume can build up quickly.
  • clear button : In between the final two parameters is a button that will clear audio from the delays.

Note that changing the delay time, jitter, and modulation parameters will affect the pitch of the effected audio. 

Here's a short demo of the device with Live's Analog synthesiser device:

Here's a link to the device at the Max for Live database: 
Read more →

M4L Device: SA.Puck

Puck is a Max MIDI Device that allows you to use one note to output multiple notes that are currently held. The basic idea behind the device is to be able to play chords using one note. The device uses the [mxj] object so you will need Java installed for it to work.
The first parameter is the Trigger Note. This allows you to select the note that is used to trigger currently held notes. By default this is set to C-1. This is quite a low note that you're unlikely to use when playing or creating chords. The 'P' square will be highlighted green when the trigger note is being held.
The second parameter Velocity Percent, allows you to specify how much the Trigger Note's velocity will affect the output notes. When set to 0, Puck outputs the velocities of the held notes, and at 100% the notes will be scaled to a range of 0 - 1.5 times the original notes velocity.
There's also a small green button in the bottom right hand corner which will send a send note off messages for any stuck notes. Here's a little demo of the device, note that Puck will only trigger notes that are currently being played. You can see this demoed at around 1:20:
You can grab the device over at the Max for Live database: 
Read more →

Composition Sketch with Max for Live

Recently I made a little musical sketch that used a field recording of fireworks. I wanted a drone to be triggered whenever a loud firework happened. This was easy to do using a gate device, with the side chain input being audio from the track with the fireworks on. I also wanted another element - a synth to play notes from a scale, using the same process of having the fireworks trigger the notes. There isn’t an inbuilt Ableton Live device which does this, so Max was the obvious choice.

There are three different types of Max for Live devices, MIDI Effects, Audio Effects. and Instruments. What I needed was a hybrid of an Audio Effect device and an Instrument device, since I wanted to analyse the audio, then send a MIDI note to a device on the same track. There isn’t a way of doing this as far as I'm aware, so I chose a combination of an Audio Effect on one track for the analysis, and a MIDI effect on a different track to receive MIDI notes.

I created a little device to look for peaks in the amplitude using Max/MSP's peakamp~ object. I then set a release time, or the minimum time between peaks/notes, and used Max's keyboard display to draw a scale. Then I made an option for playing the scale repeatedly upwards, downwards, or randomly, and finally added a note length parameter. It was all pretty rushed, but here's the basic user interface.

This music is just a little sketch, and will probably remain so, but it shows how easy it can be to do things that would have been a bit more complicated before Max for Live. 

Read more →