Here are the software and hardware tools you’ll need for SMC.

If you’re having trouble getting things working on your machine, ask for help on the forum.

Laptop

SMC involves using a laptop in class and for the assessments, and you will have to install some software listed below. All of our classes are scheduled in rooms with no computers provided so you must bring your laptop to participate in class.

You should also bring:

In general, any Apple or Windows laptop purchased in the last five years will be fine and many older laptops will also work very well. Laptops with Linux are also usually fine but can have some issues with audio2.

Software

There are two computer music software environments we’ll use in SMC: Pure Data (Pd Vanilla) and Strudel

Note: We change the tools and software for this course regularly. For 2025 we will use Pure Data and Strudel. There may be references to other systems in the website but these will be fixed by the time we get to them in the course.

Pure Data (Pd Vanilla)

Pd is a visual computer music programming system. You download the Pd program to your computer and open it to start programming computer music.

The programming concept in Pd involves making visual diagram for flow of signals and data. We call this activity “patching” as it recalls using physical wires (patch cables) to connect different pieces of electronic equipment. This is a bit different to text programming, but quite easy and fun for experimenting.

Pd is free software and works on Windows, macOS and Linux.

To install it, go to the Pd downloads page and get the latest version of “vanilla” Pd for your platform (as shown in the screenshot).

N.B., please don’t use Purr Data (Pd-l2ork) in this class. Purr Data contains many external libraries that you will not be able to reference or include properly in your assignment submissions.

Example code/patches

Books

Strudel

Strudel is a live coding language written in JavaScript and based on a famous live coding system called Tidal Cycles. You use it by going to a website (https://strudel.cc) in a web browser and typing code in there.

Strudel is a text-based programming language (so unlike Pd, but like JavaScript, Python, Java, or other languages you may be used to). Coding music in Strudel involves opening a website, typing in cyclic patterns in a text box and then modifying the patterns over time to create a performance.

Strudel is one of many live coding music programming languages, an exciting area of experimentation and research that combines programming language development with music.

For this class we will also explore Flok, a system for collaborative live coding that supports several languages (including Strudel). We’ll probably set up our own Flok server. Fun times!

Example Code

References

OBS

We use OBS (free, macOS/Windows/Linux) to record your screen in this course. Here’s some helpful links for OBS:

Make sure that you configure OBS to record video in 1920x1080 resolution and .mkv file format.

It’s a good idea to set up OBS and test a screen recording with computer audio before the course starts so that you know how to do it.

A few more tips:

  1. You may want to trim your videos to time, cut & stitch separate parts of the video together, etc. OBS doesn’t really do that, so you may want to find some basic video editing software (may already be on your computer) to help.

  2. When you’re recording, make sure it’s capturing the direct audio output as well (which can sometimes be a bit tricky). With OBS on macOS, this used to be tricky (but may now be fixed) —you might need to use something like BlackHole to route the audio into OBS so that it records properly.

Big Counter

This website is just a big countdown timer, it’s useful for jams in class and rehearsal

You change the length of time for the countdown with a URL parameter seconds, e.g.: https://big-counter.netlify.app/?seconds=150

The source code is on github here: https://github.com/cpmpercussion/big-counter feel free to make it better and submit a pull request.

Visual Studio Code

For editing Markdown or Javascript code in Sound and Music Computing, we will use Visual Studio Code (we’ll usually call it VSCode for short). VSCode is a generic text editor, which means that it’s really good at editing text, but doesn’t care too much what that text is/represents.

You will specifically use VSCode to edit your class repository and add diary reflections each week.

THere’s only one step to install VSCode:

  1. download & install VSCode (works on macOS, Linux & Windows)

git and GitLab

We use git and ANU Teaching GitLab in this course for assignment submissions and distributing code templates. You probably have seen these systems already but if you haven’t or want a refresher on how to use them we have student-focussed docs here.

Hardware

If you have a laptop and some headphones already then you don’t need to buy anything to take this course, but if you want to buy something, we understand, computer music gear is fun!

Here are a few things you might like to look at:

We don’t recommend “keyboard”-style interfaces for this class, as they tend to distract from rather than enhance the kind of computer music interactions we study.

Here’s what’s not required for this class:

Other books

Here’s a few other books that you might find useful for your exploration. These are about more general computer music techniques and artistic practices rather than guides to specific programming systems.

  1. HDMI output is the main way that we will record video and audio from multiple laptops during class and in the assessments. If you don’t have an HDMI adapter you won’t be able to participate in these activities. 

  2. Linux audio is one of humankind’s greatest intellectual challenges. As a Linux user in this course you have bravely signed up for your turn to face it. Glory to you, courageous warrior of the one true OS.