Approximating π is a software implementation of a multi-channel electroacoustic composition by Clarence Barlow based on the sonification of the digits of π It is based on the following series approximation:

π = 4 (1 – 1/3 + 1/5 – 1/7 + 1/9 …)

On his request, we implemented the algorithm for his piece to synthesize sound and produce visuals using his original program notes from 2007, allowing for the first ever performance of this piece with multi-channel visuals.

Each channel approximates π at a different rate, all the channels together form a very specific harmonic series based on a formula involving π (more details in the program notes). The whole piece is conceptualized such that it can be flexibly played on up to 16 A/V channels, and for any duration up to 1.5 years. The longest it has run till date is 2 hours, with 6-channels (6 monitors + 6 speakers).

Implementation Highlights:
⟞ Implemented in C++ using OpenFrameworks
⟞ Synthesizes multichannel audio (2-, 4-, 8- or 16- channels)
⟞ Drives multiple-monitors (one for each audio channel)
⟞ Distributed – can run synchronously on multiple machines (uses OSC)

Approximating π was performed both as an art installation and in a concert setting using our implementation at the following venues:
2016.Apr.24  | Lotte Lehman Concert Hall, UCSB Music, for the Montage Concert
2016.May.27 | Elings Hall, UCSB, for EoYS
2016.May.28 | SBCAST, Santa Barbara, for EoYS @ SBCAST
2016.July.12 | Conservatory for New Music, Köln, Germany, for BAR70W

Installation at SBCAST. 6 Channels of audio-video

Installation at SBCAST. 6 Channels of audio-video

Every channel had a monitor and associated speaker.

Every channel had a monitor and associated speaker.

Panoramic image of setup at SBCAST

Panoramic image of setup at SBCAST

Offshoots: With a little modification, this software was used to perform a spatialized rendition of Hector Berlioz’s Symphony Fantastique for a concert by graduate students of UCSB Music.


Software: Akshay Cadambi and Matthias Wagner
For: Clarence Barlow
Github: ApproximatingPi