Twenty Three Hundred

Real-Time Musical Devices

Dr Charles Martin

Semester 1, 2022

Extra Topic: Real-Time Musical Devices

New Interfaces for Musical Expression

Image Copyright SENNHEISER / PHILIP PEINE

The NIME community

  • …new kinds of musical instruments…
  • …new kinds of musicianship…
  • …and new kinds of music?

lectures/bela/nime.jpg

Typical NIME workflow…

lectures/bela/nime-workflow.jpg

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.

lectures/bela/wesselwrightrig.jpg

Are the tools good enough?

lectures/bela/nime-test.jpg

No - according to McPherson, Jack, & Moro, “Action-Sound Latency: Are Our Tools Fast Enough?” (2016).

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…

lectures/bela/satellite-ccrma.jpg

Bela: Low-Latency Sensor and Audio Platform

lectures/bela/bela-design.jpg

  • Specifically designed to solve this problem!
  • Realtime Linux (Xenomai)
  • Programmable Real-time unit (PRU)

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.

lectures/bela/xenomai-microkernel.jpg

PRU (Programmable Real-Time Unit)

lectures/bela/beaglebone-pru.jpg

Does this work?

Yes!

lectures/bela/bela-latency-results.jpg 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

Questions