Arduino Based MIDI Volume Pedal

- by - in Music

Arduino Midi Volume Pedal

MIDI keyboards have a plethora of features to control the sound, but there’s one parameter that’s often missing – volume control. As MIDI keyboards are designed to connect to a synthesiser or computer, this control is often left out. Certain styles of keyboard sounds are not velocity sensitive, and require a volume pedal to adjust the level of the sound. A famous example is the organ. Digital organs have a ‘swell pedal’ to adjust the volume of the track while playing. Some of the higher-end MIDI synths have a jack input for volume control, which you can hook a pedal in to, but what if your keyboard doesn’t?

One option is to buy a volume pedal that outputs MIDI data, however, as with most niche equipment, these are very expensive if music is more of a hobby than a job. The obvious answer is to make one your self. Keith Neufeld has done this with his own MIDI volume pedal project, based of an Arduino and an old pedal salvaged from an organ.

Many Arduino projects can output MIDI – all you need is to run the serial connection at a 31250 baud rate, via a MIDI socket (or USB if you use a board like the Teensy). You can read a value from a potentiometer, scale the value between 0 and 127, and output the MIDI data controlling what every program number you like. This way you can use any knob, slider or sensor to control your MIDI synth. The pedal that Keith salvaged uses exactly the same principal to send data – it’s basically a variable resistor, where the resistance changes depending on the position of the pedal.

Reading the value from the pedal is as simple as hooking it up to an analog in pin, and reading the value. There are loads of Arduino MIDI libraries out there for creating MIDI data, but if you are just sending a single value, you can just send the MIDI data bytes directly.

This project is a great idea for those who want more control over their synthesisers. You can change the MIDI message to control any parameter you want. Maybe you can set it control the filter cutoff or reverb time. Using this pedal frees up both hands to do what you are meant to – play the music.

Keith has detailed the build on his blog, including schematics and source code. Go check it out, and make your own.

Adam RogersAdam RogersI am the the founder and editor of Codeduino. I'm a developer by trade, and a maker by night. I've been 'making' ever since being introduced to Arduino at university - my final year project was an Ableton Live controller based on Arduino.


Leave a Reply

Your email address will not be published. Required fields are marked *