Ableton Quick Tips: 17
Here's an alternate way to side chain tracks without using a compressor.
DIY MIDI Controller for Ableton Live
In this article, we’ll walk you through building your own controller for music production/performance in Ableton Live!
We'll be turning an Amazon delivery cardboard box into a Hardware controller using 4 knobs, 4 buttons, and a Joystick, with the help of an Arduino Microcontroller, and Ableton’s Max for Live.
Watch this video to learn how, and follow along with the instructions written out below!
What you need
A Breadboard (69 INR)
Arduino Leonardo Microcontroller with USB Cable (749 INR)
4 Resistors (10 INR)
4 Push Button Sensors (100 INR)
4 Rotary Potentiometers ( 130 INR)
Plastic Knobs for Potentiometers (50 INR)
XY module (Joystick) (55 INR)
Ableton Live Standard or Suite (9 or higher)
Arduino IDE (software)
Du Pont Jumper Cables - Male-Female (60 INR)
Du Pont Jumper Cables - Male-Male (55 INR)
Loose Jumper cables (89 INR)
Amazon Cardboard Box
2 L Clamps with screws [cheaper to buy from a local hardware shop] (20-30 INR)
Glue gun (170 INR)
Prerequisite Softwares on your computer
Step by Step Guide:
A good place to start is by testing if all our equipment works! So we'll start by wiring our sensors while understanding how they work.
Connecting and testing the Sensors
This ensures that the power supply is distributed across the rows.
Notice that the outer left & right pins of the potentiometer go the -’ve and +ve rows respectively. Don’t worry if the order is reversed. This basically powers up the Potentiometer.
We need 3 jumper wires and a resistor for every button we connect as described below.
This ensures that when button is pressed, current flows across the button, and the digital pin should receive an ‘ON’ message.
Joystick pins from left to right - Ground, 5V, X pin, Y pin, button.
We only need the first 4 pins here. The joystick can be understood as 2 potentiometers mashed up together, one in the X direction and the other in the Y direction. They share a common power supply. Thus, moving the joystick knob can vary the live readings from both X and Y pins.
Once uploaded, this code will sit inside Arduino's memory. The Standard Firmata code prepares the Arduino to easily communicate with external devices and softwares; in our case we use this to pair with Ableton's Max for live device.
The Arduino device is part of the Max for live Connection kit. It has been deviced to communicate with the Arduino inputs and outputs via the serial usb ports, and interact with parameters within Ableton Live!
Here, we see two tabs Analog and Digital. Analog refers to the set of 6 analog inputs on the Arduino Hardware. Digital refers to the set of 14 digital I/O pins. In our illustration, we had connected the potentiometer to A0, and the joystick pins to A1 and A2 respectively. We connected the Button as digital input 0.
This means we can control it with the potentiometer sensor connected to A0 on Arduino, and no longer directly move it. So try moving the potentiometer dial to verify.
Here we used A1 and A2 to map to arpeggiators Rate and Steps respectively.
In this case, we assigned it to the track on/off switch. Verify if the track stays on while the button is pressed.
Once we've tested and understood the connections for our sensors, we can prepare the cardboard housing!
Prepare the housing
Be sure not to set them too close as every sensor needs space for wires sticking out of them.
The holes to secure the joystick may be too slim for the blade. You can use a ballpoint pen or a screw driver to force tiny openings in the marked positions.
The Arduino will have to be connected to the USB cable for use, so make sure to stick it appropriately so the cable is easily accessible.
Install all sensors to the housing
Before you do place them, turn the potentiometer dials fully anticlockwise, and ensure that the plastic knob’s position indicators align in the same way as you place them.
It helps to pull out the cap for easy access.
This is to make way for the joystick wiring.
Wiring them all up
Now that everything is in place, it's time to wire up our sensors to Arduino via the breadboard. Refer to the first set of instructions under ‘Connecting and testing the sensors’ steps as a guide. The below schematic should give you a clear reference of how all these connections should look like.
Here we connect the 4 buttons to Arduino's digital input pins 0, 1, 2, and 3 respectively.
For every button, replicate what we did in the test connections parallelly. This means we'll need 3 wires and a resistor per button. Make sure you've cut sufficient lengths on the loose single lead jumper wires, for the 2 terminals on the button.
Your fingers will be swimming in a pool of wires when you're close to finishing!
Unlike soldering, hot glue works with plastic!
Use hot glue on every connection, on your buttons, potentiometers, joystick, and breadboard.
Finally, use the USB cable to connect the Arduino to your computer. The Program that you already loaded while testing should still be active, so there's no need to run Arduino IDE software again. Open Ableton, run the Arduino (max for live) device, and start mapping all your inputs to Ableton Live's parameters as we discussed.
That’s about it!
We hope this article helps you build and play your very own DIY midi controller! Also hope that you learned something about electronics along the way. Let us know if you have any questions or comments about making this in the comments below :)