ï~~ARGOS: AN OPEN SOURCE APPLICATION FOR BUILDING MULTI-TOUCH
MUSICAL INTERFACES
Dimitri Diakopoulos'
California Institute of the Arts'
Music Technology
ddiakopoulos@calarts.edu
ABSTRACT
Argos is a multi-touch graphical user interface builder
aimed at applications in musical performance and sound
synthesis. The interface builder lets users construct
interfaces through a library of existing widgets (e.g. knobs,
sliders, buttons), while providing access to an extensible,
open-source toolkit for developing new widgets. Argos
was designed with platform-independence in mind,
enabling it to run on major operating systems in
conjunction with many DIY and commercial multi-touch
devices.
1. INTRODUCTION
Argos targets a specific need for an open-source, easy-touse interface builder in the music community. Argos gives
users the ability rapidly prototype complex graphical
interfaces without writing a single line of code. Argos
interfaces can communicate with external programs and
programming languages via user-definable
OpenSoundControl (OSC) messages. Interfaces built using
Argos have been demonstrated in music performance and
synthesis through software like ChucK, Reaktor,
Max/MSP, SuperCollider, PD, and Ableton Live.
Multi-touch software often uses proprietary or custom
libraries to assemble interfaces. One of the core aims of
Argos is to provide a suite of C++ classes to facilitate the
creation of innovative, experimental UI widgets. As a
toolkit, Argos also enables developers to use these widgets
in their own applications without the overhead of the
interface builder itself.
This paper begins with an overview of related musical
multi-touch and interface-oriented software in Section 2.
Section 3 discusses underlying mechanics and features
unique to Argos. Section 4 details some usage scenarios.
We conclude in Section 5 with discussion about future
Argos development.
2. RELATED WORK
Argos stems from a lineage of tabletop computing, multitouch interaction, and unique graphical interfaces. This
section gives an overview of the prior academic work and
Ajay Kapurl2
New Zealand School of Music2
Sonic Arts
akapur@calarts.edu
commercial implementations of user interface builders as
they have influenced the development of Argos.
Some of the most well known work in tabletop music
performance is MTG Barcelona through the evolution of
their interface, the reacTable [5]. Along with the
Audiopad [8] developed at the MIT Media Lab, these
interfaces allow the control of built-in music synthesis
parameters using custom-built GUIs. The Audicle [11],
while not specifically multi-touch related, is an
experimental collection of open-source networkable
interfaces designed to transcend traditional GUI interaction
for musical performance.
The JazzMutant Lemur' is a commercially available
multi-touch device that integrates with its own proprietary
GUI building software, the JazzEditor. The editor allows
users to build custom interfaces and upload the layout to
the Lemur. TouchOSC2, a similar application, lets users
construct interfaces for Apple's iPhone and iPad. The
MMF (Max Multi-touch Framework)3 for Max/MSP
enables users to create touch-centric interfaces from the
built-in Max widgets, but akin to the Lemur and
TouchOSC, provides no facility for extending UI widgets
or creating new ones.
Philip Davison and Jeff Han [1] have presented work
that explains the difficulties and limitations of using
proprietary devices and interfaces in the multi-touch
domain. The Lemur, TouchOSC, and MMF all use OSC
[12] to transmit GUI data to a host, but only MMF
supports TUIO [6], a protocol designed to enable direct
touch-tracking on many types of vision-based multi-touch
hardware.
The SurfaceEditor [7] attempts to resolve the problem
of creating an interface builder that works across TUIOenabled multi-touch devices. The SurfaceEditor does let
users create new controls via a Java-based pluginarchitecture, but the proprietary licence does not allow
core modifications to the builder itself.
We attempt to combine the best aspects of these works
into a single package: an open platform for building both
common and experimental user interfaces which can be
used across a variety of multi-touch capable devices.
1 http://www.jazzmutant.com
2 http://hexler.net/software/touchosc
3 http://www.mathieuchamagne.com/MMF/
88
0