Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Kadenze

Creative Audio Programming on the Raspberry Pi

University of New South Wales via Kadenze

Overview

In this course you will learn the essentials of programming real-time audio software, applying these skills to making your own audio devices, and more generally the exciting world of the Internet of Things. You will use the Raspberry Pi as a rapid prototyping platform, exploring the creative potential of real-time sensor and network interaction, combined with real-time sound generation, creating systems that respond to sensor input, communicate with other devices and play sound. Make your own musical instruments, develop devices for sonic artworks, and create new sound design concepts for sonifying everyday objects. Through this course you will develop a basic understanding of audio programming and the core concepts behind programming for the Internet of Things. You will be able to conceptualize and design your own innovative interactive devices.

Syllabus

  • Sampling, Synthesis and Sequencing
    • This session introduces additional audio programming concepts in Beads for recording and playing back samples, creating synthesis algorithms, and sequencing musical patterns. By the end of this session, students will be able to create audio programs using more complex synths, samplers and sequencing algorithms.
  • Introduction to the Course, Beads and IntelliJ
    • Welcome! ​This session introduces the course and the main tools we will be using in the course: the Java programming language, the IntelliJ development environment, and the Beads library for realtime audio. By the end of this session students will have their development environments set up and be able to run a basic audio program from their computer.
  • Network Communication with the Pi
    • In this session we introduce network communication, which we can use to communicate in realtime with the Pi from our controller computer, and also between Pis. By the end of this session, students will be able to set up network communication behaviours and remote control their Pis from a computer.
  • Continuous and Event-Based Control in Beads
    • This session introduces some core concepts in Beads that allow you make and control sounds, either in continuous ways or as events, such as WavePlayers, Envelopes, Gains and other effects. By the end of this session students will be able to create simple realtime audio programs.
  • Introduction to the Raspberry Pi
    • In this session, we introduce the Raspberry Pi and cover some of the basics of operating the Pi. By the end of this session, students will have their Pi set up on their wireless network, will be able to log into their pi and configure it, and will be able to send Beads compositions to the Pi.
  • Creating Sonic Apps on the Pi
    • In this session, we bring what we have learnt in sessions 1-3 about audio programming and apply it to writing programs for the Pi. By the end of this session, students will be able to write and deploy Beads audio programs to their Pi.
  • Dynamic Coding on the Pi
    • This session introduces more advanced programming techniques, and discusses how you dynamically develop programs on the Pi as you go, using our live deployment tools, and also store programs on the Pi to run in the future. By the end of this session, students will be able to better employ their creativity to compose realtime audio compositions on the Pi.
  • Responding to Sensors
    • This session introduces sensors, which we can connect to the Pi in order to gather information from the environment, and from user input. We introduce basic principles of sensors, how to set them up and how to program them. By the end of this session, students will be able to write audio programs that respond to sensor input.
  • Creative Audio Design Patterns
    • As we approach the end of the course, we look more broadly at how you may want to put together realtime audio programs. We discuss different design strategies and design patterns. This session will give students a more solid theoretical grounding in how to go about creating their masterpieces.
  • Creative Assignment
    • In this final session, we look in more detail at one of our own creative projects working with the Pi, and present the creative assignment that will finish off this course.

Taught by

Ollie Bown and Sam Ferguson

Reviews

4.5 rating, based on 2 Class Central reviews

Start your review of Creative Audio Programming on the Raspberry Pi

  • Anonymous
    It was a very broad course and covered too many things. It was a brilliant way to get into the BEADS audio system and a course just on this would have been enough. But so many topics were introduced like system development methodologies and the Linux command line. Also the Raspberry Pi plugin just didn't work for me and I had to find workarounds for it. Without a strong background in Java and Linux I don't think that I could have completed the course. In short, the effort to overcome the technical problems was worth it and I learned a lot. I am amazed at how well the Raspberry Pi can be made to create complicated sounds.
  • Anonymous
    This is awesome and informative. I loved the course. The whole course was well planned and organized so it made easy to understand and learn.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.