Evolution of the Aphex Twin sound

Average loudness:


Aphex Twin is the stage name of Richard D. James, an electronic musician and composer who has been releasing music for over 25 years. Working in a multitude of styles, he was at the epicentre of the so-called IDM (intelligent dance music) genre in the 90s and continues to release music today. His work stretches from ambient drone to acid techno and from minimal classicism to drill 'n' bass, with these diverse genres sometimes being blended on a single album or even in the same track. Considering the variation in the music that he has produced, I thought it would be interesting to see how the Aphex Twin sound has evolved throughout the years by visualising it.

Richard D. James has an overwhelming amount of releases strewn across many pseudonyms (I counted 18 aliases on Discogs). These include singles, EPs, albums and compilations. Deciding on which releases to include in this visualisation was quite challenging. I thought that I should focus on the “core” releases to reflect the overall feel of his work and settled on using albums released under the most well-known pseudonym: Aphex Twin. Whether these albums reflect his most important work is debatable, but I feel that they provide a reasonable reflection of his discography.

Breaking down each album by track, I used two attributes in order to visualise sound: average volume and tempo. While it is difficult to describe and compare music visually, average volume and tempo are likely to show the intensity of each track and work well to visually distinguish one track from another. This visualisation is in no way meant to provide a serious statistical comparison, but I think it works well as a small piece of data art while simultaneously providing an insight into the variety of the Aphex Twin sound.

To measure average volume, the dB (decibel) RMS (root mean square) of each track was obtained using SoX. SoX was also used to retrieve track lengths. Bash and Python scripts were then used to process this extracted data.

To measure tempo, beaTunes 4 was used to retrieve the BPM (beats per minute) of each track. For some tracks, the BPM determined by beaTunes was either twice as fast or only half of the value which seemed “right” for the track, so I adjusted those values by hand. Although beaTunes returned a BPM value for every track tested, there are certain tracks that do not have a noticeable tempo or beat at all, so BPM values for these were discarded. They appear as having a tempo value of n/a in the track information and are not visible when triggering the “tempo” view.

Finally, Google Sheets was used to compile, format and export the data.

The visualisation was implemented using d3.js.