Arcade Series

The Arcade Series is a collection of MaxforLive Generative Sequencers that can be used on their own or integrated with Ableton Live supported controllers. Designed and created by Ableton Certified Trainer Mark Towers each device takes it’s inspiration from the hours spent in front of flickering screens down the local Arcade.

The Arcade Series is available from Isotonik Studios

Each generative sequencer works in standalone mode or can be controlled directly by the Ableton PUSH & Push TWO or Novation LaunchPad & LaunchPad PRO!




Notes are played when Asteroids collide, add more Asteroids for more notes and turn on the Ghost Machine for Echo Notes…

Operational in Note or Drum Rack mode you can use multiple versions of the device with different instruments and create a track from scratch.

With control over the direction, path and speed of each asteroid you can quickly come up with some madly addictive melodies and rhythms.


Next up is PolyPin a Polyrhythmic Performance Sequencer inspired by Pinball. Up to 8 sequencers run in sync or independently using specially developed sequencer modes:

  • Probability for creating random chance based beats.
  • Euclidean for exotic polyrhythmic patterns.
  • Classic for retro 16 step sequencing.


Inspired by the Gameboy classic, we use the blocks principle to create Chords and powerful Arpeggiator sequences.

With device lock now common to all of the Arcade Series you can have your Ableton Push playing Tetriq whilst your LaunchPad smashes PolyPin around!


The original device that acted as the inspiration for the whole series, this is based on the classic Atari game, simple to set up and a breeze to use. Instant Generative Sequencer joy!

LEGO Mindstorms + Ableton Live

The LEGO Mindstorms/Ableton project was commissioned by Ableton in 2017. The brief was to build interactive robots using LEGO Mindstorms that can communicate with and control Ableton Live.

As well as the robots, we also built custom Max for Live devices for each one providing special functionality in Ableton Live. These Max for Live devices work in conjunction with the Max for Live Connection Kit that communicates with the Mindstorms brick.

ConnectionsKit M4L

Automator EV3

Automator uses one of the large Mindstorms motors and a proximity sensor to measure the distance between a moving ball and the sensor. The transport and speed of the motor can all be controlled by clip automation in Ableton Live. The output of the sensor can be mapped to up to four parameters in Live using the Live API. Minimum and maximum values can be set and also inverted.

Automator EV3

Automator M4L

Camera Synth EV3

Camera Synth uses the Jitter objects in Max to take snap shots of webcam input of a 16 brick wavetable. This is then converted into a buffer~, essentially acting as a simple wavetable oscillator. Users can create their own wavetable by rearranging the LEGO bricks and placing it under the camera ready for capturing.

Camera Synth EV3

Synth M4L

WACK3M Chords EV3

WACK3M is one of the LEGO tutorial builds. It is a version of the Whac-A-Mole arcade game. We built a custom generative chord generator for this which is triggered whenever a strike is detected. WACK3M is free-running, but we have implemented an optional quantiser in the Max for Live device to keep things synchronised.


Chords M4L

Sequencer EV3

The sequencer is built with one of the large motors to create a rotating melodic step sequencer. The interchangeable red and white feet pass under an RGB sensor to trigger different velocity note hits. The Max for Live device is quantised to a set scale and note range which the triggered hits will iterate through randomly.

Sequencer EV3

Sequencer M4L

Pendulum EV3

Pendulum uses a proximity sensor at its base to detect the moving weight and send timed pulses to the Max for Live device which converts it to tap tempo information using the Live API. By setting different heights on the pendulum, different tempos are possible.

Pendulum EV3

Pendulum M4L

Theremin EV3

The Theremin was built using two of the Mindstorms Ultrasonic Sensors. They have been configured to work in proximity mode. The distance measured between users hands and the sensors controls pitch and amplitude on the Max for Live device. Pitch can be quantised to a set key and scale or in classic mode where there is no pitch quantisation.

Theremin EV3

Theremin M4L


A very special thank you to Andy Jenkinson for the collaboration on this project.



PRZM is an Animated MIDI Lightbox. Up to 4 people can play to generate a semi-random improvised musical jam.



It uses robust, arcade-style buttons mounted on the sides to trigger sound and light at the same time. Triggering a button will send pitch messages out to a MIDI compatible software/hardware instrument. In the current installation, Ableton Live is being used with custom instruments and MIDI effects that manipulate the MIDI data being generated. Animated light patterns display through the tinted black perspex top layer. These have been created with Neo Pixel Digital RGB strips which allow for programmable colours and patterns to be triggered via an Arduino Uno board.

An Arduino Uno is being used as the central brain for the entire system. It processes the code to trigger both MIDI note data and the Neo Pixel patterns. It is also recognised as a class-compliant MIDI device which means MIDI data is sent over the Uno’s standard USB connection.



To generate the necessary MIDI code, the MIDI library for Arduino is being used. Each button is connected to a digital pin on the Arduino board and is hard-coded to trigger a specific MIDI note between C1-G1. The notes being triggered for this installation are not important as these are further modified in Ableton Live.

To generate MIDI data over a USB connection, the HIDUINO firmware is being used to build a class-compliant USB-MIDI device from an Arduino UNO (this also works on the Arduino MEGA 2560). Once the all of the required code is on the Arduino, controlling both the Neo Pixels and the MIDI data, the Arduino is flashed with the HIDUINO firmware after which it is then recognised as a stand-alone MIDI device by a computer.

Neo Pixel Strips

The Neo Pixel strip has 60 digitally-addressable pixel LEDs per meter. Each RGB LED on the strip can be customised to create various patterns via the Arduino code. The main strip has been cut into four smaller sections, each one connected to its own dedicated digital pin on the Arduino Uno. This allows for easier control over the separate strips from within the code.



The code generates a chase routine with a cyclic colour wheel running throughout. This is triggered and cleared with each button press. A layer of frosted white material is being used to diffuse the light being generated be the Neo Pixel strips allowing it to spread more evenly across the stencil cut shapes above.

Ableton Live

MIDI notes are transmitted into Ableton Live across 8 separate tracks. Each track contains a customised instrument and makes use of the standard MIDI effects for processing. Each instrument has been grouped to an Instrument Rack as this allows the Key Chain to be used to isolate a specific MIDI note to trigger the instrument (essentially filtering out all other MIDI notes).

An example of a MIDI Effect chain can be seen below where a single note is capable of triggering and iterating through a number of different notes (Random), quantised to a specified scale (Scale), have notes added (Chord) and finally transposed (Pitch) before being sent to the instrument (Operator).



As each PRZM player has only two buttons to interact with, more emphasis can be placed on what those buttons are doing. In the example below, two instruments are being triggered with a single button using a similar method as above, but they are separated via parallel chains and make use of the Note Length MIDI effect. Using the ‘Trigger’ option, the second instrument is triggered with a note-off message. This means a note from instrument 1 is triggered when pressing a button, and a note from instrument 2 when the button is de-pressed. Customising the envelope settings in the instruments can also be useful here to determine variation between short and long presses.











Working with Live’s MIDI effects have made the PRZM a fun and interactive musical tool as they allow each track to have its own unique behaviour whilst conforming to musical attributes such as scale and tone.


A special thank you to some people who made PRZM possible:

Jim Frize of Sonodrome

Paul Mazzitelli of R10

Hannah Cooper


Leicester Ableton User Group – Live 10 Meetup

Join us for our first official meet up of 2018 as we show off the new features in Live 10 which is being released in February.


Ableton Certified Trainer Mark Towers will be on hand to guide you through some of the new features of Ableton Live 10. This workshop will include techniques for composition and performance with a focus on some of Live 10’s new devices, workflows and Push integration. more details on the upcoming release of Live 10 can be found here:

We are also very please to invite James Kelly along for a very special workshop:

As a turntablist for the last 15 years, James Kelly’s music explores the remixing of vinyl using DJ scratch techniques for the creation of new music. James will discuss how he takes influence from both Hip hop turntablism and experimental music practices when approaching the turntable for composition and performance. The workshop will explore locked grooves in DJ’ing and composition. A locked groove on a vinyl record is a closed groove, which traps the turntable needle creating a short repeating passage. They have been used by a range of artists from the Musique concrète of Pierre Schaeffer to the Detroit Techno of Jeff Mills. Participants in the workshop will experiment with mixing locked groove records and creating new locked grooves, by placing stickers onto existing records causing the sound to loop.

Check out more of James’ work here:

After both workshops, we invite you to take part in a Link jam. Simply bring your Link enabled devices, plug and and get your groove on. What is Link? Details here: 

Saturday 27th January 2018
14:00 – 17:00

52a Market Place,

Facebook Event

Multi Analyser

What is Multi Analyser?


Multi Analyser is a simple frequency analysis device that allows up to 4 tracks to be viewed and measured in a single device. This can be particularly useful when mixing as it will allow for problematic/clashing frequencies to be visually identified and compared to each other.

Live 10

Multi Analyser makes use of a new feature of Live 10 whereby Max for Live devices now support multiple audio inputs and outputs. Inputs and outputs can be accessed via the track’s input and output channel choosers. Devices can also be routed to arbitrary tracks via the Live API.

This means that as well as hard routing a tracks output to a Max for Live device or routing content of a Max for Live device out to dedicated track input, we can also grab the output of a track and send it into in Max for Live Device without disrupting its current signal flow (i.e. to Master). This is great for analysis and measurement tools but also it allows Max for Live devices to have side-chaining functionality, which was previously not possible.

System Requirements

Multi Analyser requires Ableton Live 10 and a version of Max for Live will also be needed either with Ableton Live 10 Suite or Ableton Live 10 Standard with the Max for Live extension. Multi Analyser will not work in Live 9.

Download from Isotonik Studios

How does it work?

When Multi Analyser is placed on a track with an audio output, it will automatically use that tracks audio signal as the ‘current track’ frequency visualisation.

All tracks are monitored Post-Mixer.

Current_Track If the device is moved or copied to another track, it will update the current track menu. If this does not happen immediately, simply click the ‘R’ button to the right of the menu to reset.

The current track is represented by the pink line on the frequency graph:


CompareUsing the menus below, up to 3 more tracks from the current Live set are selectable and will be represented on the graph as yellow, green and blue lines respectively. Any of the four tracks can be bypassed using the coloured buttons to the left of the menus, A, representing the current track, B, C and D representing the comparison tracks.


The graph to the right of the device displays the frequency spectrum of the selected tracks in real-time. The X axis represents frequency measured in hertz and the y-axis represents amplitude measured in decibels.


At the bottom of the graph are some additional options for customisation:

Freeze pauses the display.

Line Controls the thickness of the lines on the graph.

Smooth applies a sliding function to the lines creating smoother, more gradual movements instead of faster peaks.

Frames determines the frames per second for display updates when visualising an audio signal.

Log/Lin switches the frequency elements of the graph between logarithmic and linear analysis.

How was it built?

The Multi Analyser device uses the Max for Live plugin~ object to route audio into the device from separate Live tracks. Each of the four inputs is first process using the Fast Fourier Transform (FFT), which translates audio data from the time domain into the frequency domain. The FFT outputs are then routed into a separate plot inputs on the plot~ object which allows for various two dimensional data to be visualised. Plot~ is essentially the multi analyser here and we have Cycling ’74 to thank for that.



One of the great new features in Live 10 is the ability to configure multiple inputs and outputs on Max for Live devices. To add functionality to a device whereby tracks in Live can simply be selected from the device itself, we need to explore Live’s API.

API_1Using a live.object that represents ‘this_device’ we can get the property ‘audio_inputs’. Providing we have a ‘plugin~’ object in the device, and in this situation, with four stereo pairs set up as arguments (1 – 8), the live.object will output an ID for each of the stereo pairs.

Using this ID with a live.object we can now get and set various properties such as which track’s audio output it is linked to and whether the channel routing is pre-fx, post-fx or post-mixer. Essentially, we can select any track in Live which has an audio output and route it to one of the stereo pair inputs on plugin~.

When making enquiries to our live.object that represents one of the stereo pair inputs such as ‘getinfo’, the results inform us that its properties are in the dictionary format (dict). This means we will need to use the dictionary objects to both interpret and format requests. Using dict.view can be very useful here to quickly check the properties of our audio input and what options are available.


Here is a more complete patcher from the device. A is being used to watch and report any changes to the tracks that are available in Live. The available tracks (available_routing_types) are stored in a coll object in the format of dictionary references. Counter is being used to create a numerical index for each dictionary reference. The list of available tracks is also being added to a (in the top level patcher).

When a track is selected in the it feeds an integer number back into this patch causing the associated dictionary reference to be outputted from coll. From there the dictionary reference is combined using prepend to create a message that reads “set routing_type dictionary u517000943” for example. This is sent to our live.object which represents one of the designated audio input pairs on our plugin~ object and voilà, we have changed our audio input.


Further Reading

Live Object Model (LOM)

What is Max?

Getting started with Max for Live

Max for Live Ultimate Zen Guide

Phoenix Interact Labs Bursary Project

As part of the Interact Labs Bursary Project I created a table top arcade system based on devices used in the Arcade Pack created with Isotonik Studios.

The installation uses a Launchpad Pro by Novation, 4 x USB NES style control pads and a modded version of the Asteroids device running in Ableton Live.

The interaction is loosely based on the game play of the original Asteroids arcade game and Bomberman. Up to 4 players control a single moving object around an 8×8 grid. Clashing with other players causes note triggers, pressing fire buttons drops ‘bombs’ which will also trigger notes and slow other players down.