Performance at the Cattle Depot
Flock (2015) for Live Coders explores flocking mechanisms in network structures as a means of managing collaboration in a live coding performance. Loosely modelling the behaviour of bureaucrats in their interactions with self-regulating political systems, the three performers engage in a live coding election battleground, hoping to win votes from an artificial population. The more votes a performer wins, the more prominent in the final mix that performer’s audio will be.
SuperCollider’s JITlib was chosen as the language of algorithmic politics as SuperCollider is a reasonably neutral language, which places relatively few stylistic limits on performers, allowing them to form their own musical manifestos. Performers will develop their framework code in rehearsals beforehand, allowing them to form individual musical election strategies, before making their policy proposals (in musical form) to the artificial population in performance.
The voting mechanism itself is based on Rosen’s work on flocking in bi-partite decentralized networks (Rosen 2010). Rosen proposes that the most efficient and successful means of managing large group collaborations is through decentralised self-regulating networks. He suggests that these networks can maintain their decentralised non-hierarchical organisations through flocking mechanisms.
In Flock the network is made up of 2 types of node: feature trackers (using the SCMIR library in SuperCollider); and AI agents (who have preferences and voting rights). The feature tracker nodes hold information relating to the current feature states of the input audio from the performers (1 node per feature). The agent nodes each have a profile, which includes ideal state preferences for each feature which is being tracked, and values denoting how strong their preference for that feature is. Other profile characteristics include how strongly the agent is influenced by its neighbours’ preferences. These features combined define the position of the node in the network and how it moves within the flock.
At regular intervals during the performance the AI population will ‘vote’. Agents vote for the audio input which has the closest current feature set to that of its ideal profile. Agents that are outside of a certain threshold distance of any audio input will effectively be non-voters. As our AI society works on proportional representation principles, the proportion of votes received amounts to the proportion of the audio that is heard by the audience, i.e., if you receive 30% of votes, 30% of your audio is added to the main mix.
Agents modify their personal preferences throughout the performance depending on the preference of their network neighbours and the feature states of the incoming audio. The amount that each AI agent modifies its preferences depends on its profile value for autonomy. Agents which vote for the current winning party slightly increase their influence over other agents.
Humans and agents alike become ensnared in a chaotic game of cat and mouse as the clarity of whether the human input to the system is convincing the AI society to flock to their musical proposal, or the humans are rather chasing the various preferences of the agents to win votes, becomes blurred. The humans can’t predict exactly how agents will react or move within the network. In order to win votes the humans can aim for mass appeal with relatively neutral proposals or try to find a radical niche which strongly differentiates them from other performers.
Although it could be argued that the audio input into the voting mechanism could be any audio we propose that levels of abstraction and interpretation present in live coding invite analogies with governmental policy writing. The code/policy written by the performer/bureaucrat is interpreted by the computer/government the effect of which is experienced by the population / artificial population who form opinions which add up to affect their voting choices when it comes to elections. Constantly updating a running process to get closer to AI preferences could be compared to the way that politicians respond to opinion polls and pressure groups. [source: shellyknotts.wordpress.com/projects/social-systems-for-improvisation-in-live-computer-music/flock]
- Shelly Knotts produces live-coded and network music performances and projects which explore aspects of code, data and collaboration in improvisation. Based in Newcastle Upon Tyne, UK, she performs internationally, collaborating with computers and other humans. She is currently a Post-doctoral Researcher at Durham University working on AHRC project: Musically Intelligent Machines Interacting Creatively. She completed a PhD in Live Computer Music at Durham University with a focus on collaboration in Network Music.