Real-Time Musical Devices
Dr Charles Martin
Semester 1, 2022
New Interfaces for Musical Expression
Image Copyright SENNHEISER / PHILIP PEINE
Typical NIME workflow…

Sound and Latency
- Digital (and analogue) instruments always have a latency between
action and sound.
- Strings, fingers, keys, and electrons take time to move.
- Sound takes time to move…
- Computers buffer sound (a little bit) to make sure it has enough to
send to the DAC.
- More steps, more buffers, more latency…
How fast is fast enough?
- Common wisdom is to aim for latency <10ms (Wessel & Wright, 2002).
- Musicians adjust (unconciously) and can handle latency up to 55ms
(Dahl & Bresin, 2001)
- Different gestures, and sounds, could have different perceptual
effects.

So what about a Real-Time Operating System?
- Linux kernel and OS (by itself), not good enough for real-time!
- Normal drivers can’t preempt the kernel…

Xenomai: Linux with Real-time extensions
-
Xenomai: Add two extra micro-kernels to linux, which can preempt the normal kernel.
- “Adeos” is a nano-kernel just to switch between Linux and Xenomai.

PRU (Programmable Real-Time Unit)

Does this work?
Yes!
o
Further Watching
Sverm Resonans: https://youtu.be/fhTuI3AhZL0
Percussive Table: https://vimeo.com/264852700
Kalichord Strum: https://www.youtube.com/watch?v=mZksorXIOxM
Stillness Under Tension: https://youtu.be/tDkJqoFpnF8