Sound of Traffic Preview version .5

Sound of Traffic is a Java "application" which converts TCP/IP header information into midi notes via the Java Synthesizer. The purpose is to listen in on network traffic in ordered time, via a tempo, rather than realtime, which could be more chaotic. In this sense it becomes closer to music then noise.

Play back of traffic is sorted by source and destination addresses and ports. Ports are assigned individual midi instruments and played on odd or even ticks depending upon whether it is a source or destination packet. The note played by the port is based upon the number of hits (amount of traffic) occurring on the port.

Development is on hold while I develop a new package for converting numeric data from any data stream into audio (MIDI, Sampled, FM Modulation.)

Written in Berkeley and Reno.
John Weir



Old saved files may not work with new versions of SoT.

For the most interesting sound start a stream (MP3 or video), file sharing or other applications which make use of constant traffic.

Saving & Loading is accessed under Menu. Only ports which have been manually assigned an instrument are saved. In the future this process may be automated.

Play IP Addresses toggles the playing of IP4 addressed. This does not work very well currently and is off by default.

Highest Note controls what the highest note the Java midi synthesizer will play.

IP Address Instrument selects the instrument which all addresses will play on.

Ports selects the active instrument. To assign the instrument to a port click on the port id in the Port Graphics window.

Lowest - Highest Port defines the range of ports which will analyzed. Setting the highest port to 10000 is generally a good idea. To listen to just one port set the Highest and Lowest to be equal. You need to press Reset Ports for this to go into effect. Doing so will also clear all instruments assigned to ports (a good way to create a new soundscape.)

Tech Notes

The application tcpdump is used to capture traffic information. Because of this the application must be run as root. Currently this is accomplished by using the sudo command. This may not work under Linux. You may attempt to run the jar as root or su, and leave the password blank.

Windows does not have tcpdump, but uses WinPCAP/WinDUMP. Leo Büttiker has ported this to Windows.


Stetho. I just came across this (11.27.04). Which lead to this. Why didn't I google tcpdump & midi before?

Article about converting images to sound Cornell. This has been done before in Java using the JSyn library.

Wired article on Auralization (Sonification) of stock data. $12,000 a seat? Article. Oh, I was calling this Sound of Traffic long before I saw this article.



GitHub repo
Sound Of Traffic
02.06.05 41 KB Unix and OS X
For Windows See Below

Requires Java and *NIX/OS X system with tcpdump installed or Windump and Winpcap for Windows.

There is no warranty, no license, no EULA, no nothing for this code or app. Use at your own risk, pleasure or don't use it all.

Also available Source Code 62 KB
There is no license on this source. Hell, my name isn't even in there.
Requires XCode 1.2 or higher or other Java compiler/IDE. The code is ugly and poor. This is my first Java app and I am still learning the ropes a bit.

Getting Started (Unix & OS X)

  1. Download the Sound of Traffic.
  2. Double click the SoundOfTraffic.jar file or type java -jar SoundOfTraffic.jar in your terminal.
  3. Select your network interface if you have more than two devices. en0 will be the most likely choice, en1 if you are using Airport.
  4. Enter your System Password* and press Start. If you enter a wrong password the app will just quit.
  5. Start surfing or using your connection, you should be hearing something.

* Note: You can run this as root, either su or sudo java -jar SoundOfTraffic.jar and leave the password box blank.

Getting Started (Windows)

Thanks to Leo Büttiker for porting Sound of Traffic to Windows. Read more here. I have not tested this, the directions are in German, so hopefully the below is correct.

  1. Install Windump. Application should be in the Windows Path
  2. Install Winpcap.
  3. Download Leo's port
  4. Execute the JAR
  5. Select your network interface if you have more than two devices. en0 will be the most likely choice, en1 if you are using Airport.
  6. Leave the username and password blank
  7. Start surfing or using your connection, you should be hearing something.