Soundstack 2018 Workshop

Becky edited this page Oct 5, 2018 · 6 revisions

This workshop has four parts:

  1. As a warm-up (after all, it's a 10am start), the first part is a quick intro to help you get familiar with the basics of coding with Pure Data.

  2. Then we'll move to working with Pure Data on Bela.

  3. We'll then dig into the spatial audio theory and render a binaural scene with Bela. You can find the slides here.

  4. Time permitting, you will have the opportunity to make different types of paper sensors and attach them to Bela Mini in order to control the binaural rendering from Pure Data.

This workshop is part of a research project run by the School of Electronic Engineering and Computer Science at Queen Mary University of London. Your prototypes and questionnaires will be used along with photos and videos of the workshop to help us better design tutorial materials for makers wanting to work with digital tech.

If you are willing for us to capture this data for our research, please be sure to sign one of the consent forms. Likewise, if you would prefer to not be included in photos shown publicly, just let us know.

What is Bela?

Bela is built on top of Beaglebone Black, an embedded Linux platform. In other words, it is a full, small computer, similar to a Raspberry Pi. It is like a laptop without a keyboard, mouse, or screen attached. Bela is a custom operating system and an circuit board which sits on top of the Beaglebone Black.

There is a now a smaller version of the board called Bela Mini based on the Pocket Beagle. This is what we'll work with today.

(Yes, Bela is a commercial product - you can buy your own here. It started as a research project at Queen Mary University of London.)

Intro to Pure Data

  1. Getting started with Pure Data

  2. Download the examples Pure Data patches

  3. On your computer, open up 1_Playing an Audio File in PD.

  4. Opening the file causes some errors to appear. This is because the patch is using abstractions that aren't in the standard Pure Data library. We need to add the folder of downloaded abstractions to Pure Data via the Pd (on Mac) or File (on other OSes) -> Preferences -> Path... menu.

  5. Returning to the Pure Data patch, change the audio sample being played to a different file. There are a selection of wav files included in the abstractions folder that you can choose from.

Pure Data on Bela

Here is the full documentation for building Pure Data patches on Bela. We will be using the IDE (not following the instructions for using Heavy).

Key things to remember:

  • When you create a new project, but sure to say you want it to be a Pure Data project. It defaults to C++ projects which then will ignore any Pure Data patches.
  • The patch needs to be called _main.pd. It's highly recommended that you added a comment in the patch to help you identify exactly what that patch is supposed to do. Your computer will start filling up with a multitude of files all called _main.pd.
  • Whenever you want to edit the patch, you edit it in Pure Data on your computer, and then you need to upload (or drag and drop) the patch into the Bela IDE in order for those changes to be made on Bela.

Using an IMU with Bela

The Bela On Ur Head Project has all the source code for the IMU handling.

We will work with the IMU Synth (Pd) Example.

Binaural Audio Rendering on Bela

The virtual vector-based amplitude panning implementation on Bela was primarily written by Rishi Shukla, with the Pd hooks written by Becky Stewart. The source code can be found on Github.

Sensor Tutorials

These are the sensors you can build. You can make as many or as few as you would like.

Light sensor with a light dependent resistor

Piezo vibration or (some) movement sensing

Reed switch magnetic field sensing

Velostat pressure sensing

Paper slider

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.