« back to list

MIDI controller

The goal is to control my guitar gear when playing, using the MIDI standard.


When moving to Texas in January 2017, I brought as much as musical gear as I could: guitars, amplifier, multi-effect processor, some pedals...

In 2009, a friend and I decided to build a MIDI footcontroller, that allowed me for 7 years to control my gear when playing, but unfortunately, it didn't fit in my luggage. My friend suggested "Why not build a new one?" when I told him that the one I wanted to buy was a bit expansive... This is how this project started. It might cost me the same price at the end of the day, but now I'd have the fun part too!

The first version was built with an AVR microcontroller, and the firmware has been written in C.This time, I would do it by myself, hardware and software... I'm not that comfortable with C, so I bought a Raspberry Pi (to run the software part with Python) and started to play with it: the idea was to control my processor with the Pi. I also opened a CAD software for the first time in about 8 years, to design the enclosure. To my surprise, I found my marks back pretty quickly!

Screenshot of the part made with CAD.

Thank to some online tutorials, more or less documented, I managed to build a small Python script which allows the Pi to read and send any MIDI messages.

raspberry-pi-midi-in-progress
Playing with the Pi and MIDI messages.

I decided to build a MIDI library for Python 3, as I couldn't find a good one. Starting from scratch, I published it in Febuary 2017, you can find it here, it's open-sourced. 

My main occupation now is to use the LCD screen I bought, and it's much more difficult to me... On the previous version, we only mounted 7-segment displays, so the work done at this time is not usefull for this project. I spend a lot of time reading the docs, since I'm not very comfortable with this kind of hardware or lower level software. I learn a lot, but my progress building the controller are quite slow, obviously... I managed to draw some lines and circles, which is a good start, right? ;)

Luckily I've found this library for Python that helps me a lot, even if I rewrite some parts of the code to suit my needs better, and to be compatible with Python 3.

I will keep this section updated as the project evolves. Luckily, all should be done by summer 2017.


MIDI controller



« back to list