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 in the #techsupport channel on Teams. If there’s a deadline approaching, don’t leave it to the last minute.

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 own to participate in class.

You should also bring:

  • your laptop charger
  • some headphones (any are fine, but we also have reccomendations 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.

If you have an issue where you need a loaner laptop for a short time (e.g., one class), we may be able to help, but in general, ANU students are expected to be able to bring a computer to on-campus classes.

Software#

Learning the basics of computer music programming is a core part of this course. There are two primary computer music software environments we’ll use in SMC Pure Data (Pd) and Gibber

Pure Data (Pd)#

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 & 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., Pd v0.53-1 has issues on MacOS 13 (late 2022 release). The test release Pd 0.53-2test1 should be used until a new stable version is released.

You may also find Pd downloads (and lots of extra related goodies) on puredata.info, but we don’t recommend browsing here until you have completed a few workshops. The latest test releases are generally on Miller Puckette’s website.

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#

  • Kreidler, J. Programming Electronic Music in Pd (2013). This book is freely available online, and is a good “from the ground up” introduction to how to make music in Pd. Some of the screenshots are a bit out of date, but since Pd hasn’t changed very much since it was written the actual content is still quite current and useful.

  • Puckette, M. Theory and Technique of Electronic Music (2007). This is a book by the creator of Pd, and even though it uses Pd for all the examples it’s really a more general book about how computer music works. It covers a bunch of the mathematical & signal processing foundations of the techniques you’ll learn in the course, and if you’re into that sort of thing then you might enjoy this book. However, in this course understanding the maths is less important than understanding the use of these things in a SMC context, so we won’t cover the more maths-y stuff in this course.

Gibber#

Gibber is a live-coding in-browser music programming system created with JavaScript. Unlike Pd, Gibber works entirely within a web browser so you don’t have to download or install anything to get started, just head to https://gibber.cc.

Actually, you might find that Gibber works best with Chrome/Chromium so you might want to install one of those browsers for your Gibber experiments.

Gibber actually involves quite a few moving parts and is under active development by the author, Charlie Roberts and the live coding community. During the course you may hear about components of gibber like genish, gibberish and gibber.audio.lib which you can read about here.

Example Code#

References#

OBS#

Recording videos of your computer screen (with audio) is a crucial part of this course, you’ll be doing it every week for your diary submissions.

We will use OBS (free, macOS/Windows/Linux) to record your screen in this course. This is the absolute best way to record your screen and include audio. It works across all macOS, Windows, and Linux.

Here’s some helpful links for OBS:

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#

Git is an amazing bit of software for storing and tracking changes to source code; you can think of it as Dropbox (or Google Drive or iCloud etc.) on steroids. It’s also the way you’ll keep track of your diary reflections, patches, and code, and generate your assignment submissions.

Luckily, the people who make Git provide a couple of convenient ways to get everything installed on your computer:

After installing Git, you’ll need to close and re-open VSCode!

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