~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 -
Top of page Top of page