Sound and Music Computing
Dr Charles Martin
But how do we control any of it?
We’re missing the performer in the laptop music ensemble!
Someone always has to press “play”.
We define an interface here as “software or hardware for controlling electronic music performance”
What kinds of interfaces are there?
interfaces can be based in software, e.g.,
interfaces can be based in hardware as well:
“New Interfaces for Musical Expression”: https://nime.org
SENNHEISER / PHILIP PEINE
bang
, toggle
, message
vslider
, hslider
Vradio
, Hradio
comment
, labels on other objects.Try right-clicking sliders, bang or toggle to customise size, change colour, add labels.
To make sufficiently complicated Pd programs “neat”, you need to use subpatches and/or define your own objects.
pd
and then the name for an objectpd
file, e.g., charlespatch.pd
, then insert in another patch with it’s filename: charlespatch
.Use inlet
, inlet~
, outlet
, outlet~
to get information in and out, and $0
to uniquely identify.
Use “graph-on-parent” (right-click properties) to make parts of a patch show up on the parent.
It’s worth spending time on your Pd interfaces!
Clear and refined interfaces help others use your creativity support tools.
This is crucial for ensemble performance.
Processing is a good way to create a quick custom graphical interface.
Track the mouse, access a webcam, create game-like experiences, etc, with the power of Java.
Use the OscP5
library to send OSC messages.
N.B., this is highly related to, but not the same as p5.js
.
Just as we used Processing to control Pd over OSC, we could just use any programming environment with real-time execution. E.g.,:
There more detail on live coding later in this course.
Make a a Pd software interface
for a composition composition/synth.
Use graph-on-parent and subpatching to hide the DSP components, lets see the sliders!
Keyboard is easy: key
, keyup
, keyname
.
Mouse–not so easy:
hslider
and an array
of size 1Used to be an external called hid
but it’s very old.
(suggest looking at Processing for HID interactions)
fiddle
bonk
Pd can’t access a computer camera, but Processing can.
(I was super into webcam controllers ~2009)
better interfaces might use some computer vision techniques (own research or wait for week 12)
I love MIDI controllers, but they are not always relevant to this class—mainly focussed on music production in a DAW (e.g., Ableton).
Keyboards: requires piano skills to be “good”, melodic music doesn’t always work well in LENS performances.
Remember that in computer music:
A mobile device is a great controller:
Options:
The best way to control Pd with a microcontroller is to make it speak MIDI.
Alternatively, you can use a serial connection and translate to MIDI.
Interfaces for one are fun, but what about collaborating with interface data on a network (of some kind).
Collaborative interfaces require multiple musicians: just what you need for your LENS performance!
In Ensemble Feedback Instruments (Rosli et al. 2015), sound was passed around a group in a feedback network. Wild stuff.
Make a hardware interface for your Pd patch. You can use either:
fiddle~
and bonk~
We will return to these topics in more depth!