abstractmachine

9 April, 2008

Le mythe de la mite

Filed under: abstractmachine, code, concept, physicalization, podcast, thesis — Douglas Edric Stanley @ 21:07 pm

I’ve been doing a lot of writing, interviews, conferences, etc. that I haven’t been able to comment on from this blog because much of it has yet to be published. But today I just got word that one of these theoretical texts has finally been published, and ran on Radio Grenouille monday morning. It is a text I wrote for Marc Voiry on the subject of the “Myth of the moth: towards a mothology of computer science” (sorry, this just doesn’t translate). Marc wanted to reactualize Roland Barthes’ famous texts of the 1950’s — published in 1957 under the name [Mythologies](http://en.wikipedia.org/wiki/Mythologies_(book) — and invited various thinkers to ponder the mythologies of today, and in some cases return to the mythologies of Barthes some 50 years later to see what had changed. It promises to be a great series considering those he’s invited, and should be a fun listen.

For my ten minute slot, I wrote/spoke about the mythology of the computer bug, and the relationship between one mythical moth and one mythical machine, and how their meeting constructed a mythology that informs us still today. It is an attempt to construct a “miteology” that allows for an epistemological reading of computer science, i.e. how its mythologies can inform us about its internal (logical, conceptual, political) contradictions. It’s about machines, compilers, interfaces, circuits, algorithms and how they relate to one poor moth still (to this day) mumified under a piece of transparent tape while exposed for all eyes to see at the Smithsonian.

Unfortunately, I’m a horrible reader, and pretty much incapable of reading my own damn text without stumbling all over the place. It is strange the degree to which writing and speaking French are two totally different activities for me. I learned the language so late, and yet have depended on it so intimately for practically all of my theoretical activity, and somewhere in that tangle of neurons I have two totally different understandings of the French language that are simply not compatible. I am just not comfortable reading out loud in French. Whereas the text itself was written quite joyously, with a certain sense of freedom; a feeling that I often feel when teaching, for example. But writing a text in French, and then reading it out-loud, just doesn’t seem to work. Pity. I quite enjoyed it.

So for those (like me) that can’t labour through my cracking voice that sounds as if its owner was just introduced to puberty, here is the original text :

  • Le mythe de la mite : vers une mite-ology de l’informatique

Pourquoi devons-nous soigner autant toutes ces petites machines qui nous entourent ? Pourquoi faut-il dompter en permanence ces appareils qui n’arrêtent pas de pousser dans nos bureaux, dans nos maisons, qui rentrent jusque dans nos lits ? Pourquoi doit-on les rassurer pour qu’elles ronronnent sans piquer des crises et perdre tous nos précieuses données; les caresser dans le bon sens du poil pour qu’elles nous offrent leurs services tant convoitées ? Pourquoi la tâche d’opérer d’une machine informatique contemporaine ressemble autant aux labeurs du jardinier, qui doit désherber de manière cyclique son jardin pour qu’il pousse convenablement ? Et puis, la véritable question devant tout ceux qui n’arrivent pas à installer la dernier version de Word : est-ce qu’il sera toujours aussi difficile d’actuer ces machines ? Est-ce qu’elles ont toujours été si difficiles, si fragiles, toujours aussi enrageantes ?

Le terme de « bug », c’est-à-dire la « petite bestiole » qui encrasse la machine et l’empêche de fonctionner normalement, ne naît pas avec l’informatique, mais on peut affirmer à l’inverse que cette dernière est née incontestablement — dans une scène historique très précise — avec lui. Si le mot « bug » est entrée dans le vocabulaire populaire, c’est justement parce que l’informatique s’est popularisée — le « personal computer », qui arrive autant infesté de bestioles que toutes les machines qui l’ont précédé.

La première à mythologiser le rapport entre l’informatique et ses défaillances, c’est Grace Murray Hopper, programmeuse du premier ordinateur digne de ce nom — le Mark I, qui voit le jour vers la fin de la guerre en 1944 à l’Université de Harvard. C’est un détail inconnu pour beaucoup de français, mais parmi les premières algoristes historiques, trouvent deux femmes — Grace Murray Hopper et Augusta Ada Byron, comtesse de Lovelace, fille du célèbre poète, qui travaillait quelques cent ans avant Hopper sur la « Machine analytique » en assistant Charles Babbage sur la traduction de thèses mathématiques et sur la correction d’algorithmes pour sa machine qui restera pendant 150 ans inachevée. Pour sa part, Grace Murray Hopper travaillera sur la création de « compilateurs », c’est-à-dire les mécanismes de traduction des instructions lisibles par les êtres humains et qui doivent être traduites ensuite en un langage plus étrange — compréhensible presque exclusivement par la machine. Car écrire directement en langage machine — en 0 et en 1 –, est une exercice rarement supportable pour le commun des mortels, et même fatiguant pour les quelques exceptions comme Hopper qui maîtrisaient l’architecture de la machine avec sa logique particulière. Faciliter l’écriture des programmes permettraient à un plus grand nombre d’accéder aux capacités de l’ordinateur, et aiderait à écrire des programmes capables d’effectuer des actions de plus en plus complexes.

Mais avant de parler de la complexité, racontons l’anecdote que Grace Hopper aimait tant raconter, c’est-à-dire le jour du premier « bug » informatique. Les premières machines informatiques étaient de véritables monstres qui pouvaient occuper plusieurs salles entières. Elles étaient aussi grandes à cause des différents actionneurs mécaniques qui contrôlaient et executaient les instructions. Ces actionneurs occupaient non seulement de la place mais produisait énormément de chaleur et de bruit. Le 9 septembre 1947 — notre journée mythique – un véritable insecte, une petite mite, s’est glissée dans la salle du Mark I et croyant apercevoir le chemin menant à la lumière du soleil s’est incrustée dans les contactes de l’appareil, provoquant une panne général accompagné de la mort de l’insecte. Au départ, les ingénieurs pensaient qu’il s’agissaient d’une simple erreur humaine, c’est-à-dire d’un phénomène déjà décrit par Ada Lovelace quelques 100 ans auparavant où une erreur d’ordre ou de logique placée au début du programme empêcheraient la partie suivante de fonctionner. Mais après relecture des instructions on ne trouvait nulle erreur, ce qui les amenait à la deuxième phase d’investigation, la vérification de chacun des relais qui très souvent tombaient en panne à cause de l’effort physique de la machine. On l’oublie souvent, mais une machine informatique — bien qu’elle s’opère par grandes abstractions logiques dans son organisation diagrammatique — est toujours actionnée par un jeux de verrins physiques quelconques et en 1947 les défaillances étaient la plupart du temps dû au mauvais fonctionnements physiques des composants. C’est alors pendant la vérification un par un des relais de la machine, que l’équipe de Hopper découvre la mite coincée entre deux contacts en cuivre. Dans un geste dont le résultat est encore exposé aujourd’hui dans la partie du musée national américain dédié aux sciences — le Smithsonian — ces ingénieurs ont extrait la bestiole et l’ont scotché dans leur journal de bord accompagné par la légende, “1545 : Relais #70 Panel F (mite) dans le relais. Premier cas de découverte d’une véritable bogue.”

Nous ne pouvons pas insister assez sur la force mythique de cette anecdote. Même la langue française porte les traces de cette histoire : alors que le terme anglais « bug » est un héritage du français « parasite » — encore employé aujourd’hui en décrivant, par exemple, le bruit qui parasite un signal électrique –, ce terme a été réimporté en français sous la forme « bogue » pour décrire cette défaillance spécifique de la panne de fonctionnement /algorithmique/ de la machine informatique. Il ne s’agit pas d’un simple gêne, ou perte relative du signal; il s’agit d’une /panne/ de la machine dans tout son fonctionnement, ou dans le fonctionnement d’un aspect de la machine comme dans un logiciel qui « plante ». On est proche de l’idée d’un « arrêt » du mouvement de la machine, d’une dislocation ou de son déraillement, plutôt qu’un simple ralentissement ou affectation qualitative. Le scotch employé ce jour de septembre 1947 semble avoir scellé à jamais l’idée qu’une panne algorithmique est liée non pas à la faute de raisonnement dans l’écriture d’un programme — la véritable raison de la plupart de nos pannes –, mais plutôt à une violence introduite dans l’appareil depuis sa strate physique.

La force de tout mythe est de condenser un certain nombre de contradictions internes d’un phénomène quelconque à travers une figure qui raconte de façon synthétique l’histoire de sa conception. Le mythe est une histoire de naissance. Dans mon vocabulaire à moi, j’appelle ce moment « le talon d’Achille », faisant référence au mythe-matrice du trempage d’Achille dans la rivière Styx et de la trace des doigts de sa mère lorsqu’elle enrobait son fils par son nouveau pouvoir technologique. Le talon d’Achille associe à jamais la force constructive d’une technologie à sa déconstruction; autrement dit, le mode d’emploi qui explique comment monter la machine décrit également dans le même mouvement comment la démanteler.

J’y vois dans ce mythe de la mite, deux contradictions propres à l’informatique qui sont toutes les deux liées à la même racine ontologique, et que je définirai comme le problème d’attitude de la machine face à sa physicalité.

La première contradiction d’une machine algorithmique concerne la tension entre la couche matérielle ou /concrète/ de l’informatique, et sa couche /abstraite/ ou algorithmique. Quand nous décrivons un programme à une machine, nous décrivons un certain « comportement », c’est-à-dire nous lui donnons son « orientation ». Nous ne nous soucions pas forcément de tous les détails de son fonctionnement, et c’est Grace Murray Hopper qui a eu en premier assez de lucidité pour voir la force que l’abstraction pouvait apporter dans le maniement de l’appareil : à travers ses activités de recherche et de développement (menant à terme au langage COBOL), elle a montré que pour programmer une machine il faudrait mieux s’abstraire de son opération purement mécanique — la machine vu à partir de ses circuits –, et à la place lui communiquer plutôt par des grandes lignes. Malheureusement, c’est précisément dans cette abstraction des couches matérielles que les erreurs algorithmiques peuvent s’introduire, notamment dans l’approximation qu’elles font de la manière dont la machine exécutera ses tâches. Parfois les erreurs du programme peuvent venir d’un mauvais ordonnancement purement logique, par exemple le cas déjà décrit par Ada Lovelace en 1842 où le résultat d’un calcul serait demandé par un programme avant même que ce calcul soit lancé. Mais il existe un autre problème de conception des programmes et qui concerne le problème de la traduction de ces instructions algorithmiques (autrement dit le programme comme « Idée ») vers les rouages mécaniques qui doivent physiquement les actionner. Souvent la logique de ses deux couches sont très différentes, et demandent au programmeur (ou programmeuse) une grande gymnastique de la pensée pour maîtriser. On ne maîtrise jamais totalement la bête, d’où divers accidents historiques, comme celui du porte-avion USS Yorktown qui a resté en panne pendant trois heures à cause d’un zéro que Windows NT 4.0 n’a pas su calculer. D’autres erreurs algorithmico-matérielle sont souvent provoquées par la manière dont une valeur est stocké dans la machine : le calcul ne sera pas le même si on utilise deux octets, quatre pour stocker matériellement la valeur de PI dans un registre de la mémoire. Dans ces deux cas, les valeurs après la virgule, ne seront pas les mêmes. Le souci du programmeur est précisément cet endroit où la logique intellectuelle du programme rencontre l’interrupteur machinique qui doit l’actualiser — ce que le mythe de la mite représente sous la forme d’une rencontre de deux mondes ontologiquement incompatibles mais qui cherchent néanmoins à se communiquer. Car il est impossible, voire fatal, de parler avec la machine dans son langage pur.

Ce qui nous amène à la deuxième contradiction constitutive de l’informatique : celle de notre accès à la machine, autrement dit l’interfaçage. Quelque part nous pouvons qualifier l’erreur de la mite d’avoir voulu interagir /directement/ avec la machine. Ce que ce mythe nous apprend, c’est qu’avoir voulu interagir avec la machine sans interface était à la fois fatale pour la machine et pour la mite. Ce conflit nous ramène bel et bien à la contradiction précédente, c’est-à-dire à cet étrange négociation permanente qui doit exister entre la matière et l’abstraction pour que l’informatique puisse fonctionner.

Informé par ces observations, je propose à une humanité de plus en plus imbriquée par contagion à l’informatique, un nouveau champ d’étude — celui de sa mite-ology, qui étudierait la mite informatique dans ce qu’elle aurait de constitutive pour le nouveau monde qui arrive. Au lieu de fuir le plantage ou le bogue, cette mite-ology la prendrait comme la limite constitutive, comme son ouverture. La mite-ology partirait du mythe de la mite comme l’annonce d’une nouvelle physicalité qui en permanence doit accompagner toute agorithmisation de notre polis — autrement nommé sa virtualisation. Pas de nouvelles abstractions, pas de monde soi-distant « virtuel », sans que parallèlement soit engendré des retour de bâton du monde physique qui doit accueillir et rendre compatible (ou incompatible) cette virtualisation. Pas d’algorithmisation du monde sans de nouvelles rencontres avec la mite : cette bestiole qui par curiosité et besoin cherche à créer de nouveaux circuits d’interaction avec le monde.

22 October, 2007

Algorithmic Writing Systems

Filed under: abstractmachine, atelier hypermedia, code, live, podcast, thesis — Douglas Edric Stanley @ 09:26 am

Several people asked me to post a copy of my talk from the Art-Oriented Programming conference (cf. Art-Oriented Programming++). As I mentioned at the opening of my talk, the conference itself was organized on such short notice that I had to write everything in English. I had originally planned to show a French translation on-screen (hence all all the flying letters) but just ran out of time as I was still writing the talk itself on the train. So this is a very hastily-written document.

I should also mention that during the talk I realized that many of my most important concepts were a little washed-out in the rush. A lot of the vocabulary I used in the talk should have been qualified. I’m thinking specificially about the uses of terms such as “abstraction”, “recursion”, and especially “simulation” which is proposed as an alternative to “representation” (cf. plotseme). This imprecision makes some of the arguments a little difficult to follow, or a little more banal than intended.

Algorithmic Writing Systems (pdf)

6 October, 2007

Complexity and Gestalt

Filed under: abstractmachine, code, podcast, thesis — Douglas Edric Stanley @ 21:10 pm

I’ve been experimenting with the idea of complexity recently, and over the past few hours with Gestalt-esque tensions between form recognition and visual overload. This is related to a series of questions I’ve been asking myself about the relationship between perspective and recursivity in algorithmic machines. I’m interested in the nature of all those lovely spindly lines we see populating so many Processing sketches, and how they relate with code stuctures. Complex forms come cheap in code; all you need is an iterator: it costs almost nothing — from the programmer’s perspective — to draw 1 line and n lines, especially when you take performance out of the equation. But beyond the economy of drawing hundreds of thousands of millions of bajillions of lines, what about the perceptive field that emerges from this code? If there is a machinic relationship between the visual forms and the code forms (one our basic tenets), what do these code structures generate in terms of perceptive structures? And does computer code — if treated as a series of recursive abstractions (at least in practice) — form new perception-fields at each stratum of abstraction, synchronized to the code abstraction layers?

There are several ways to explore these questions. As a quick experiment, I built this somewhat simplistic diagram in a few minutes to describe one of these perceptive fields (source code). Often 3D shapes make no sense in a 2D plane unless there is movement; even when you add shadows, shaders, and camera effects, etc., there is often that problem of render mode ambiguity. This diagram plays with this ambiguity, making the code form more visible with movement. Otherwise it tends to resemble a formless 2D field. Here, the addition of an extra plane (i.e. movement) renders a form visible, just as Google Earth renders visible historically ambiguous relationships between the U.S. military and Nazism or reveals Roman ruins by looking at unnaturally shaped mounds from space. By the addition of one simple « dimension », a form emerges. What is interesting here is how the extra dimension can be mapped to a specific line of code: rotate().

Actually, there is an additiontal relationship in this diagram between the 3D functions « translate » and « rotate » : the translation movements of each mini-cube makes the meta-cube more visible (by revealing more of its contours), but only when viewed in conjunction with a rotation movement.

It is important to keep in mind that this is a simple example intended to illustrate the principle, and not its effect in the real-world. For that, we would have to look elsewhere; to give just a few examples I’ve been working with recently, I could cite Masaki Fujihata’s Field-Works or, from a more media analysis perspective, Ben Fry’s Mario Soup, Dismap or Martin Wattenberg’s Shape of Song.

This might be totally left field, but now that I think of it, there’s a great passage in Italo Calivino’s Leibniz inspired « reading a wave » from Mr. Palomar:

« Mr Palomar sees a wave rise in the distance, grow, approach, change form and color, fold over itself, break, vanish, and flow again. At this point he could convince himself that he has concluded the operation he had set out to achieve, and he could go away. But it is very difficult to isolate one wave, separating it from the wave immediately following it, which seems to push it and at times overtakes it and sweeps it away; just as it is difficult to separate that one wave from the wave that precedes it and seems to drag it towards the shore, unless it turns against its follower as if to arrest it. Then if you consider the breath of the wave, parallel to the shore, it is hard to decide where the advancing front extends regularly and where it is separated and segmented into independent waves, distinguished by their speed, shape, force, direction. In other words, you cannot observe a wave without bearing in mind the complex features that concur in shaping it and the other equally complex ones that the wave itself originates. These aspects vary constantly, so each wave is different from another wave, even if not immediately adjacent to successive; in other words there are some forms and sequences that are repeated, though irregularly distributed in space and time. » (p.3-4)

For ultimately, all of these questions of abstraction and gestalt are in fact questions about our relationship to complexity and the role algorithmic machines (will inevitably) play in negotating our increasing complexity malaise :

« [A]t each moment he thinks he has managed to see everything to be seen from his observation-point, [...] something always crops up that he had not borne in mind. If it were not for his impatience to reach a complete, definitive conclusion of his visual operation, looking at waves would be a very restful exercise for him and could save him from neurasthenia, heart attack, and gastric ulcer. And it could perhaps be the key to mastering the world’s complexity by reducing it to the simplest mechanism. [...] Only if he manages to bear all the aspects in mind at once can he begin the second phase of the operation: extending this knowledge to the enitre universe. It would suffice not to lose patience, as he soon does. Mr Palomar goes off along the beach, tense and nervous as when he came, and even more unsure about everything. » (p.5-7)
 
icon for podpress  Gestalt (example no°1): Play Now | Play in Popup | Download

7 April, 2007

livecoding au Quai

Filed under: abstractmachine, code, podcast, workshop — Douglas Edric Stanley @ 21:20 pm

Here are pictures + video from the workshop I ran at Le Quai, a school of art and design in Mulhouse, France. The workshop was organized by Jeff Guess. I am still waiting for some more documentation from the participants themselves, but its already been several weeks and I wanted to at least get this documentation online.

Mulhouse - 5 Mulhouse - 4 Mulhouse - 3 Mulhouse - 8 Mulhouse - 18 Mulhouse - 22 Mulhouse - 28

Most of the images were taken during our 4-hour livecoding performance for Tranche de Quai on the evening of March 1st.

Mulhouse - 52 Mulhouse - 54 Mulhouse - 94 Mulhouse - 93 Mulhouse - 46 Mulhouse - 63

Although it isn’t clear from the images, we pasted together a strange livecode system which was more like live parametering using osc for the declaration and attribution of variables and code in a program as it ran. The graphical coding environment was designed by Ben and myself, based on some very cool experiments Ben did with typography (working with design students is always fun for a typography-nerd like me). Into this networked system, we fed the film PI, which was used for raw sound and image data and then spit out as a re-worked video feed. Around this system Julia and I installed three video projectors into a small gallery space which we occupied throughout the evening with various code permutations. The projectors displayed the film, the re-processed film, and a livecoding window.

Mulhouse - 11 Mulhouse - 12 Mulhouse - 34 Mulhouse - 57

The original plan was to do real livecoding, but unfortunately this was just too tight on the schedule we had to work with. Also, I wanted to leave the students with a good knowledge of what is possible with Processing, as they will need it in the rest of their studies. That said, Processing really isn’t all that great for coding during runtime. There are scripting hacks out there for Processing, but they weren’t really fast enough and are incredibly wonky when you want to work in 3d. Basically you have to force the Applet to go into 3d and then constantly force all the variables into float-type as the interpreter declares everything as doubles (if my memory serves me well). As a result, I was the only one to truly livecode during our performance, even using the slowness of the interpreter to my advantage. You can see the results in still images (below) and clips of that section of the performance are also in the video (above). Basically I tried to create a movieplayer that would constantly fall astray of the framerate of the incoming video. But aside from my 45 minute performance, all the student code was osc based manipulation of variables and loops.

Mulhouse - 79 Mulhouse - 75 Mulhouse - 87 Mulhouse - 89 Mulhouse - 90

The workshop was actually very short: 3 days to learn everything, 1 day to prepare and perform, and 1 day for wrap-up/critique. Thankfully, Jeff and Julien are already very accomplished coders and were able to fill in the gaps. I am actually very encouraged by Jeff’s teaching effort. He’s a real pro and it’s nice to know that in France I finally have someone from another school I can collaborate closely with. But that’s also quite a telling statement because Jeff is originally from the other side of the pond. Like me.

 
icon for podpress  Podcast Video [05:00m]: Play Now | Play in Popup | Download

23 November, 2005

instruments + plateformes interactives

Filed under: abstractmachine, atelier hypermedia, code, design, hypertable, instrument, interface, live, play, podcast, student — Douglas Edric Stanley @ 16:40 pm

This is a recording of my presentation during the Symposium Audio/Espaces/Réseaux organized by Locus Sonus. In the accompagnying pdf file (destanley.pdf) you will find links to all of the films and interactive animations described during the talk. This talk is in French (why the hell am I writing this in English? I have no idea)

 
icon for podpress  instruments + plateformes interactives [01:06:34m]: Play Now | Play in Popup | Download

22 September, 2004

The Signal

Filed under: algorithmic cinema, exhibition, hypertable, podcast — Douglas Edric Stanley @ 17:31 pm
  • Installation: The Signal
  • Concept+Design: Douglas Edric Stanley
  • Sound Design: Julien Hô Kim
  • Exhibition: Ecoute
  • Location: Centre Georges Pompidou
  • Reception: September 21, 2004. 17h00
  • Dates: September 22, 2004 to January 17, 2005. 11h - 19h. Closed on Tuesdays
  • Curator: Boris Tissot
  • Update: The Signal (mp4 video)

The Signal, Douglas Edric Stanley @ Pompidou Center, September 2004The Signal, Douglas Edric Stanley @ Pompidou Center, September 2004

“The Signal” is a unique audiovisual narrative, designed specifically for the Abstract Machine Hypertable. It maps the mysterious chain of infections that led to a poorly documented telepathic virus that spread throughout the United States of America in a historical period not so far removed from our own. Traces of this virus have been found in the strangest of milieu : in communications technologies, via teenager rituals, in mass media and advertising, through irrigation systems, in sound recordings, in political propaganda and urban myth paranoia, in sociological experiments, etc. “The Signal” charts the virus’ growth across the map of the United States, allowing the Hypertable to transform itself into a sort of war map, overlooking the spread of the contagion.

From a purely technological point of view, The Signal is a unique algorithmic cinema experiment. Over 10,000 video shots were culled from public archives, treated and injected into the Concrescence development software. A narration was added to each image, giving its context in relation to the story. Each image contains its own diegetic sound track, but is accompagnied by narration whenever possible (the program avoids cacaphony by singling out only related narrative information, and tries to give pause between each utterance). One all this data had been entered into the database, the software was then used to literally “teach” the computer the non-linear narrative relationships between the images. This allows the computer to make intelligent choices within the narrative material, in such a way that it can smoothly acompany the unpredictable movements of the public. As each image knows its relationship with other images in the database, it can easily modulate the arrival of new images to match narrative paths coherent with its own. This “concrescence” process is what gave the software platform its name, by the way. “The Signal” was created, therefore, to be one of the first proofs-of-concept of the feasability of the Concrescence platform.

Julien Hô Kim & Douglas Edric Stanley @ Pompidou Center, September 2004 Keith Evans @ Pompidou Center, September 2004

I will be showing The Signal at the Pompidou Center, as part of the exhibition Ecoute on sound as an artistic material. I wrote the story and designed the images starting from material from the Internet Archive. Sound design by Julien Hô Kim. Keith Evans of Silt fame (yes, that’s his back) spoke the narration.

For those that already saw the hypertable prototype at the Festival Némo or H2TPM03, you might be pleasantly suprised by the changes.

The Signal was co-produced by the CIREN, with the assistance of Arcadi, the DICREAM, and the SCAM.

 
icon for podpress  The Signal [2:30m]: Play Now | Play in Popup | Download

15 March, 2002

Trane

Filed under: abstractmachine, instrument, machine, podcast — Douglas Edric Stanley @ 20:30 pm
  • Machine: Trane
  • Concept+Development: Douglas Edric Stanley
  • Play!

Abstract Machine : Trane

Trane is one of the first components of a larger ongoing project entitled The Abstract Machine. Trane is a collective, algorithmic composition environment. It is also a toy. By laying out tracks, setting down notes, and distributing trains, users create a rail network that doubles as a musical composition.

There are 128 * 128 switches or roundhouses, each with four possible points of redistribution, which can be interactively redefined allowing for varying movements. For example, a series of four curved tracks could be placed in a circle, with the switches oriented to always send the train in the same direction (clockwise or counter-clockwise). By placing trains and notes on this circle, a constant looping rhythm or melody could be created. A second set of tracks could then be attached to this circle, allowing for variable offshoots and thereby modulating the monotony of the looping circle. As more and more alternative routes are drawn, each with their own set of notes, infinitely varying, generative music becomes possible.

A downloadable version will also be made available online for DJs, performers, or people simply wishing to compose private diagrams with trane.

As the music is standard MIDI output, many electronic music devices can be connected to trane’s output. DJs can connect up synthesizers, MAX/MSP patches, video samplers, etc. and compose a performance in real-time with sounds other than the simple MIDI instruments played through Quicktime. For example, I’ve created a live composition performance entitled “from A to G”, in which the Hitchcock film Strangers on a Train is re-edited in real-time using video and audio clips in the place of notes.

 
icon for podpress  Trane [4:04m]: Play Now | Play in Popup | Download