pyMPC - a portable, raspberry pi compatible, open-source music production center

This is a project that started in 2019 and has blossomed into a personal journey exploring user interface, digital signals processing, music performance and just what's possible with python numpy arrays. Most of all, this has been one of the most fun technical projects I've worked on.

It all started off with my Senegalese Sabar Drumming Teacher, Lamine Toure, asking for something to help him practice Sabar on his own when his fellow drummers weren't around.


I wanted to create something that had no screen, was easy to use, and completely portable. Something you could just bring to a park and jam on.

I started by seeing if I could make a basic sequencer in python, something that could play back a variety of complex Sabar rhythms and get that running on a raspberry pi.

I very quickly realized I could interface the sequencer up to a Quneo and start looping any sounds and the MIDI I/O of any device hooked up.


Next, I built an automatic sampling interface with onset detection. Sampling sounds usually requires a lot of software and patience. Just being able to plug in my phone, play a video, and drop it in as samples onto the Quneo has been freeing of time, and of effort and mind.

After creating something that layered loops of sounds played in live, I realized I can do the same thing, but sample audio from videos, and automatically export music videos from the looped audio sequences. Here is a video of someone using a hand loom, remixed automatically using live-played looped audio sequence.

From there, I realized I can split this software into three separate pieces: The Sabar Beat Machine (for my teacher), Music Video Remix (to remix all my friends videos), and a portable Raspberry Pi Jam machine I can take into the woods.

I've written 1000's of lines of code for this project and it still feels like I'm at the start of a longer journey of building custom hardware to go with the software and creating new fun ways to connect with the people around me. This is just the beginning.