Adding haptic feedback brings back the tactile feedback loop that is an fundamental aspect of playing traditional instruments[O'Modhrain(2000)]. Haptic interfaces have thus far mostly been used to control synthesis methods that have direct analogies to the physical world[Nichols(2002)] [Cadoz et al.(2003)Cadoz, Luciani, Florens, and Castagné] [Howard et al.(2003)Howard, Rimell, and Hunt]. Scanned synthesis, designed with haptics in mind, relies on metaphors from the physical world [Wright et al.(2001)Wright, Freed, Lee, Madden, and Momeni] to synthesize sound. StickMusic  uses haptics to provide feedback for a phase vocoder, which has no analogy to the physical world.
While somewhat limited as musical controllers, using off-the-shelf haptic gaming devices allows the user to rapidly ramp up and build a functional instrument that employs haptic feedback. Haptic joystick offer many different types of feedback, from forces to friction to vibration. Haptic mice have a motor which can create pulses that are perceived as either individual events, a stream of pulses, or an audible vibration, depending on their frequency. It is also possible to construct simple haptic devices such as The Plank [Verplank et al.(2002)Verplank, Gurevich, and Mathews].
The ff [Dongen()] library provides objects to control the feedback in most gaming haptic controllers, with different objects for each of the supported haptic effects, such as [ff-spring] and [ff-periodic]. [ifeel] [Steiner(a)] controls the pulse motor in iFeel mice. Currently, these objects only work on GNU/Linux. If you want to build your own haptic devices, you will need to figure out how to control them from Pd. [comport] in combination with a microcontroller provides the easiest method.
Hans-Christoph Steiner 2005-04-25