FCE How-to: Midi Based Sensors

Midi (Musical Instrument Digital Interface) is a serial protocol that serves as something of a standard for live and pre-recorded musical information interchange, based on the notion of synthesis, rather than audio reproduction. The protocol itself is extraordinarily simple and can be used to efficiently exchange all sorts of data types.

This work is based on a specific hardware device called an I-Cube from Infusion Systems that collects data from physical sensors and converts the data into MIDI packets for use by synthesizers, drum machines, and interfacing with PCs and workstations. The I-Cube is a programmable device, allowing you to download a collection of settings and then disconnecting the device from a host PC to operate on it's own along with a collection of synthesizer keyboards and other midi devices.
The I-Cube box has 24 sensor input ports and 8 output ports. Any number of I-Cube boxes can be strung in a midi chain to create an application. The Midi protocol supports up to 64 simultaneous "channels" and each channel supports more than 100 sub-channels through which data can be sent. In other words, 64 of any of 100 events could happen simultaneously in a Midi environment - very flexible indeed.

The documentation and sample programs below are rough works designed to get someone up-and-running in a minimal amount of time. Briefly, I discuss the hardware issues of getting MIDI IO to work with an SGI O2, programming and working with the I-Cube, and general hints for using the SGI MIDI libraries.

Online Documentation:
Getting your O2 to speak MIDI
Setting up an ICube for Mac/SGI
Introduction to Midi programming
Project Inventory: Hardware/Software

Sample Code and Executables:
*README: general overview
*sample.c: echo midi events to a terminal
*demo.c: trigger notes and visuals with touchpad sensors
*Look in the /net/www/fce/midi/ directory for full source and Makefiles

Related work:
*video/midi integration samples.
*Airharp: play an invisible harp with your hands and body movements
*Midi Conductor: conduct a midi song just like the pros
*Look in /net/www/fce/midi/vid/ for full source and Makefiles

Comments or suggestions? Email them to fce-webmaster
Last updated: 8/31/98