home background work description implementation future personnel


Technical Implementation
The environment exists on a computer network. Each participant interacts through the GUI on a networked machine.

The networked environment is implemented as a Croquet space. Croquet is is a 3D network environment written in the programming language Squeak, a dialect of Smalltalk. There is a separate virtual machine for each simultaneous participant in the environment; each of these machines provides a Croquet interface into the environment.

One virtual machine hosts the Croquet environment, provides a list of musical pieces to represent users in the environment, renders MIDI into audio, and streams the audio results.

Another virtual machine hosts a music software environment for handling automatic music analysis and creation. That machine responds (via a Comanche Web server) to the flow of participants into and out of that space by computing new musical pieces based on the pieces representing the current inhabitants of that space. The machine returns MIDI results (via HTTP) to the machine hosting the Croquet environment.

Each participant uses an additional virtual machine to connect to the shared Croquet space.

User Experience
The GUI displays a landscape which is shared with other participants. Each participant is represented as an avatar in the shared landscape, and the participants can see each other's avatars. The GUI enables each user to pilot their avatar around the landscape.

A menu provides a list from which the user selects a piece of music to represent himself in the environment. There are three portals which each lead to a different shared music space. The user pilots the avatar through a portal into a shared music space. Within that space they can see the other users in that space, and through headphones (or speakers if they are isolated from the other participants) they hear the music currently playing in that space.

The user can choose to linger in a particular shared space, in which his/her selection of a musical piece is incorporated into the musical piece playing in that space. Or the user can pass back through the same portal through which he entered the shared space. This puts the user's avatar back in the main area with the three portals. The user can go on to explore the other music spaces. As pieces are created in the various shared musical spaces, those pieces can be added to the menu of available pieces.
Croquet environment with the user positioned before
portals into three distinct spaces.
(Click to play movie)
Second Life implementation: each avatar chooses a song and "wears" that song within a remix. Located at Mabinogion (244, 9, 81)

Whenever a participant enters a shared space a new piece is automatically generated, incorporating elements from the piece representing that user, and played back within that space. Whenever the user leaves shared space a new piece is generated within that space which excludes any elements from the piece representing that user.

The expectation is that each user will choose to linger for progressively longer periods of time in shared spaces where the musical result is most pleasingly influenced by the pieces representing the inhabitants of that space.