Creative Audio Programming on the Raspberry Pi Session 1,2
P2P | 04.02.2017 | Ses.1: 1.21 GB | Ses.2: 1.3 GB
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…
This course is in Scheduled mode, and is open for enrollment.
Session 1: 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.
Session 2: 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.
Session 3: 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.
Session 4: 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.
Session 5: 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.
Session 6: 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.
Session 7: 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.
Session 8: 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.
Session 9: 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.
Session 10: 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.