N.A.G. (Network Auralization for Gnutella)

for Mac OS X and Windows 2000/XP

by Jason Freeman

Frequently Asked Questions:

Important Note for Macintosh Users: N.A.G. is not compatible with Quicktime 6.4 on Mac OS X 10.2.x. If you are running Quicktime 6.4 on Mac OS X 10.2.x, you must either revert to Quicktime 6.3 or upgrade to 10.3 / Panther.

Q: What is Gnutella?
Gnutella is one of the peer-to-peer file-sharing protocols which emerged in the wake of Napster. Many popular peer-to-peer clients, such as Limewire, Gnucleus, and BearShare, use the Gnutella protocol. The Gnutella network is decentralized; there are no central servers but rather a web of interconnected client computers.

While Gnutella has mostly been used to swap music, it can (and is) used to transfer almost any kind of data. The framers of the protocol had (and still have) much more lofty visions in mind; if you're curious, you may wish to look at: http://www.limewire.com/index.jsp/manifesto.

Q: What is Auralization?
Auralization (also called sonification or audification) is the representation of data through sound. An airplane cockpit may give pilots aural feedback on the readings of gauges so that they may track them while using their eyes for other tasks. A biologist may auralize seven-dimensional experimental data using pitch, volume, timbre, and other qualities of sound in order to aurally grasp a space which has too many dimensions to construct visually. Or a computer programmer may use an aural debugger to continuously track the values of several different variables while testing a program.

For more information on the field, visit http://www.icad.org, the website for the International Community for Auditory Display.

Q: What is Network Auralization?
Network auralization is the use of auralization techniques to monitor computer network information. Its practical application is for network administrators who must continuously monitor the health of their corporate networks. While vital network statistics could be represented visually, network auralization permits administrators to listen in the background while their eyes help them do other tasks.

Q: Why auralize network data from the Gnutella network?
For two reasons. First, the decentralized structure of the Gnutella network makes it fascinating to observe. Second, most of the data transfered over the Gnutella network is audio data, meaning that the data itself can be rendered directly as sound. (In most other cases, auralization techniques translate data values into unrelated sound characteristics.)

Q: How exactly does the auralization algorithm work?
N.A.G. continuously checks the status of all downloading songs and calculates the data throughput of each. It then uses a weighted randomization algorithm to pick a "winner" for each cycle; the higher the data throughput of a song, the more likely it is to win. The winning song is then played (if it is not already playing).

Depending on user settings, N.A.G. often plays multiple songs at a time. In this case, N.A.G. will play the songs which have most recently won.

Q: Why doesn't N.A.G. just literally play the bits as the come through the network?
This was my initial plan in developing N.A.G., but as I began to write the software, some practical and conceptual problems forced me to reconsider. First, the rate at which data is received varies significantly; sometimes, far more bits of data are received per second than can be played, while sometimes not enough bits of data arrive to fill the time. I wanted users to at least have the option of hearing continuous sound.

Second, and more importantly, I wanted to give users control over many different parameters of the auralization algorithm. Simply playing the bits in the order received would have left little room for variations controlled by user interaction.

Q: As soon as I launch N.A.G. I get an error message saying "Unable to change listening port." What's going on?
In most cases, you may safely ignore this message and N.A.G. will continue to operate normally. But in certain circumstances, after this message is displayed N.A.G. will fail to connect to the Gnutella network. See the next question for more information about this.

Q: N.A.G. launches but never connects to the Gnutella network. I know it says to be patient, but I've waited for 5 minutes and still nothing has happened! Why?
Unfortunately, certain Internet Service Providers try to block access to the Gnutella network by their users; you should contact your ISP or your corporate IT administrator and ask them if this is the case. If it is, then you may not be able to use N.A.G. In some rare cases, N.A.G. fails to connect, or takes an extremely long time to connect, for other reasons. You can try to quit and relaunch N.A.G. and see if that fixes the problem. You can also delete a file named "gnutella.net" before you relaunch N.A.G. On Windows, it is located in C:\Program Files\NAG\lib\. On Mac, control-click the N.A.G. application icon and choose "Show Package Contents," then navigate to Contents/Resources/Java/lib/.

Q: I hear audio dropouts, sudden changes in volume, and/or loud clicks in the sound. What's wrong?
N.A.G. requires a lot of CPU power, hard disk access, and memory to work well. If you have an older machine, or if you are running other programs at the same time as N.A.G., audio quality may suffer. First, try quitting all other applications. You can also lower the maximum number of songs N.A.G. will play at once (on the "Mix" tab) and the maximum number of songs N.A.G. will download at once (on the "Network" tab).

Q: I did a keyword search and no results were found. What's wrong?
First, be patient. Because the Gnutella network is decentralized, it can take a while (as long as a minute!) for search results to come back. Second, try again. Because the makeup of the Gnutella network is constantly changing, the same search query often yields very different results when sent a second time. If your search term still yields no results after repeated attempts, then you should try a less specific search.

Q: I did a keyword search and results came back which don't seem to relate to my search words at all. What's wrong?
Nothing is wrong. Individual Gnutella clients have different criteria for finding matches to search keywords. They may examine MP3 tags which N.A.G. does not display (such as album names). They may count approximate matches (in which only a portion of the word matches) as sufficient. Or they may maliciously provide you with results that have no connection to your keyword search. It's all part of the chaos — and fascination — of a decentralized network such as Gnutella.

Q: Why don't you support Mac OS 9, Linux, or Windows 95/98/ME?
There are several technical aspects of the implementation of N.A.G. which would have made it difficult to port to these platforms. I have limited time and resources, and so chose to create a better, more feature-rich program which runs on the most popular current operating systems, rather than create an inferior program compatible with older operating systems as well.

Download || Audio Samples || Screenshots || Artist's Statement
Documentation || F.A.Q. || Release Notes || License
Back to turbulence.org || Back to jasonfreeman.net

“N.A.G. (Network Auralization for Gnutella)” is a 2003 commission of New Radio and Performing Arts, Inc., (dba Ether-Ore), for its Turbulence web site. It was made possible with funding from the National Endowment for the Arts.

Site and all contents copyright (c) 2003 by Jason Freeman