Many artists will use looping stations to slowly build up an entire song in real-time as they play, recording one track at a time. There are plenty of great examples of this on YouTube. This project will show you how to use a BeagleBone Black, sound card, Python, and Pure Data to build an audio looping station for use with instruments. This looping station will allow you to build a loop, alter tempo, and adjust the loop as it plays. You’ll also lay the groundwork for building very complex synthesizers and effects pedals using the BeagleBone and Pure Data.
Pure Data (Pd for short) is the programming language that the looping software is created with. It’s a visual programming language that is representative of the wiring of early synthesizers. Software written in Pure Data are called patches. This project started with an existing patch but was modified to fit the new control scheme you will build for the BeagleBone. The patch was modified to remove extra features and enable it to speak to other devices on the network.
Pure Data is also the base software that you would use to create, edit, and debug patches in its graphical user interface, or GUI. You’ll also download Pd-extended, which adds some additional functionality to Pd that the looping software will use. Presently, Pd-extended doesn’t work well with ALSA sound drivers on the BeagleBone, so you’ll switch over to using another sound server.
NOTE: There have been a few revisions of the BeagleBone Black since its initial release. If you have the recently updated revision C board, you can skip to Step 3 to install the software directly onto the onboard flash memory (eMMC). The revision of your BeagleBone Black is indicated next to the barcode on the sticker on the side of the board.