Home

Download
Install
Extend

Use

Conformance
Examples
Contact

      

MIDI to bind External Interactivity to FreeWRL

This web page describes the reasons, the progress, and the goal of our experiment to bind external interactivity to FreeWRL.

Last updated July 2009.

Specification and Examples

We have Software Interface Specification, Tutorials and Examples on line that explain how to use Reason (versions 3 and 4), MIDI, and FreeWRL together.

Background

Interactivity in our Shared Virtual Worlds has been controlled and displayed by magnetic tracking systems, joysticks, a "space ball", and various headsets. Although these worked, configuration was hard to do, and the expense for some of the devices was way beyond the means of the budget-conscious.

Experience had shown that to present a demonstration of our Multicast Virtual Worlds, hours of configuration time were required. We did initiate a project to automatically locate and configure external interactive devices, but, this project never reached the stage where the configuration was "plug and play". Additionally, configuring magnetic tracking systems for use in our "flying chairs" always seemed problematic, as differing physiology caused distances between head mounted tracker and the receiver to change, as well as structural materiel, such as reinforced concrete floors and walls affected the tracking signal.

Our first forray into interactive devices could be chalked up to being described as a "learning experience", leading us to try and discover a fast, convenient, easy, method of connecting devices.

Consumer Grade Interactive Devices

We noticed that musicians were able to use computers with ease. These musicians, intent on creating music, were using computers to perform real-time interactive tasks, with apparent ease.

This observation led us to question why the music industry could create easy to use computer interfaces, while we had difficulty; and to investigate what we could leverage the successes of the music industry to enable "plug and play" interactivity with our shared virtual worlds.

Integration

MIDI is the interface of choice for musicians. It works, it is inexpensive, and it is found on almost all desktop computers.

However, MIDI configuration can be complex and non-intuitive. Programs like Propellerheads' Reason software hide the details of MIDI from the user. What can we learn this? Can we bind X3D and MIDI as easily?

We started a project to investigate software and hardware MIDI interfacing techniques. We are currently using:

Timeframe

This is happening now. The first version of the FreeWRL <-> MIDI/Reason interface has been released for the OS X platform. If you have FreeWRL Version 1.19.2 or later, you are MIDI/Reason enabled.

The code is being released as part of FreeWRL; get the latest version of FreeWRL, and you will have our code.

In the works: Interfacing, and automatic controller discovery of external MIDI devices is being worked through.

In the works: Implementing MIDI Time Control is happening. If you want to put your thoughts down as to how you think this should be accomplished to best tie 3D and MIDI, please do!

A good tech site on MIDI is here. Although it focuses on the PC platform, the author explains MIDI quite well. (external link)

Participating

Employees at the Communications Research Centre (CRC), Canada are performing this work. Others are more than welcome to participate.

If you want to help, please email John A. Stewart (freewrl-09 --at-- rogers.com) - an employee of the Communications Research Centre (CRC), Canada. FreeWRL is partly produced by employees of CRC, and is released as Open Source to the world community.

DISCLAIMER: All information and programs presented on these pages is presented strictly on an as-is basis without an explicit or implicit warranty or guarantee of any kind, not even for fitness for any particular purpose. The FreeWRL logo is based on the Linux Penguin logo by Larry Ewing. All trademarks are owned by their respective owners.

SourceForge.net Logo