COMP4350/8350

Sound and Music Computing

A brief guide to live coding music

Dr Charles Martin

Country of the Ngunnawal and Ngambri People

Charles Martin

Senior Lecturer, ANU School of Computing

computer musician, percussionist

homepage

SMCCLAB: Sound, Music, and Creative Computing Lab

@charlesmartin@aus.social

Sound and Music Computing

two big goals:

  1. make sound with code on laptop computers

  2. play computer music in a group

…how do we do this at ANU?

how does this work?

  1. get logged in on your computer (need temporary user ID and password)

  2. open “Chromium” web browser

  3. go to https://bit.ly/laptop-music-coding for the workshop instructions

  4. go to https://gibber.cc to start coding music

see these slides: https://bit.ly/coding-music-slides

⚠️⚠️ the lab computers use an operating system called linux that you might not be familiar with! You might need help finding Chromium and the volume control. ⚠️⚠️

Gibber

Free tool for making computer music—in your web browser.

Developed by Charlie Roberts. “New” (circa 2013), under active development.

Start using it at gibber.cc.

coding to make sound

Emma Liu (2022)

Madelyn Fardell (2022)

Wenshilan Ren (2023)

Evangeline Sturges (2023)

who has a question right now?

Later… so you’ve made a piece in Gibber…

  1. Dive deeper into the synth designs provided in Gibber (well, in gibberish actually, see below). Create sounds with a synth you haven’t used before such as fm or karplusstrong.

  2. Read through the modulation tutorial and the arpeggios and signals as sequences tutorial and learn about how to create custom modulations for synth parameters and sequences.

  3. Look at the making synths tutorial and create your own synth design in Gibber using the Genish DSP library.

  4. Try the tidalcycles tutorial for a different (some would say better) way of defining sequences in Gibber. The full syntax for tidalcycles mininotation is here.

  5. Use Gibber’s built-in collaboration features to create a group performance with your ensemble!

Much later… music and code resources

  1. ANU Sound and Music Computing student performances.
  2. The gibber playground: Gibber’s user interface, clone this repo to run Gibber locally.
  3. gibber.audio.lib: Audio components for Gibber, most of this wraps gibberish (see below), but it does include the presets.
  4. gibber.graphics.lib: Graphics components for Gibber.
  5. gibber.core.lib: A few shared objects and function for Gibber, mostly for sequencing. euclid, seq, and tidal are defined here.
  6. gibberish: a “fast JavaScript DSP library”. If you want to know where Synth or Sampler are defined, look here (actually look in gibberish/js/instruments).
  7. genish: this is a lower-level DSP library for doing “per-sample audio processing” (inspired by the gen~ object from Max/MSP). To understand why this is cool, look at the genish tutorial.