~ICMC 2015 - Sept. 25 - Oct. 1, 2015 - CEMI, University of North Texas
ries of graduated test cases and lay the groundwork for further research.
3. RELATED WORK
The authors have been able to find few direct investigations
of haptic control of generative systems in the literature. Inspired by DJ technique, Anderson et al created a motorizedslider interface through which a performer could both feel
and alter the amplitude envelopes of sound loops [11]. Rydberg and Sandsjo's BeatCatch uses a haptic mouse as a
metronome which can provide force-feedback control of
rhythm patterns [12]. Gabriel et al's BounceSlider uses onedimensional force-feedback sliders as a tangible interface to
set initial state for a bouncing-ball model for generating
MIDI data, with intent to "provide a tool for exploring perceived physical characteristics of sound as an object" [13].
More distantly, Berdahl, Cadoz and Castagne's work with
force-feedback control of a neural oscillator model could be
considered an interesting example of control of a semiautonomous generative system, though aimed primarily at
solving human-robot control issues [14]. If one considers
granular synthesis to lie conceptually between a standard
instrument model and a generative system, then
O'Modhrain and Essl's tangible devices to control audiodriven granular synthesis controllers could be seen as an
intriguing approach to ensure a correspondence between
haptic experience of an interface and generative-system
sonic output [15].
4. TECHNICAL APPROACH
The technical approach needed to facilitate rapid development of proof-of-concept. The authors also wanted to be on
the path to creating a toolkit that would be relatively easy
and inexpensive for artists to use. For this reason,
Max/MSP was chosen for coding the music algorithms and
sound generation. The ideal target force-feedback interfaces
were the GeoMagic Touch2 (formerly Sensable Phantom
Omni) and the Novint Falcon3. The former provides a robust
and proven platform. The latter provides a low-cost, practical entry point for artists. The preferred target platform was
Macintosh, since much of the authors' composing and research work is based on this platform.
There are crucial distinctions between the technical demands of force-feedback devices and the standard design of
realtime computer music systems. To ensure acceptable
levels of interaction stability, a typical specification for a
force-feedback system entails maintenance of a 1000Hz.
closed loop or better, with maximum latency of ims. and
very little jitter, typically implemented with a high-priority
thread on the computer. Computer-music systems are typit http://cycling74.com
2 http://geomagic.com/en/products/phantom-omni/overview
3 http://www.novint.com/
cally running at much higher speeds for audio signals (such
as 44.1kHz), but computed in multi-sample blocks for efficiency thus introducing latency. With PD4 and
Max/MSP, the control rate is conveniently 1000Hz, but it is
has been claimed that the timing is not accurate enough for
force-feedback applications [16].
Thus Ed Berdahl's Open Source Haptics for Artists
(OSHA), which is focused on controlling physical-modeled
instruments and implements force-feedback calculations via
audio functions in Max/MSP, requires Max's audio processing to be set at a vector size of 1 sample [17]. OSHA
demonstrates one attractive approach to making haptics
more accessible to artists: allowing haptic interactions to be
specified via directly via modules within a music-oriented
graphical programming language. OSHA also comes ready
to work with the Novint Falcon (though not the Phantom
Omni). However, the computational cost of running with a
vector size of 1 is very high, and it could prove problematic
if creating a full-scale performance work.
In contrast, Steven Sinclair used a client-server approach
with his DIMPLE system [18]. The server is implemented in
C++ using the open source libraries Chai3D and ODE, thus
integrating the needed low-latency force-feedback loop with
a physical modeling system. Chai3D is multi-platform
(Linux, Windows, and Max OS) and supports multiple haptics devices. Any Open Sound Control enabled music client,
like Max/MSP, can communicate with DIMPLE via OSC
messages to specify particular haptic setups, send data to
those setups and to receive interface data to control sound
algorithms. The authors were advised that DIMPLE was in
need of updating during the period of the authors' project
and was not available.
Therefore, the authors developed a similar client/server
approach on the Windows platform, using only the Phantom
Omni. The core software toolkit integrated Bencina's Oscpack Open Sound Control library with Geomagic OpenHaptics Toolkit 3.0 (OH). OH provided a proven, robust
solution and wide-ranging library for working with the
Phantom Omni. In order to ensure sufficiently fast processing of OSC messages, the Oscpack listener was implemented in an OH Server_RunO callback function, with a
priority level of ' default'. Hard-coded specific servers and
Max/MSP clients were established for each of the test cases.
5. TEST CASES
A series of test cases was executed, moving from simple,
non-generative system tests through more conventional instrument-like paradigms and ultimately to multi-state generative systems. A subset of these cases is described below.
Video documentation of this subset and technical details of
4 http://puredata.info
- 99 -