Netmix Audio – a framework for multi-channel audio with
distributed control over networks
Eric Lyon and Hisakazu Igarashi
Abstract
Netmix Audio is a programming framework that contains a set of
tools being developed in conjunction with live performance with the
capability of distributed realtime DSP operations on sounds. MIDI
control signals are broadcast to an ‘orchestra’ of PCs on a network
which synthesize and process sounds. This affords DSP capabilities
limited only by the number and power of the PCs, and in particular,
gives the capability for spatialization of sound with large numbers of
outputs, and for non-local performance.
Introduction
The Netmix Audio project is a system that was designed for a specific performance, but
which we feel has wider implications and possibilities. Our basic intent was to
synchronize multiple computers for realtime sound processing. We began without a
particular DSP scheme in mind, but thought it would be a good idea to use
multiple computers so that we could avoid running out of processor power,
as we inevitably did when using a single computer. We very soon arrived at
the notion of using oscillator banks to resynthesize frames of FFT analysis
data, noting that oscillator banks lend themselves especially well to parallel
processing.
Consideration of Other DSP Systems
The decision to design our own system was taken after experience with several realtime
and non-realtime audio DSP systems. The non-realtime systems (particularly
Csound and CMIX) are of interest mainly in that they provide a benchmark for
programming ease – a way of measuring the added complications that arise in dealing
with realtime programming. The two realtime systems which we explored were
Kyma and PD. Kyma, was and remains a tremendously powerful system –
probably still the most powerful DSP system at its price point. We had used
the Kyma system successfully in prior performances. However, since Kyma
opcodes must be written in assembly language, and we did not believe we could
easily write our algorithms using the (many) available Kyma opcodes, we had
to look elsewhere. Miller Puckette’s PD (Puckette 1996) had recently been
released, and looked most interesting. It was clear that we could accomplish
what we wanted in PD, since it is