How to Hack the TI BeagleBone Black to Make Your Own DIY Synth

by | Sep 4, 2014 | Best Music Keyboards & Synth Pads

The BeagleBone Black is a powerful and low-cost computer the size of an Altoids tin, and can become a DIY synth or effect unit. It can run Linux, a free and open-source operating system. With Csound, a real-time audio synthesis engine, custom synthesizer and effect programs can be designed and executed. While a USB audio interface can be used with the BeagleBone Black, the dedicated audio expansion board (an ‘audio cape’) is recommended to keep the single USB port free for MIDI devices. A powered USB hub is another option.

[Editor’s note: Csound is easy to learn but beyond the scope of this article. Helpful starting resources are appended.]

The following steps will guide the user through preliminary setup. This article assumes the user is working on a Mac computer and has some familiarity with the terminal. While there may be many similarities for Linux, Windows users will in some cases need to find alternate ways of accomplishing these steps.

Got to www.armhf.com/download to download a Linux distribution image. Flash it to a microSD card with a USB adapter:

xz -dc debian-wheezy-7.2-armhf-3.8.13-bone30.img.xz | sudo dd of=/dev/DISKNUMBER bs=1m

 

DISKNUMBER can be determined by looking at the output of:

diskutil list

After it’s finished, slot the card into the BeagleBone Black.

Plug an Ethernet cable into the BeagleBone Black and into a router. Plug a FDTI adapter into the BeagleBone Black’s six-pin header. One can be purchased from Sparkfun (www.sparkfun.com). The header on the Sparkfun adapter will need to be bent so that it forms a ‘T’ to get it onto the device.

Apply power to the Beaglebone Black while holding down the ‘boot from micro SD’ button above the card slot. Open up a terminal window, and use the screen command to log in with the credentials below.

screen /dev/tty.usb* 115200

login: debian

password: debian

Run the following commands:

sudo su

apt-get upgrade

apt-get update

apt-get install csound

apt-get install alsa-utils

apt-get install vim

 

Once these steps are followed, the user is able to start coding synthesizers and effects with Csound, and execute them on the BeagleBone Black. Any connected class compliant audio and MIDI devices are available to Csound.

Ideas include a custom drum machine triggered by a MIDI pads, or a standalone synth unit using subtractive, FM, additive, or waveguide synthesis methods. Custom effects can be created. In addition to unique delay and reverb effects, Csound offers advanced possibilities including phase vocoding, convolution, granulation, formant shifting, and control with chaotic models. These effects and synths could be controlled by MIDI as well as input audio. Factoring in the BeagleBone Black’s capacity for input sensors through its GPIO and ADC pins makes for some extremely interesting musical possibilities.

If further instruction is desired on how to create synthesizers and effects with the BeagleBone Black the article “BeaglePi” in Issue 18 of the Csound Journal is highly suggested reading: http://www.csounds.com/journal/issue18/beagle_pi.html. In addition to the BeagleBone it provides detailed instructions for the Raspberry Pi. This article will further guide the user in advanced audio setup, code optimization, and standalone operation of their DIY synth or effect.

ADDITIONAL CSOUND RESOURCES

FLOSS Manual: http://www.flossmanuals.net/csound

Csound Reference Manual: http://www.csounds.com/manual/html/index.html

The Csound Book: http://mitpress.mit.edu/books/csound-book

Csounds.com: http://www.csounds.com

Csound Journal: http://www.csounds.com/journal

ABOUT THE AUTHOR

Trev Wignall, 22, is a violinist and music technologist. His interest in music technology originates from a desire to greatly expand the expressive range of the electric violin. Hacking and building with open source hardware and software also enables Trev to create multifaceted music performances that involve sonically reactive video and lighting. An avid lecturer, Trev has given talks and seminars on synthesis, embedded systems and electronic performance at Berklee, The Governor’s School of North Carolina, and the 2013 International Csound Conference. He writes and performs electronic music, and in his spare time he enjoys learning about the natural and social sciences.