Open For Enrollment

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Enrollment for this course is currently closed, but the next offering will be available shortly. Check back soon!

10 Sessions
Audit (Free)
Certificate (Incl. w/ Premium)
Credit Eligible ($900 USD)
University of New South Wales
Creative Computing
Skill Level
Video Transcripts
Raspberry Pi, Java, Audio Programming, Ineraction Design, Internet of Things
Course Description

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.


This course is in scheduled mode and is open for enrollment. Learn more about scheduled courses here.

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.
Show off your Certificate of Accomplishment

Verify Your Achievements
Whenever you complete a course as a premium member, you can earn a verified Certificate of Accomplishment. These certificates are proof that you completed an online course on our platform.

Easily Shareable
Using its unique link, you can share your certificate with everyone from future employers and schools, to friends, family, and colleagues. It's the perfect tool to help you land that new job or promotion, apply to college, or simply share your achievements with the world.

Enroll for College Credit

Credit Eligible

Kadenze has partnered with University of New South Wales to offer this course for 6 college credits.*

How much does it cost?

This course costs $900 USD to take for college credit.

*Upon completion, this rigorous college-level course will provide credits that are recognized and transferable from the partnering institution. Credit as workload and transferability is defined by the granting institution. Participation in these courses does not represent an acceptance decision or admission from the institution that offers them.

Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors & Guests
What You Need to Take This Course

Required for Session 1-10

Required for Session 4-10

  • A Raspberry Pi version 2 or 3. The version 3 is the version you will receive currently (Jan 2017) and has wifi builtin. If you are using an older version 2 device you will also need to provide a wifi dongle. You can also use either version with ethernet cables instead of wifi.
  • A micro SD with at least 8GB. Your Raspberry Pi needs a micro-SD to contain its operating system. Most Raspberry Pis sold these days will come with an SD card containing 'NOOBS', but if you haven't got one you'll need to obtain one.
  • A WiFi router (normal domestic home WiFi router is fine). You'll probably need a wifi router that you can control.
  • An ethernet cable may be required to connect your Pi to your WiFi router when you first set up your Pi.
  • An audio output device. A powered speaker, headphones, stereo with appropriate mini jack input cable, or other means of listening to your Pi minijack audio output. You can use a fixed device (such as a stereo), but when you are using sensors you may wish to use a portable device, so you can explore the sensor's motion sensing capabilities.
  • A Raspberry Pi SenseHat sensor This is required for sensor input to the raspberry pi. Other sensors can be used, but at this stage there is limited support. The Sensehat sensor provides acceleration, rotation, compass, humidity, temperature, and pressure.

Note: You can extend to two or more Raspberry Pis easily.

Additional Information

Please note: Taking part in a Kadenze course as a Premium Member, does not affirm that the student has been enrolled or accepted for enrollment by UNSW.

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of students. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow students courtesy. No one wants to feel attacked - ever. For this reason, insults, condescension, or abuse will not be tolerated.
  • Show Respect. Kadenze is a global community. Our students are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.
  • Post Appropriate Content. We believe that expression is a human right and we would never censor our students. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts which violate this Code of Conduct harm our community and may be deleted or made invisible to other students by course moderators. Students who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Students with Disabilities: Students who have documented disabilities and who want to request accommodations should refer to the student help article via the Kadenze support center. Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.