The data and tension, tdat for short, is a family of vocal systems music compositions. All of them involve more than two streams of simultaneous text. They are a bit like games.
rules
Performers read from the same source text, which is divided into four sections. The text itself is divided into lines, which may be phrases, sentences, or words. The four sections contain an equal number of these lines.
Each performer has a unique rule set, which links special 'trigger' lines to each of the four sections. If the performer hears one of these triggers, she must go to that section of the text and begin reading.
Each time she is triggered, the performer starts from any point in the indicated text and reads ten lines, wrapping to the top of the section if she reaches the end. If, after she has read ten lines, she has not heard another trigger, she falls silent.
A performer cannot trigger herself. If a performer reads one of her own trigger words, she ignores it and continues reading.
If a performer hears a trigger to go to the same section as the one she is currently on, she also ignores it and continues reading.
One performer starts the whole piece off by reading the text, starting from anywhere.
In versions later than 7, asterisks ("***") denote a pause, roughly equivalent to the length of a sentence. It is suggested that the performer read a nearby sentence in her head, to help with pacing.
context
The tdat series is an attempt at notating the interactions between a computer virus and its networked hosts. The virus/network system enjoys a previous incarnaton as a computer music composition which I have installed and performed a few places as of this writing, called Sanction of the Victim. Breaking with canonical conventions of notation, I chose to explore the possibilities for a notation to be another performance in itself, with perhaps secondary or tertiary notational structures, such as the above meta-ruleset. A realization of the meta-rules above with a particular ruleset/sourcetext yields the notation for a particular tdat version. A realization of a particular tdat version into a performance yields a kind of oral notation for Sanction.
I am trying to re-frame notational practices as a solution to some of my deep-seated issues with creative uses of technology. The first of these problems is the tendency for works of new media to become dated. Often, art that uses new technologies for its realization gets reduced to an articulation of that technology. It becomes entangled with its material substrate, when many times the initial affinity that caused the creator(s) to engage with it in the first place was something other than that substrate. This is a problem because there is an erosion of meaning that could have been preserved for future discourse if the language surrounding the creative process worked differently. Comming from a background in music, I decided to use notation/realization/experience as an alternative model for the making process.
None of the above ideas are particularly new, even to this century. That being said, the context provided by the emergence of transgressive practices in creative work, as well as the relentless explosion of technological innovation is a significant backdrop. The notation/realization/experience model represents a fairly direct response to the question John Cage posed nearly half a century ago: "Composing's one thing, performing's another, listening's a third. What can they have to do with one another?" In addition, my application of this model to the process of creating with recent technologies owes rather large debt to former professor Ronald Kuivila, who nearly a decade ago asked the question: "What if we begin to think of the creation of media work along the relationship of notation/realization?" For a deeper consideration of the issues surrounding the concepts mentioned, I humbly recommend the reader to my thesis, where at least the bibliography will provide some sources for further discussion much more careful and complete than my own.
process
Initially, the rulesets were derived by hand from word frequency data about the sourcetext. In the first iterations, the sourcetext was in outline form, compiled from class notes and random thoughts about networks social and computational. For some time, I experimented with other appropriated sourcetexts on topics ranging from gun control to information sciences. These early versions used the word as their significant unit. Instead of trigger lines, the performer had to listen for trigger words. This method proved to be far too difficult for even more practiced groups. The rate of error was so high that it made the dynamics totally unpredictable as a function of their rules. Even without factoring in errors in realization, the systems varied wildy in their dynamics and to this day I do not fully understand what makes them tick. The turning point happened when I decided this wasn't a problem.
Instead of painstakingly trying to engineer a system from the top down-- a process that sometimes took a few hours with matrices drawn in pencil on graph paper-- I decided that understanding this system was less important than coming up with an optimal one to perform and compose with. I created a model of the systems that simplified the sourcetext and rulesets into strings of ascii characters. These characters could then be substituted for words, phrases, sentences, note-event parameters, anything. I wrote a small language-side class library for the SuperCollider audio synthesis environment that modelled the performers reading and listening to each other. Since I ultimately modelled the performing process as a time-based multi-threaded routine, the simulations this class library permits are played on a scheduler, making them ripe for sonification. Due to slight changes in the conditions of these systems, which were tweaks to augment programmatic changes in density, the pieces tended to die out early. I implemented a genetic search algorithm, also as a scheduled routine, with longevity as its fitness function. This choice actually exacerbated one of the problems with using a scheduled routine to simulate these games: turns may take a very short amount of time, but they do take time, so that the more fit a generation is, the longer it takes to progress to the next one. Because of the wildy variable results even between simulations with identical initial conditions, I also had to average over many tests to get reliable results.
thesis performance: quartet
The version of this piece that is part of my thesis presentation is a quartet. The libretti may be found here: rules , texts .
A recording of the piece may be found here .
Many thanks to Elizabeth Fuller, Ted Hayes, Lee-Sean Huang, and Kristen Smart for working with me on this project. I simply could not have done this without them, and that they worked for tollhouse cookies alone is a testament to their open-mindedness. Love and thanks to my partner Jenny Ryan for setting aside our typical revulsion toward traditional gender roles and baking those cookies for me while I slaved away on the many facets of this thesis. Her voice may be heard on the above recording, substituting for Elizabeth.
algorithm case study: trio
A sample character string could be "ESgqtoeBrTLxRMKliZmWvAFbhjInVNHkdfCOwyzGcJpQPsuXUYDa". I was able to resolve both the rulesets and the sourcetexts into one string by reserving the first 4n characters as trigger units, where 'n' is the number of performers. The system that uses the aforementioned gene is for three, so the characters "ABCDEFGHIJKL" are reserved. In fact, the reserved characters will always refer to the same trigger destination for the same performer. The character 'A' will always trigger performer 1 to begin reading section I, 'B' will trigger performer 1 to section II, and so fourth. The placement of the triggers in the inert substrate of non-triggers is really all we care about.
Instead of breeding, which doesn't exactly work since a simple bitmask won't yield legal strings (each char must be unique), the search relies entirely on mutation for progeny. Mutation works by scrambling a string's order. The algorithm for mutation makes use of the ".curdle" method in SuperCollider, which makes sub-groupings of an array based on the likelyhood of an item to be isolated from its neighbors. So a curdle factor of 1 would yield an array of totally isolated units, and a factor of 0 would result in no sub-groupings at all. These sub-groups are then randomly shuffled to derive the next generation of gene strings. Each generation contains 32 systems. 28 of these are mutations from the top 4 systems of the previous generation.
The "ESgq..." system emerged from a search for a three-person "demo" version of tdat, to be demonstrated by selected audience members prior to the performance of the four-person, finalized version, as a way to explain the rules. It emerged from a mutation in the 34th generation, and survived 266 more generations worth of competition. That's what champions are made of. To realize this character string into a performable notation, I simply replace each character with a unit of text, split it into four equal sections, and determine the rulesets for each performer by finding the units mapped onto each of the characters "ABCDEFGHIJKL".
The entire genome for this example may be found here. Do something cool with it! I probably will, too.
code
if you feel lucky, you can peruse the scripts that performed the searches. they are poorly documented and provided here. consider yourself warned.