FuckingWebBrowser sonification demo from Michael Takezo Chinen on Vimeo.

FuckingWebBrowser is a simple open-source WebKit based browser (for which there are hundereds of tutorials including many of annoying ones on youtube how to make in less than 2 minutes on a mac.) I added sonification, which converts the memory state into audio. The quality of sound is noise, but an overall structure is recognizable due to changes in the user interface (while the images load, while I mouse over/scroll, etc), which directly affect computer memory. From 5’30” on there is a special sneak preview of a tool codenamed FuckingFucker, which can attach to any process using its PID or BSD name and sonify a dissasembly of the process’s instructions at runtime (eg. and read the registers on the cpu). In this video FuckingFucker is attached to FuckingWebBrowser providing a double sonification.
FuckingFucker is still in development, and is a work in collaboration with Institute of Algorhythmics.

One can download the mac OS app or get the source of FuckingWebBrowser here. Of note, the related project, FuckingAudacity, is also up here. FuckingWebBrowser uses a simple portaudio callback to make sound. It has very little source code and can serve as a good example of how to recompile an open-source app into one that sonifies memory state. I intend to post a tutorial on exactly how to do this soon. A future release will also concern FuckingFucker, which provides the ability to sonify the runtime process of even closed-source apps.


  1. close – the basic sonification scheme for FuckingWebBrowser is pretty simple. It just takes a newly allocated, uninitialized array of floats and pushes it onto the soundcard using portaudio, trimming the floats that are greater than 1.0 by dividing by FLT_MAX.
    There is rarely The actual array is larger than the portaudio buffer, and randomization is used to defeat obvious periodicity due to the portaudio callback buffer size. FuckingFucker uses a fairly different scheme, since it’s not just about memory, but actual instructions.

Leave a Reply

Your email address will not be published. Required fields are marked *