DIMPLE: Dynamically Interactive Musically PhysicaL Environment
Participants: |
Stephen Sinclair Marcelo M. Wanderley (supervisor) |
|
---|---|---|
Funding: | Natural Sciences and Engineering Research Council of Canada - IPS Grant (Sinclair) | |
License: |
|
|
Time Period: | 2005– (ongoing) |
Project Description
This project is an implementation of a physical dynamics environment which can be controlled via OSC, so that audio projects such as PureData can create physical objects in a virtual space, and then let them interact with each other, colliding and otherwise moving around. Data about objects' position and acceleration, for example, can be retrieved and then used to affect some sort of audio synthesis. It is a part of the force feedback for audio systems IDMIL project and was first presented at NIME 2007.
The environment can also be used for interacting with a hand controller haptic device.
This is all accomplished via many GPL (or similar) libraries, such as:
- CHAI 3D, for haptics
- ODE, for physical dynamics
- LibLo, for OSC messaging
- GLUT & FreeGLUT, for graphics (optional)
It is cross-platform, running on Linux, OS X, and Windows. Unfortunately, most haptic devices only provide drivers for Windows, though CHAI 3D does support the SensAble Phantom family of devices under Linux if you have the driver.
A beta version of this software is available here:
- dimple-0.0.9.tar.gz (source)
- dimple-0.0.9-win32.zip (Windows binary)
- dimple-0.0.9-osx.dmg (Mac OS X binary)
- dimple_0.0.9-1_i386.deb (Ubuntu 32-bit binary)
The Ubuntu release is my first .deb, so please inform me if you have any trouble installing or executing it. (Currently it provides no menu icon, so you'll need to start a terminal and type `dimple` to run it.) Users of other Linux distros or 64-bit architectures may compile the software from source. Please run “bootstrap.sh” before proceeding with “configure” and “make”.
Snapshots of older versions are also available.
Documentation of DIMPLE's messages is available.
Requirements
To run the included test patch, test.pd, you'll need PureData. You need at least 0.40.1, with the extended build since it requires sendOSC and dumpOSC, and a few other objects. Remember to run dimple.exe before clicking the “Initialize” bang.
Mailing list
A mailing list for discussing both using and developing DIMPLE can be subscribed to here:
Development
If you'd like to track the development version, or even contribute patches, please feel free to clone the git tree with the following command:
git clone https://github.com/IDMIL/dimple.git
Please run the bootstrap.sh
script before compiling, which takes
care of downloading and compiling dependencies on the respective
platform. The build platform for Windows is MingW/MSYS with
msysGit.
To contribute patches, please either provide an accessible repository
to pull from, use github pull requests, or generate them using git
format-patch
and send to the mailing list as an attachment.
Publications
2009
Mark Zadel, Stephen Sinclair and Marcelo M. Wanderley. "Haptic feedback for Different Strokes using DIMPLE". In Proceedings of the International Computer Music Conference (ICMC), 2009, pages 291–294.
2007
Stephen Sinclair and Marcelo M. Wanderley. "Extending DIMPLE: a Rigid Body Simulator for Interactive Control of Sound". In Proceedings of the International Conference on Enactive Interfaces (ENACTIVE), 2007, pages 263–266.
Stephen Sinclair. "Force-Feedback Hand Controllers for Musical Interaction". Masters thesis, McGill University. 2007.
Stephen Sinclair and Marcelo M. Wanderley. "Using PureData to control a haptically-enabled virtual environment". In Proceedings of the PureData Convention '07, 2007.
Stephen Sinclair and Marcelo M. Wanderley. "Defining a control standard for easily integrating haptic virtual environments with existing audio/visual systems". In Proceedings of the International Conference on New Interfaces for Musical Expression (NIME), 2007, pages 209–212.