We have just launched an extensive course on using Pure Data with Bela. This is part of the new tutorials section on our knowledge base at learn.bela.io.
Pure Data and Bela
A new tutorial series
This new course aims to explore some of the core tools and critical concepts necessary for building new interactive devices with Bela and Pure Data. Pure Data (also known as Pd) is the programming language at the core of this course, and is a data flow computer music language. It’s a visual, block-based language, and this type of programming can be easier to get to grips with than traditional text-based coding languages.
As you go through each part of the course you’ll become familiar with a number of different techniques for producing sound with Bela using Pd, while also learning to build a series of circuits for connecting different sensors and actuators. The goal is that by the end of the course you will have a good grounding programming Bela with Pure Data - how the Bela system works, how to sense different types of physical interaction, and how to create patches in Pd will create varied sonic output in response.
The course is structured like this.
Fundamentals: Course introduction, Hello sound, Editing a project, Introduction to the hardware
Connecting: Digital output, Digital input, Analog input, Analog output
Synthesis: AM synthesis, FM synthesis, Drum synthesis, Rubber duckie
Audio: Delays, Working with samples, Recording samples, Virtual string synthesis
Sensors: Capacitive sensing, DIY pressure sensor, Accelerometer
Communication: Oscilloscope, GUI visualisation, GUI control, MIDI, OSC
Advanced: Preparing for standalone, Custom render
Is this course for me?
This course aims to give artists, designers, musicians and makers of all types a good grounding in the tools they need to start creating with interactive sound projects, and the confidence to start creating their own projects. This course is designed for learners with no previous experience in coding or circuit building, though it’s also great for experienced Pd programmers who want to learn about using Pd to program Bela or expand their hardware knowledge. We will guide you through creating patches in Pure Data and build up circuits from first principles as we go.
What is Pure Data?
Pure Data, or Pd, is a free, open-source programming language that’s designed for making digital audio. What makes it different is that it’s a visual language; instead of writing lines of text like you do with most programming languages, you program in Pure Data by connecting different bits of Pd code - or objects - together in a graphical interface.
You can use Pd to program powerful and complex interactive digital audio projects that run on Bela, and it’s one of the main languages that Bela supports. If you are completely new to Pure Data then we suggest having a quick look at our Pure Data language guide where you will find a full overview of the language and where we also outline some of the key things you’ll need to know when using Pure Data with Bela.
Physical Interaction Design at Aalto University
The material presented in this course was first developed by Robert Jack for the Physical Interaction Design module at Aalto University Helsinki, Finland which is also taught by Koray Tahiroglu and Camilo Sanchez. At Aalto the teaching materials make up part of a master’s module that is taken by students from various backgrounds in the school.
What will I learn to make?
Here is a selection of the final student presentations for the course at Aalto University where this teaching material was first developed. These projects were developed over the course of just 3 weeks with all the students being new to Bela when the course began. You can see the full showcase here.
If you have a Bela starter kit you can get started right now. Add in some basic components to follow the full course.
Teachers get in touch
If you’re an educator working with Pure Data and/or Bela we would love to hear about your teaching experiences and would be very happy to answer any questions you may have. We’re always open for ways to improve this tutorial series and it would be great to hear of any additional materials you would like to see as part of this course or contribute to this course.