Rob Hamilton @ ccrma

Ph.D. Candidate in Computer-based Music Theory and Acoustics
CCRMA, Department of Music, Stanford University

rob [at] ccrma [dot] stanford [dot] edu


This article describes a series of multi-modal networked musical performance environments designed and implemented for concert presentation at the Torino-Milano (MiTo) Festival (Settembre musica, 2009, between 2009 and 2010. Musical works, controlled by motion and gestures generated by in-engine performer avatars will be discussed with specific consideration given to the multi-modal presentation of mixed-reality works, combining both softwarebased and real-world traditional musical instruments

Hamilton, R., "Sonifying Game-Space Choreographies with UDKOSC" In Proceedings of the New Interfaces for Musical Expression Conference, Daejeon, Korea, 2013.

Hamilton, R., Caceres, J, Nanou, C., Platz. C, "Multi-modal musical environments for mixed-reality performance", Journal for Multimodal User Interfaces (JMUI), Vol. 4, pp. 147-156, Springer-Verlang, 2011.

Hamilton, R., "UDKOSC: An Immersive Musical Environment" In Proceedings of the International Computer Music Association Conference, Huddersfield, UK, 2011.


This article explores the role of symbolic score data in the authors' mobile music-making applications, as well as the social sharing and community-based content creation workflows currently in use on their on-line musical network. Web-based notation systems are discussed alongside in-app visual scoring methodologies for the display of pitch, timing and duration data for instrumental and vocal performance. User-generated content and community-driven ecosystems are considered alongside the role of cloud-based services for audio rendering and streaming of performance data.

Hamilton, R., Smith, J., Wang, G., "Social Composition: Musical Data Systems for Expressive Mobile Music", Leonardo Music Journal, volume 21, 2011.


q3osc is a heavily modified version of the ioquake3 gaming engine featuring an integrated Oscpack implementation of Open Sound Control for bi-directional communication between a game server and one or more external audio servers. By combining ioquake3's internal physics engine and robust multiplayer network code with a simple and full-featured OSC packet manipulation library, the virtual actions and motions of game clients and previously one-dimensional in-game weapon projectiles can be repurposed as independent and behavior-driven OSC emitting sound-objects for real-time networked performance and spatialization within a multi-channel audio environment. This paper details the technical and aesthetic decisions made in developing and implementing the q3osc game-based musical environment and introduces potential mapping and spatialization paradigms for sonification.

Hamilton, R., "q3osc: or How I Learned to Stop Worrying and Love the Game" In Proceedings of the International Computer Music Association Conference, Belfast, Ireland, 2008.

For Jean-Claude: [re]Presenting Duet for One Pianist

In 1989, composer and researcher Jean-Claude Risset's series of interactive sketches for piano and Disklavier entitled Duet for One Pianist explored the performative possibilities made available to pianists through the augmentation of emotive human musical gesture with the precise reactive and computational capabilities afforded by computer-based musical systems. As computer and musical software systems have evolved, the Max software patches created by Risset and researcher Scott Van-Duyne at the MIT Media Lab have been updated and maintained to allow the pieces to be performed using contemporary hardware and software systems. In distinct contrast, Risset's original hand-notated musical score for the work - representing performance notation for the human pianist alongside a varying level of detail representing the computer’s response, itself an integral part in the work - remains the authoritative representation available to performers, researchers and archivists alike. This paper outlines ongoing efforts towards the augmentation of Risset's existing score through the production of a comprehensive multi-voiced notated score edition of Duet for One Pianist, as well as symbolic and data representations for each of the eight works derived from live performance data, and a complimentary and complete series of audio and visual recordings of Duet by pianist Chryssie Nanou.

Hamilton, R., and C. Nanou, "For Jean-Claude: [re]Presenting Duet for One Pianist", International Computer Music Conference, Montreal, Canada, 08/2009.

Maps and Legends

This paper describes an interactive multi-channel multiuser networked system for real-time composition and improvisation built using a modified version of the Quake III gaming engine. By tracking users' positional and action data within a virtual space, and by streaming that data over UDP using OSC messages to a multi-channel Pure Data (PD) patch, actions in virtual space are correlated to sonic output in a physical space. Virtual environments designed as abstract compositional maps or representative models of the users' actual physical space are investigated as means to guide and shape compositional and performance choices. This paper analyzes both the technological concerns for building and realizing the system as well as the compositional and perceptual issues inherent in the project itself.

An extended version of this paper was selected for publication by Springer-Verlang in the refereed post-proceedings of the Fifth International Computer Music Modeling and Retrieval Symposium, CMMR 2007, held in Copenhagen, Denmark in August of 2007.

Hamilton, R., "Maps and Legends: FPS-Based Interfaces For Composition and Immersive Performance" In Proceedings of the International Computer Music Association Conference, Copenhagen, Denmark, 2007.

Sea Songs

This paper describes the technical and aesthetic challenges faced in the recent software-based recreation of composer Dexter Morrill's 1995 work Sea Songs for soprano voice, computer-generated tape and Radio-Baton controlled hardware effects-processor. Through careful analysis of the composer's own notes as well as through extensive testing of Morrill's original Digitech TSR-24 stereo-effects processor, a flexible and extensible software emulation of the piece was created as a Max/MSP application.

Hamilton, R., "Back to the Sea: A Software Realization of Dexter Morrill's Sea Songs" In Proceedings of the International Computer Music Association Conference, Copenhagen, Denmark, 2007.

Bioinformatic Feedbacks

This paper describes a software system using bioinformatic data recorded from a performer in real-time as a probabilistic driver for the composition and subsequent real-time generation of traditionally notated musical scores. To facilitate the generation and presentation of musical scores to a performer, the system makes use of a custom LilyPond output parser, a set of Java classes running within Cycling 74's MAX environment for data analysis and score generation, and an Atmel AT-Mega16 micro-processor capable of converting analog bioinformatic sensor data into Open Sound Control (OSC) messages.

Hamilton, R., "Bioinformatic Response Data as a Compositional Driver," In Proceedings of the 2006 International Computer Music Conference, New Orleans, LA, USA, 2006.

Hamilton, R., "Bioinformatic Feedback: performer bio-data as a driver for real-time composition," In Proceedings of the New Interfaces for Musical Expression conference, IRCAM, Paris, France, 2006.

the jChing

The chance-based compositional techniques utilized by composer John Cage in such works as "String Quartet in Four Parts" and "Music of Changes" made use of a compositional framework of gamuts and gamut squares that serves as the object-model for a compositional software application capable of transforming musical data cells using both chance-based and probability driven functions. Written in Java, the jChing makes use of the MusicXML data format to output transformed musical data in a format compatible with a number of commonly used musical notation applications. This article outlines the functional model and technical specifications for the application and provides basic examples of the jChing workflow.

Hamilton, R., "The jChing: an Algorithmic Java-Based Compositional System," In Proceedings of the 2005 International Computer Music Conference, Barcelona, Spain, 2005.

Hamilton, R., "Rolling the jChing: a Java-based Stochastic Compositional System," In Proceedings of the third annual Spark Festival of Electronic Music and Art University of Minnesota, Minneapolis, Minnesota, USA, 2005.

Hamilton, R., "The Polarized Composer: Addressing the Conflict of Musical Upbringings of Today's Young Composers," In Proceedings of the third annual Spark Festival of Electronic Music and Art, University of Minnesota, Minneapolis, Minnesota, USA, 2005.