This work was installed in May 2010 as part of the Memory Flows exhibition at the Armory Gallery, Newington Armory, Sydney Olympic Park and is a project of the Centre for Media Arts Innovation, UTS. The installation was created in collaboration with Solange Kershaw and the participation of Jill Jones. With special thanks to the Curators Sophia Kouyoumdjian, Norie Neumark and Deborah Turnbull.
The Memory Pendulums
Get the Flash Player to see this player.A motion sensitive sound Installation affected by contact and gravity, the Memory Pendulums modulated the spoken measure of a poem, written for the artwork by the Australian poet Jill Jones.
Her words flowed randomly in time with the playful swinging back and forth of three diamond shaped acrylic water pendulums. Each one filled to a different capacity with a toxic blue liquid, triggering a different memory, dripping into and polluting the muddy waters of the Parramatta River …..


Exhibition Dates / Every weekend from 15 May 2010 to 20 June 2010
Listen to the poem in three parts:
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
< Water as memory >
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
< Sources >
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
< Dry and wet >
Memory is referenced in two ways within the work. Through the use of 3 liquid filled pendulums which, like controlling the mechanism of a clock, control the listening of a poem over time. If the pendulums swing uninterrupted for approximately 90 seconds the listener will hear the entire poem, which in three parts takes all three pendulums to swing. The listener’s memory must be engaged in the experience or appreciation of the poem as it is more than likely with all three pendulums swinging the three parts will be heard simultaneously. Memory is also referenced literally throughout the poem, particularly the third part titled “River as memory”.
River as memory, by Jill Jones
where waters come from
clean as that mysterious rain
you never see
a source in the rock
from sea
cloud
sea
cycling planetary urges
the shiver of ancient degrees
death moves in circles
drinks at the ground
great birds
drift
in the flow’s shadow
making channels
and ridges
in our mud memory
Memory Flows: Max/MSP Patch
The central object for this patch was the usb-microdig. The USB-microDig from Infusion Systems is a thumb-sized hardware device that encodes analog signals to MIDI (Figure 1). It includes 8 digital outputs/inputs that can be used to control actuators or trigger MIDI via sensors. The firmware for the USB-microDig enables it to operate in both stand-alone mode (sensor data is processed before it is transmitted) as well as host mode (raw sensor data is transmitted). The 8 inputs of each 10 bits resolution (1024 steps of each 4.9 mV) can sample at up to 5760 Hz with milliseconds latency to capture even the finest gestures and movements. (Mulder 2011).

Figure 1. I-CubeX USB-microDig from Infusion Systems
The Max patch was co-written by my project partner Solange Kershaw and myself. It is described as follows:
For the Memory Flows exhibition we connected three custom built tilt sensors to the inputs of the USB-microDig. The sensor data was routed to the first three digital outputs and used to control the rest of the patch. The first input in the microdig object was used to determine the port, in this case a virtual serial (usb) port. The next 8 inputs were the sensor inputs in the physical microDig. These sensor inputs had to be turned on, and for the work to self-start, we used the ‘loadbang’ object. The loadbang object generates a ‘bang’ when a patcher is loaded, which in turn was connected to a toggle object (toggle object switches on and off, 1 and 0). We actually used a number of loadbangs delayed by 1 second to ensure that the digital outputs were reliably triggered, regardless of how fast or slow the computer, softwares and patch were loading on startup (Figure 2).

Figure 2. Max Patch loadbangs on startup
The first object connected to the digital output was a number box that displayed the sensor data in the midi range : 0 – 127. To determine whether the tilt switch was in the ‘on’ position (ie, when the sensor data ouput was 127) the number box was connected to a select object, that would trigger a bang in its output only if its input matched its argument. The select object here triggered two signal paths, one to play the sound file and one to monitor the time elapsed after that initial trigger (in 500ms units). As the pendulums swung through each cycle, the sensor data output changed from 127 to 0 and back again as the tilt switches went through each on/off state. So as to not restart the process and audio file playback on each cycle the right button was connected to a onebang object. The onebang object lets a bang in the left inlet get through only if a bang has been received in the right inlet (Figure 3).

Figure 3. Max Patch onebang object
So each of the onebang objects were connected to a loadbang object so that they were ready at startup to let the first trigger in when the sensor output was equal to 127. Then it did nothing more until it received another bang in its right input inlet, which reset it (the two buttons connected to the select object blinked on and off as the number box changed from 0 to 127 and were only here for visual feedback purposes. They were not necessary to the functionality of the patch and could be bypassed).
The left output of the onebang object was connected to a message box: 1. This message was passed on to the number box below it, that in turn triggered the soundfile playback object (sfplay~). The sfplay~ object took a soundfile and a message in its left inlet (the message ‘1’ told it to play the current sound file from beginning to end) and was connected to one or both of the channels of the audio output object (dac~) (the dac~ object is stereo by default).
The sound file must be opened before it’s accessible to the sfplay~ object. Connected to the input of the sound file (and its ‘open’ message) was another loadbang object (Figure 4) so that the file would be accessible when the patch was opened. The same loadbang toggled the dac~ object on, and similarly we added a delay of 500ms to ensure reliability of the sequence.

Figure 4. Max Patch onebang, sfplay~ and dac~ objects
As discussed, by using the onebang object we ensured that once the playback was triggered, it continued to play through without being reset each time the tilt switch was being toggled on and off by the swinging pendulum.
But we still wanted to stop playback if the pendulum was no longer moving or if someone stopped the pendulum by choice. To do so we monitored the time elapsed between each cycle of the pendulum swing using the clocker object. The clocker object reports the time since it started, with an optional argument to set the output interval in milliseconds, in this case 500 (Figure 5).

Figure 5. Max Patch clocker object
So from its left output, the select object has triggered the soundfile (onebang) and also started the metronome (clocker). The clocker object was restarted every time the tilt switch toggled on. The number box connected to the clocker’s output monitored the time elapsed between each toggle of the switch in units of 500ms, and was in turn connected to two select objects. The first select object output a bang when the time reached 2000ms, the second select object output a bang when the time reached 6000ms (figure 5). If nothing had happened for 2 seconds, ie, the pendulum had stopped swinging for at least that long, the select object sent a bang to the message ‘0’ which was passed on to the input of the sfplay~ object, and stopped playback. The right output of the sfplay~ object triggered a bang when it was done playing, which would happen if it had stopped (0) or if the audiofile had finished playing. That output was connected to the right inlet of the onebang object (figure 5), so it was ready to trigger if the pendulum was moving again. If nothing had happened for another 4 seconds (a total of 6000ms), the next select object sent a message to the clocker to stop monitoring, and the whole patch was idle until a pendulum started swinging. (Kershaw 2011; Castaldi 2011).
References
Kershaw, S, and Castaldi, D. 2011, The Memory Pendulums [online], Available from: http://redearsmusic.com/video/the-memory-pendulums/
Mulder, A 2011, I-CubeX Online Store – Products: USB-microDig v7.10/7.1 [online], Available from: http://infusionsystems.com/catalog/info_pages.php/pages_id/176
