What is Wi-Fi, ontologically speaking? The Gigahertz electromagnetic spectrum exists irrespective of human or technological intervention, but when the space is co-opted by human and technical actors, does it fundamentally change?
What about the human and technical actors? When an assemblage of electronic components are organized in a way meant to transfer information along this electromagnetic band, does the technology transcend its own capabilities? Do humans, once plugged into this stream become more than what people in Shakespeare’s time would have considered human? Wielding the sum total of mankind’s knowledge in an internet connected, handheld device, do we become superhuman conjurers, magicians? If this is the case then can we consider Wi-Fi a demon or more accurately a daimon from the Greek definition denoting a demigod acting as a personal assistant to humans who are otherwise blind to unseen forces like electromagnetism? If Wi-Fi could communicate with us directly, what would it say? How would it sound? And how could we respond?
As partial fulfillment for my master’s thesis requirements at Aalto University, I explored these questions through the sonification of Wi-Fi signals. An overview of the tools used for this project follow and the source code for the project can be found here.
Toolchain
HackRF One is a half-duplex, software defined radio transceiver. It is the piece of hardware that enables receiving and demodulating signals in the Wi-Fi band.
A Python script was developed to control the HackRF One as well as clean up
its data output for use in audio synthesis. The script defines which Wi-Fi
channel will be swept and then accepts the output from HackRF One. The
amplitude values are received in decibels and pass through to the synthesis
program unchanged. The frequency values, however, need to be heavily
transposed to bring them down to the realm of human hearing.
Python is an excellent language for simply and rapidly doing math opera-
tions on data streams. The first thing the script does is take the beginning
and ending frequencies from the sweep function and transpose them down
by a factor of 8 for the starting frequency and 7 for the ending frequency. This
transposes the frequency into a band that encompasses the entire range of
human hearing (e.g. 24 Hz – 2453 Hz). This new range is then broken into
several frequency bins equal to the number of amplitude measurements
taken in the HackRF sweep function. In the case of this installation, it is 25
pieces or steps.
Different approaches to spacing out the frequency bins were attempted
with differing results. A direct, linear mapping resulted in more than half of
the frequencies being over 10,000 Hz. Because it is more difficult for humans
to distinguish a difference between very high frequencies, the resultant sound
was a high buzzing drone, static and teetering on the brink of painful to listen
to. That humans can distinguish more easily between lower frequencies than
higher speaks to the logarithmic functioning of our sound perception
(Varshney and Sun 2013, 28). A logarithmic mapping of the frequencies was
implemented, resulting in a more dynamic and pleasant soundscape.
With the frequency and amplitude pairs chosen, they are then sent to the
synthesis program in SuperCollider via Open Sound Control (OSC) messages.
OSC is a protocol developed for sending synthesis and other musical infor-
mation over a server (Wright, Freed 2021). In fact, SuperCollider is built on
a foundation of sending OSC messages between the client and host to create
sound (Wilson, Cottle, and Collins 2011). A simple OSC Python library allows
efficient communication between the Python script and SuperCollider (Att-
wad 2019).
SuperCollider (SC) is a programming language and development environ-
ment for audio and synthesis applications. Its architecture allows one to implement unorthodox or complicated synthesis ideas in just a few lines of
code.
The heart of the SC code is a SynthDef or synthesizer definition. The
SynthDef contains 25 oscillators with arguments for 25 frequencies and 25
amplitudes. The arguments can be updated in real time while the synthesizer
plays continuously. In this implementation, the SC code listens for the in-
coming OSC messages, a constantly changing array of 50 elements from the
Python script running hackrf_sweep and inputs those elements to the con-
tinuously playing synthesizer. The synthesizer mixes the oscillators to avoid
overloading the speakers and outputs the sound.
An antenna must be calibrated to receive signals at the 2.4 GHz frequency
range. There are myriad options here, but for this project, a novel antenna
design with a striking aesthetic was chosen to bring the observer more deeply
into the realm of the audible internet.
Recent developments in 3D printing with metal have made it feasible to
create antenna shapes that were once impractical. Fractal antenna design can
produce a more efficient antenna. It is difficult, if not impossible, to fabricate
these complicated shapes with traditional manufacturing techniques like
casting or sculpting. However, with additive manufacturing (i.e. 3D print-
ing), these shapes become much more feasible (Shamvedi 2018, 97-100).
The design I chose is a stack of pyramids like that of a Sierpiński triangle
(Minichiello 2021). With its rough exterior and upside-down orientation, the
antenna lends an air of esoteric mystery to the project. Although a side-by-
side efficiency measurement with a traditional Wi-Fi antenna is outside of
the scope of this project, it is enough that the antenna works at least as well
as the common antennas found on wireless routers throughout the world.
The installation is set up with the pyramidal antenna at the center of a
speaker array. The pedestal, cloaked in black cloth, supports the antenna as
a ritual implement as much as practical piece of technology, bidding the ob-
server to enter the sonic circle. Depending on the logistics of the space, the
SuperCollider code can support any speaker configuration from a stereo pair
to an 8-channel surround sound system. Whatever the specific set up, the
antenna is always at the center with the speakers surrounding the pedestal,
inviting the listener to enter the sound world.
By converting electromagnetic signals into human-audible soundwaves, the
observer gets the impression that they are perceiving something usually with-
drawn from access. Utilizing multi-channel surround sound, the installation
envelops the listener, making it easy to relate to the unseen forces that carry
data through the Wi-Fi band. The entire audible spectrum is present to sig-
nify the massive scale of the Wi-Fi band. Microtonal fluctuations in frequency
denote the disparity between the extremely wide bandwidth of a Wi-Fi chan-
nel and the tiny, precise data points that flood the stream. As the listener en-
ters the aural stream, they are confronted with an overwhelming and almost
cacophonous sound. Once the shock wears off, however, they can perceive
the small and random changes in amplitude and frequency that bring the Wi-
Fi channel to life. This sense of life acts to extend the observers’ perception
of the world around them, asking them to consider the Wi-Fi spectrum and
its data streams as an autonomous entity in itself.
Whether or not this installation can be considered music is up for debate,
however, that is not something that will be explored here. Unlike more tradi-
tional algorithmic composition techniques, this installation takes a sonifica-
tion approach. There is no guide in place for frequencies to conform to any
sort of pitch collection or scale. However, they are mapped logarithmically to
appeal to the human sense of pitch. There is no starting or ending point for
the installation. The technical assemblage that makes the Wi-Fi signals audi-
ble simply taps into the ongoing data streams and disconnects at the opera-
tor’s discretion. The idea behind situating the installation between composi-
tion and pure sonification is to let the Wi-Fi band be as much itself as possi-
ble, intervening only to facilitate communication between the observer and
the electromagnetic spectrum.