The Music Genome Project, an algorithmic tool used to organise music at a fundamental level, is exemplary of the notion that software uses a similar structure to that of DNA to constitute its agency.
The Music Genome Project was created by Will Glasser and Tim Westergren (founders of Pandora Internet Radio), in order to “capture the essence of music at a fundamental level”. Using a system of complex algorithms and various constitutive attributes, which are inserted as variables within the algorithmic structure, the endeavor sought to reformulate how music could function as a sophisticated, almost biological taxonomy.
It works by analyzing a library of songs in their individual musical properties. Up to 450 different properties have been extracted from this musical analysis, thus attributing to an archive that can organise the identity of various songs. Individual songs are identified by the various properties that constitute their musical structure, and can thus allow us to understand their function and our preference to them.
We can think of this project in terms of the structure of DNA. DNA is the constitutive molecule of every cell, which contains information about its genetic make-up. The double-helix structure resembles that of an algorithm. It is made up of chemical building blocks (nucleotides), that when combined together in a specific way, can pass the resulting biological instructions, which will constitute the biological make-up of the ensuing species. We can simply define the function of DNA using Terranova’s (2014) definition of an algorithm used in software development: “the description of the method by which a task is to be accomplished by means of sequences of steps or instructions, sets of ordered steps that operate on data and computational structures.
From this we can see that software is merely made up a certain kind of DNA that is particular to its function; it “cannot do without algorithms and data structures” (Mackenzie, 2006). A certain piece of software is like a cell that is filled in by an algorithmic molecule that will, in turn, establish its agency. The molecule of software, is structured by individual properties of the algorithm, like the chemical building blocks of a DNA molecule. When brought together as a cohesive data structure, the algorithm “naturalizes certain orders and animates certain movements” (Mackenzie, 2006). The constant interplay between “code as expression” and “code as operation” forms the process by which software uses algorithms (expression) in order to carry out complex tasks (operations). Just like the DNA molecule, which is read and interpreted by enzymes before being carried out by a messenger called a ribonucleic acid in order to translate this message into action.
The Music Genome project has used this basic structure so that a music library can function at the same fundamental level. Each song is represented by a set of attributes, which contain almost 400 genes. These genes are trait-determining. They are algorithms, which will constitute the characteristics that determine the general make-up of a song. Each gene can be described as a particular trait of a song, being that tempo, distortion used on a guitar, use of chordal patterning, etc. We are thus able to use this genetically organised library of music in order to extract those characteristics of songs that match our preferences.
This sort of software development is the result of the interdisciplinary scientific field called bioinformatics. This field of science is concerned with “sequence, position and repetition” (Mackenzie, 2006). Using similar organizational structures to that of the DNA molecule, bioinformatics focuses on processing the biological data using software. This field of scientific study is an important tool in allowing us to analyse the patterns and properties that function as data in our everyday lives. By using biological data in conjunction with an algorithmic structure, we are able to develop a software, like the Music Genome Project, that allows us to interact with the essence of its agency.