Sound and Music Computing
Dr Charles Martin
Let’s talk about practical matters for the final LENS performances.
You will create a computer music system that can be performed live by a group of students at a live concert. This could take the form of a new computer music instrument or composition that a group of performers can control.
This means:
a computer music system created by you performing original music with your group.
Do not play covers or music created by other people. That is not acceptable in this assessment or this course.
You must submit your performance materials through GitLab in your fork of the LENS performance repository.
Your performance materials:
README.md file explaining how to get your performance up and running and including screenshots and code listings of the important part of this performance.Everything is marked from the GitLab Repo; it’s all due on 6 June, 2025, 23:59.
Dates and Times between May 28 and June 6, 2025.
⛔️ You can’t complete your ensemble performance outside of our provided dates and times, this counts as an exam. ⛔️

one timeslot to perform each of your pieces (3-4) in one 45 minute concert.You can test your computers on our HDMI system at drop-in sessions in Week 11 and 12.

You will need to be flexible and organised. We cannot guarantee you won’t have a concert on the same day as another exam.

We will provide for each laptop:
You need to provide whatever adapters or cables are necessary to connect HDMI to your computer, you should also bring your power adapter.
You are allowed to use equipment external to your laptop for the purpose of controlling your computer music software in the final performance. This includes MIDI controllers, human-interface devices, arduinos, microbits, etc. There are a few caveats:
Keep in mind that you are creating an ensemble performance and any equipment used should contribute to how your ensemble works together to create music.
You are allowed to use libraries or extensions for the computer music systems used in the course, but these should be clearly documented and listed as a reference in your performance materials.
You are allowed to use middleware that goes in between computer music software and an external or internal hardware interface (e.g., Osculator, Wekinator or MobMuPlat).
You are not allowed to use music production software such as Ableton Live, ProTools or Logic in your performance.
Any external libraries that you use should be used in a sophisticated, original, and independent way in order to show your attainment of the learning outcomes.
Use of external non-referenced software in your performance is a breach of academic integrity at ANU.
You must reference:
We expect collaboration in this course—the tradeoff is we expect precise and complete referencing.
Don’t claim other’s work is your own—even by accident!!

The big challenge in a LENS performance:
Give each performer less to do than you think you need to. Expect performers to think and communicate. Give performers creative control. Good performance is risky!

key, mouse, etc.Are there more interaction options beyond your computer?

Custom hardware: Let’s you experiment with new kinds of computing interfaces.

Some kind of sensors for input, microcontroller to process values and send serial/bluetooth/midi/OSC to your laptop.
Making things that are like regular musical instruments.
Inspired by the acoustic instrument and well-established music tradition, design related to the task of making sound.
Classifications (Miranda and Wanderlay, 2006):
Digital sound layer
Preserve the interaction complexity and playing virtuosity
Extending the clarinet’s bell through the performer’s motion and gestures
Extra pitch bending and note playback options with visuals
A custom-designed electrodynamic pickup capturing the velocity of each string
Accessible guitar instrument - touch screen guitar (?!)
When is a Guitar not a Guitar? Cultural Form, Input Modality and Expertise, NIME2018
Percussion inspired: tap, rub, swirl gestures in a new kind of instrument.
A granular synthesis component in Pd
Exploring “imaginary” augmented reality instruments with freehand gestures
Performance practice around Canberra and beyond.

See nime.org for more, and next week’s lecture.

Focuses on the concept of a musical composition, interface allows the composition to unfold.
“From providing instructions for performers to create music, to creating contexts for performances in which music may be experienced” - Marije Baalman
Exploring three art forms: acting, percussion, and drawing through new interactive technologies and experimental performance
Inspired by the classic science-fiction short story “Twilight” by John W. Campbell

Connection between an action to a sonic output. Problem is that there are so many ways of connecting sensors to parameters!

from microbit import *
import math
def norm_acc(x):
new = round(min(max((x + 2000)/4000, 0.0), 1.0), 4)
return new
def send_accelerometer_data():
x, y, z = accelerometer.get_values()
accs = [norm_acc(x), norm_acc(y), norm_acc(z)]
out = ' '.join([str(i) for i in accs]) + ';'
print(out)
return accs
def display_pixel_mapping(x):
return 4 - min(math.floor((x + 0.2) * 4), 4)
def display_values(values):
display_values = [display_pixel_mapping(x) for x in values]
display.clear()
display.set_pixel(0, display_values[0], 9)
display.set_pixel(2, display_values[1], 9)
display.set_pixel(4, display_values[2], 9)
uart.init(baudrate=115200)
while True:
values = send_accelerometer_data()
display_values(values)

We have programmed the microbit to send messages in FUDI format. So messages look like:
0.435 0.211 0.988;\n
To receive from a serial port in Pure Data we need to:
comport externalA bit harder, no serial support automatically in Strudel.
But it’s just Javascript, so use the Web Serial API
Would be good to have an example…
I have a little course in doing this hardware NIME design with Arduino:
https://github.com/cpmpercussion/EMS-ArduinoTutorial
(old stuff there…)
Anything else to do here?
A lot!
This could be a whole course, can only give inspiration and basic introduction today.
Hardware is hard, systems like microbit and arduino do their best to make it a more forgiving process but it requires time investment to get things working.