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