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.

WACK3M EV3

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


Aknowledgments

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


 

Leave a comment