The Sound of Temporal Networks

I recently gave a talk at the Complexity, Aesthetics, and Sonification workshop in Bielefeld, Germany, organized by Thilo Gross, Maximilian Schich, and Cristián Huepe. A really great workshop with lots of different points of view from art to science!

For the talk, I did a bit of exploration in representing temporal networks with sounds. As those who have dabbled with temporal networks know, visualizing them is very difficult, as they live in time instead of space. But so do sounds. Let’s hear what temporal networks sound like, then!

So what was that? That was one month’s worth of data on students’ phone calls from the Copenhagen experiment, compressed into 13 seconds. I took 10 random students and assigned each their own random pitch so that a sound is played every time the student makes a call. I then turned the time series into MIDI which was fed into one of the synthesizers of Apple’s Logic Pro X.

For such a simple and straightforward exercise, there’s a surprising amount of information in the sonification. If you are into temporal networks, you can hear several familiar patterns: there is a daily cycle, weekdays are different from weekends, and there’s also burstiness.

Let’s continue listening to these data. The Copenhagen data set contains metadata on text messages as well, so let’s pick one of the students and listen to their egonets — everyone they call or text will get their own pitch, so that, e.g., one friend is always C (on some octave). Then we’ll feed the calls into a sampler with piano sounds and the texts into another with sampled upright bass.

Quite jazzy, isn’t it? And, again, one can pick up a lot of information here. The daily cycle and the burstiness are still there — and there are even some repeated patterns, parts of temporal motifs. There is also a finding that had escaped my attention earlier — at around the middle of the timeline, there is a cluster of notes being played on the piano, as the student makes a large number of calls in a short period of time. This pattern is, in fact, present in several other students’ timelines at the very same time.

Now let’s have a bit of fun with probing the network with random walkers. I use greedy walkers — a random walker is placed on a node (student), and when the student makes a phone call, the walker moves on to the student being called, and so on. Every newly visited student gets their own pitch that is one semitone higher; when the pitch goes down during the process, this means that the walker is visiting nodes that were already visited. Let’s hear one walk, starting from a random node:

The walker explores a larger subnetwork around the starting point, sometimes backtracking, before escaping off. Now let’s hear another walk:

Quite different, right? This walker has literally become stuck in a neighbourhood of a few students who only keep calling one another and the walker cannot escape. So the social neighbourhoods of these two students are quite different indeed!

Finally, for something entirely different — the sound of criticality. This is simulated (by my student Sara Laurila): what we have is the SIS (Susceptible-Infectious-Susceptible) model on a N=50000 node network, parametrized exactly at criticality — on the boundary between two phases where in one, all activity dies out and in the other, there is persistent activity. (In the model, nodes are S until they are in contact with an I, then they become I and make others I too, until they revert back to being S, to become I again at some point in the future. So this excitement (I) propagates through the network).

In the sonification below, I again use a random sample of sentinel nodes, each assigned their own random pitch. The nodes make a sound whenever they turn I, i.e., whenever the wave of excitation hits them. Here’s what criticality sounds like:

Here’s the same but with drum sounds instead. Sounds like Zappa, but without intention or direction, as a drummer friend of mine remarked.

And finally, criticality from the point of view of one single sentinel node: