
1. Midi and sound format docs:
	ftp://mitpress.mit.edu/pub/Computer-Music-Journal/Documents/



2. sysex:

Alienz.mid:
	41 10 45 12 10 00 00
 followed by
	4d 75 73 69 63 20 43 6f 70 72 2e 20 31 39 39 36 2c 20 52 6f 62 74 2e 20 50 72 69 6e 63 65 02 f7
 (i.e. ASCII
	M  u  s  i  c     C  o  p  r  .     1  9  9  6  ,     R  o  b  t  .     P  r  i  n  c  e  __ __
 )


From adagio: sysex id's
	Sequential Circuits   1	     Bon Tempi	   0x20	    Kawai     0x40
	Big Briar	      2	     S.I.E.L.	   0x21	    Roland    0x41
	Octave / Plateau      3				    Korg      0x42
	Moog		      4	     SyntheAxe	   0x23	    Yamaha    0x43
	Passport Designs      5
	Lexicon		      6
	PAIA		      0x11
	Simmons		      0x12
	Gentle Electric	      0x13
	Fairlight	      0x14



3. Controllers
 MODWHEEL 1
 BREATH 2
 FOOT 4
 PORTARATE 5
 VOLUME 7
 PAN 10
 EXPRESSION 11
 SUSTAIN 64
 PORTASWITCH 65
 ALL_NOTES_OFF 123
 SOSTENUTO 66
 SOFT_PEDAL 67

 GENERAL_4 68

 HOLD_2 69

 GENERAL_5 80
 GENERAL_6 81
 GENERAL_7 82
 GENERAL_8 83

 TREMULO_DEPTH 92
 CHORUS_DEPTH 93
 DETUNE 94
 PHASER_DEPTH 95

GENERAL_* are extra compared to standard controllers.


.wav:
I think I lost my mind supporting this trash:

"RIFF"
length (4 byte LSB)
"WAVE"
"fmt "
?? (4b)
format (2b LSB) [ should be RIFF_WAVE_FORMAT_PCM=0x0001 ]
channels (2b LSB)
samplerate (4b LSB),
?? (4b LSB)
?? (2b LSB)
bits per sample: 2 b LSB (i.e. 8/16)
"data"
?? (4b)

data starts at 44 (0x2c)

I don't support any other stuff, multiple blocks etc. If GSI complains, you're screwed. Get a real conversion utility to rid yourself of the junk.

WHS (wouters@cistron.nl)

