Network Architecture

Daniel Jones

The Fragmented Orchestra is fundamentally a distributed system, comprised of an interconnected network of communication nodes. Given that these sites are scattered throughout the length and breadth of the UK, it is entirely reliant on the availability of a network infrastructure that is capable of transmitting audio data in real-time over a great distance. Indeed, this kind of project has only been rendered technically feasible in recent years, courtesy of the rapidly accelerating rate of consumer-grade internet connectivity.

The architecture of The Fragmented Orchestra's network is illustrated below (diagram forthcoming). The central server, which performs the neuro-granular processing, is located in the gallery space at FACT. This is connected via the internet to the 24 soundbox sites, each of which has a sufficiently fast broadband connection to relay audio streams in both directions in real-time.

The distributed nature of the project does not end here; both the server and soundbox (client) systems are, in themselves, comprised of a network of components, running in parallel to achieve their tasks.

THE SOUNDBOX CLIENT

Each of the soundbox sites hosts a lightweight computer, which has a multitude of parallel roles: to record audio data through its microphone, compress and transmit it over its internet connection, receive the processed audio from FACT, and output this sound through its Feonic Drive speaker. To make the program design as clear, efficient and modular as possible, each of these tasks is performed by an autonomous segment of the soundbox software, specializing in a single process and passing its output to the next segment; this is known as "multithreading".

This installation must be operational 24 hours a day, throughout its 3-month lifespan, and so it is also vital that this sofware is as stable and resilient as possible. It must be able to cope with significant network delays and outages, and must be configurable on a per-site basis according to specific needs; for example, one site must be scheduled to reduce its volume at night to avoid disturbing nearby residents. Moreover, due to the geographical distance, we must be able to comprehensively configure and control it remotely. Given these requirements, a piece of software to perform these tasks was written from scratch, developed over several months and thoroughly tested for reliability and stability.

The soundbox client is founded on a number of excellent open-source libraries (lame, mad, ogg vorbis and libshout), without which this part of the project would simply have not been possible. As a consequence, we will shortly be releasing the source code to the soundbox client back into the public domain under a free license, to aid and encourage the development of future such projects.

Daniel Jones
Programmer, The Fragmented Orchestra