0101101000 ... (hello world)
30 Jul 2023
•
audio
•
sculpture
•
art
•
network
...
In late 2022, my good friend and artist Henrik Nordahl asked me to collaborate with him on a sound sculpture entitled "01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100 (hello world)", for his MFA thesis project at the Parsons, National Academy of Arts, NYC. In computer science, "Hello world" programs are often the first thing you learn to write in a given language.
My contributions were purely to the audio of the sculpture. My mission was to ensure that the structure sonically reacted to nearby wifi traffic using Bluetooth transducers in combination with MaxMSP (Max) and Python software.
Hello world was exhibited in April 2023 at The Sheila Johnson Design Center, Parsons, NYC.
Contents
Materials and Family
Hello world is one of several sculptures in a series that interpret Nature and Architecture, such as Gjallarhorn and Frequencies. The sculptures are made from burned drywall paper tape, methylcellulose, aluminum flashing, concrete and steel rods where the drywall paper tape rolls have been pulled from the center to create cones that are repeated in iterations.
Overall, the works focus on the multiplicity of one form and are the results of Nordahl's research and process-led experimentation into the behavior of these materials.
Hardware and Software
To make Hello world physical vibrate and create unique sounds, four small Bluetooth transducers (speaker drivers) were installed on custom membranes at the connection points between the drypaper cones and the steel section in the middle of the structure. This turned the entire structure into speaker elements that we could control from a nearby laptop. With wireless audio transmission, we did not need to purchase cables, amps and other audio gear, nor find a way to hide these items inside the sculpture. And since we did not care too much about latency, the Bluetooth devices seemed like the obvious choice.
Sonifying network traffic first requires a method to extract packets from your network. With Python, the go-to method for network sniffing is to use the pyshark library, a wrapper for something called tshark, allowing network packet parsing using WireShark dissectors. Together with python-osc, a library for OSC transmission, I was able to use pyshark to capture wifi packets being sent from our local machine out to the world. Ideally, we would've liked to get all messages on the network, from any person to anywhere, but Wireshark does not allow this behavior (for obvious safety reasons). After the packets were captured, desired information was encapsulated into OSC messages and sent to Max internally for audio processing.
Below is a code example of how you can accomplish this WiFi capture and simple OSC messaging with Python.
Sonification
In Max, OSC messages from Python are received and unpacked before being used for sonification and effect processing. Central to the synthesis engine is a process that turns every IP address into a series of binary numbers. The binary numbers then controlled important aspects of the sound generation, such as oscillator onset, sustain, gain and other envelope properties.
But not all sound properties were controlled automatically by OSC packets. In fact, several parameters required manual adjustments. This enabled us to fine-tune central aspects of the sonification to cater to different physical spaces with varying acoustic qualities. The combination of manual fine-tuning and the sporadic uncontrollable nature of the web traffic made the sonification unique for every iteration.
Here is a short excerpt of the audio from the installation:
Loading audio...
It was important for us that this wifi sonification concept was quickly grasped by audience members without us having to compromise too much on artistic qualities. We wanted the audio aesthetic and sonification to reflect the hidden and sporadic qualities of wireless networks. The result was a fairly basic synthesis engine that mostly focused on low-frequency sounds, with some added mysterious/ghostly qualities.
The wifi traffic rate, packet lengths, and IP addresses all controlled aspects of the audio. For instance, the traffic rate was directly related to the intensity and density of the sound (a technique often known as audification of data). There were also links between network packet lengths and audio amplitude, and between IP address and frequency content.
Links and Resources
To learn more about how to sonify and capture web traffic using Python, I recommend two great blog posts by my good friend Jackson Goode. Here, he explains the process in great detail:
Also, to learn more about Henrik Nordahl and his awesome artworks, check him out online at his: