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:

  • your laptop charger
  • some headphones (any are fine, but we also have recommendations below)
  • an HDMI adapter1 (if there isn’t a regular HDMI port on your laptop). E.g., you might need a USB type-C or Mini-DP adapter. I suggest buying two and having them in your bag at all times.

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#

  • All of the built-in Pd objects come with an example patch which explains how to use them. You can access this help browser using the Help > Browser... menu.

  • Charles has written a series of introductory examples to Pure Data which can help you to grasp the basics: ComputerMusicIntro examples

  • puredata.info has the main pure data community resources, e.g., forums, downloads, mailing list.

  • rjlib is a library of “pure Pd” patches with typical synth, effect, and sequencer designs. This is a great resource for learning but many of the patches will need to be adapted to be used in your own work.

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#

  • The Strudel Docs have many cool examples and workshop materials.

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:

  • Some nice headphones. You can get great headphones from $50–$150, for a cheaper option we like Audio Technica’s ATH-M20x and for a more expensive option, have a look at Sony MDR-7506 or BeyerDynamic DT770 pro.

  • An audio interface for your laptop. If you only need two outputs, you might be fine with the headphone output on your laptop. External audio interfaces connect to your computer over USB and give you more audio inputs and outputs with higher quality sound and more (physical) connector options. They sometimes have better audio drivers and provide a smoother audio experience (particularly in Windows). There are lots of great audio interfaces with 2 microphone inputs and 2 line outputs for about $200 (e.g., PreSonus Studio 24c). You can get more expensive interfaces if you want that have more inputs and outputs if you want, but these are more useful if you’re setting up a small studio, not for SMC.

  • A hardware MIDI Controller. It’s often more fun to control music with your hands rather than with a keyboard and mouse (unless you’re a live coder)! We like the Korg NanoKontrol which gives you some knobs and sliders for about $100 and works nicely with Pd or Extempore. The Akai LPD8 gives you knobs and pads, but not sliders.

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:

  • Expensive synthesisers, Ableton Live, Eurorack systems, etc. Well all of this stuff is awesome and fun, but you can do a lot of learning and music making with just a laptop and a pair of headphones so stick with those for the moment!

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. 

bars search times arrow-up