Audio + MIDI Player using the pico_synth_sandbox Library

A major goal of mine in live performances has been to synchronize backing audio tracks and midi playback for controlling music devices such as drum machines and synthesizers. In the past, I achieved this goal using the Raspberry Pi 3 single board computer (SBC) with Raspbian and Python (check out Octopy). This works relatively well, but it comes with quite a long boot time, a lot of processing overhead, and always a bit of uncertainty.

It occurred to me the other day that with the latest revision of the pico_synth_sandbox, it technically has all of the hardware in place to make this magic happen without the need of a hefty Linux install. Stereo line output, Midi UART output, SD card storage, and a handful of physical controls to boot, something that the Octopy lacked.

This is still a work in progress, but I’ve cobbled something together using a simple midi parser library and standard CircuitPython functionality. Audio playback works great so far, but I am currently running into some issues with asynchronous midi playback. I encourage you peek over the code and maybe try it out yourself!

I have a number of ideas to make this run better and have more features, so this is likely not the last update on this topic.

Posted on

in

by

Comments

Leave a Reply

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