The course lab setup consists of a programming environment and MIDI devices. New applications involving MIDI interaction are written in C++ and compiled using Visual C++.

For each device to be studied in the course, different message types and their MIDI encoding are specified, as well as the corresponding software variables which are updated when the message is received.

Radio Batons and the BioMuse are hard-wired to communicate as specified, but Lightnings & Keyboards are user-selectable (meaning -- check that their settings agree with those before using them with the class software).

Device Reference Chart for Music 14q

Incomplete -- Chris still needs to look at the baton and biomuse protocols.

Radio Baton

Channel(s) ??

(requires host computer msgs. to configure)

continuous controller #, var name
?? ?? ?? ?? ?? ?? ?? ?? ??
x1 y1 z1 x2 y2 z2 p1 p2 p3

baton1      baton2     pots

switches carried as continuous controller (or noteon?)

??

foot & control box switches

whack triggers (noteon?)
?? ?? ?? ?? ?? ??
x1 y1 w1 x2 y2 w2

baton1       baton2

Lightning

Channels 15 & 16

(user configured)

continuous controller #, channel
21

/15

22

/15

21

/16

22

/16

x1 y1 x2 y2

wand1    wand2

switches carried as continuous controllers
23

/15

24

/15

24

/16

fs s1 s2

foot & wand switches

noteon triggers
keynum

/15

veloc

/15

keynum

/16

veloc

/16

k1 v1 k2 v2

wand1                wand2

BioMuse

Channel(s) ??

(requires host computer msgs. to configure)

continuous controller #
21 22
x1 y1

band1 band2

Generic Keyboard, or Pitch-to-Midi

Channel 14

(user configured)

continuous controller #
1
x1

mod wheel (SY-77 & DX-7 only)

switches carried as continuous controllers
64
s1

sustain pedal

noteon triggers
keynum veloc
k1 v1

keyboard

pitch bend
msb lsb
b1 b2

wheel

program change
p.change
c1

buttons

aftertouch
data
a1

(SY-77 & DX-7 only)