1226048Sobrien
280588Sobrien#------------------------------------------------------------------------
3267843Sdelphij# $File: sysex,v 1.8 2014/06/03 19:17:27 christos Exp $
480588Sobrien# sysex: file(1) magic for MIDI sysex files
580588Sobrien#
6267843Sdelphij# GRR: original 1 byte test at offset was too general as it catches also many FATs of DOS filesystems
7267843Sdelphij# where real SYStem EXclusive messages at offset 1 are limited to seven bits
8267843Sdelphij# http://en.wikipedia.org/wiki/MIDI
9267843Sdelphij0	ubeshort&0xFF80		0xF000		SysEx File -
1080588Sobrien
11133359Sobrien# North American Group
12133359Sobrien>1	byte			0x01		Sequential
13133359Sobrien>1	byte			0x02		IDP
14133359Sobrien>1	byte			0x03		OctavePlateau
15133359Sobrien>1	byte			0x04		Moog
16133359Sobrien>1	byte			0x05		Passport
17133359Sobrien>1	byte			0x06		Lexicon
18169942Sobrien>1	byte			0x07		Kurzweil/Future Retro
19169942Sobrien>>3	byte			0x77		777
20169942Sobrien>>4	byte			0x00		Bank
21169942Sobrien>>4	byte			0x01		Song
22169942Sobrien>>5	byte			0x0f		16
23169942Sobrien>>5	byte			0x0e		15
24169942Sobrien>>5	byte			0x0d		14
25169942Sobrien>>5	byte			0x0c		13
26169942Sobrien>>5	byte			0x0b		12
27169942Sobrien>>5	byte			0x0a		11
28169942Sobrien>>5	byte			0x09		10
29169942Sobrien>>5	byte			0x08		9
30169942Sobrien>>5	byte			0x07		8
31169942Sobrien>>5	byte			0x06		7
32169942Sobrien>>5	byte			0x05		6
33169942Sobrien>>5	byte			0x04		5
34169942Sobrien>>5	byte			0x03		4
35169942Sobrien>>5	byte			0x02		3
36169942Sobrien>>5	byte			0x01		2
37169942Sobrien>>5	byte			0x00		1
38169942Sobrien>>5	byte			0x10		(ALL)
39169942Sobrien>>2	byte			x			\b, Channel %d
40133359Sobrien>1	byte			0x08		Fender
41133359Sobrien>1	byte			0x09		Gulbransen
42133359Sobrien>1	byte			0x0a		AKG
43133359Sobrien>1	byte			0x0b		Voyce
44133359Sobrien>1	byte			0x0c		Waveframe
45133359Sobrien>1	byte			0x0d		ADA
46133359Sobrien>1	byte			0x0e		Garfield
47133359Sobrien>1	byte			0x0f		Ensoniq
48133359Sobrien>1	byte			0x10		Oberheim
49169942Sobrien>>2	byte			0x06		Matrix 6 series
50169942Sobrien>>3	byte			0x0A		Dump (All)
51169942Sobrien>>3	byte			0x01		Dump (Bank)
52169942Sobrien>>4 belong			0x0002040E		Matrix 1000
53169942Sobrien>>>11 byte			<2			User bank %d
54169942Sobrien>>>11 byte			>1			Preset bank %d
55133359Sobrien>1	byte			0x11		Apple
56133359Sobrien>1	byte			0x12		GreyMatter
57133359Sobrien>1	byte			0x14		PalmTree
58133359Sobrien>1	byte			0x15		JLCooper
59133359Sobrien>1	byte			0x16		Lowrey
60133359Sobrien>1	byte			0x17		AdamsSmith
61133359Sobrien>1	byte			0x18		E-mu
62133359Sobrien>1	byte			0x19		Harmony
63133359Sobrien>1	byte			0x1a		ART
64133359Sobrien>1	byte			0x1b		Baldwin
65133359Sobrien>1	byte			0x1c		Eventide
66133359Sobrien>1	byte			0x1d		Inventronics
67133359Sobrien>1	byte			0x1f		Clarity
68133359Sobrien
69133359Sobrien# European Group
70133359Sobrien>1	byte			0x21		SIEL
71133359Sobrien>1	byte			0x22		Synthaxe
72133359Sobrien>1	byte			0x24		Hohner
73133359Sobrien>1	byte			0x25		Twister
74133359Sobrien>1	byte			0x26		Solton
75133359Sobrien>1	byte			0x27		Jellinghaus
76133359Sobrien>1	byte			0x28		Southworth
77133359Sobrien>1	byte			0x29		PPG
78133359Sobrien>1	byte			0x2a		JEN
79133359Sobrien>1	byte			0x2b		SSL
80133359Sobrien>1	byte			0x2c		AudioVertrieb
81133359Sobrien
8280588Sobrien>1	byte			0x2f		ELKA
8380588Sobrien>>3	byte			0x09		EK-44
8480588Sobrien
85133359Sobrien>1	byte			0x30		Dynacord
86169942Sobrien>1	byte			0x31		Jomox
87133359Sobrien>1	byte			0x33		Clavia
88133359Sobrien>1	byte			0x39		Soundcraft
89169942Sobrien# Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs
9080588Sobrien>1	byte			0x3e		Waldorf
91169942Sobrien>>2	byte			0x00		microWave
92169942Sobrien>>2	byte			0x0E		microwave2 / XT
93169942Sobrien>>2	byte			0x0F		Q / Q+
94169942Sobrien>>3	byte			=0			(default id)
95169942Sobrien>>3 byte			>0			(
96169942Sobrien>>>3 byte			<0x7F		\bdevice %d)
97169942Sobrien>>>3 byte			=0x7F		\bbroadcast id)
9880588Sobrien>>3	byte			0x7f		Microwave I
99169942Sobrien>>>4	byte			0x00		SNDR (Sound Request)
100169942Sobrien>>>4	byte			0x10		SNDD (Sound Dump)
101169942Sobrien>>>4	byte			0x20		SNDP (Sound Parameter Change)
102169942Sobrien>>>4	byte			0x30		SNDQ (Sound Parameter Inquiry)
103169942Sobrien>>>4	byte			0x70		BOOT (Sound Reserved)
104169942Sobrien>>>4	byte			0x01		MULR (Multi Request)
105169942Sobrien>>>4	byte			0x11		MULD (Multi Dump)
106169942Sobrien>>>4	byte			0x21		MULP (Multi Parameter Change)
107169942Sobrien>>>4	byte			0x31		MULQ (Multi Parameter Inquiry)
108169942Sobrien>>>4	byte			0x71		OS (Multi Reserved)
109169942Sobrien>>>4	byte			0x02		DRMR (Drum Map Request)
110169942Sobrien>>>4	byte			0x12		DRMD (Drum Map Dump)
111169942Sobrien>>>4	byte			0x22		DRMP (Drum Map Parameter Change)
112169942Sobrien>>>4	byte			0x32		DRMQ (Drum Map Parameter Inquiry)
113169942Sobrien>>>4	byte			0x72		BIN (Drum Map Reserved)
114169942Sobrien>>>4	byte			0x03		PATR (Sequencer Pattern Request)
115169942Sobrien>>>4	byte			0x13		PATD (Sequencer Pattern Dump)
116169942Sobrien>>>4	byte			0x23		PATP (Sequencer Pattern Parameter Change)
117169942Sobrien>>>4	byte			0x33		PATQ (Sequencer Pattern Parameter Inquiry)
118169942Sobrien>>>4	byte			0x73		AFM (Sequencer Pattern Reserved)
119169942Sobrien>>>4	byte			0x04		GLBR (Global Parameter Request)
120169942Sobrien>>>4	byte			0x14		GLBD (Global Parameter Dump)
121169942Sobrien>>>4	byte			0x24		GLBP (Global Parameter Parameter Change)
122169942Sobrien>>>4	byte			0x34		GLBQ (Global Parameter Parameter Inquiry)
123169942Sobrien>>>4	byte			0x07		MODR (Mode Parameter Request)
124169942Sobrien>>>4	byte			0x17		MODD (Mode Parameter Dump)
125169942Sobrien>>>4	byte			0x27		MODP (Mode Parameter Parameter Change)
126169942Sobrien>>>4	byte			0x37		MODQ (Mode Parameter Parameter Inquiry)
127169942Sobrien>>2	byte			0x10		microQ
128169942Sobrien>>>4	byte			0x00		SNDR (Sound Request)
129169942Sobrien>>>4	byte			0x10		SNDD (Sound Dump)
130169942Sobrien>>>4	byte			0x20		SNDP (Sound Parameter Change)
131169942Sobrien>>>4	byte			0x30		SNDQ (Sound Parameter Inquiry)
132169942Sobrien>>>4	byte			0x70		(Sound Reserved)
133169942Sobrien>>>4	byte			0x01		MULR (Multi Request)
134169942Sobrien>>>4	byte			0x11		MULD (Multi Dump)
135169942Sobrien>>>4	byte			0x21		MULP (Multi Parameter Change)
136169942Sobrien>>>4	byte			0x31		MULQ (Multi Parameter Inquiry)
137169942Sobrien>>>4	byte			0x71		OS (Multi Reserved)
138169942Sobrien>>>4	byte			0x02		DRMR (Drum Map Request)
139169942Sobrien>>>4	byte			0x12		DRMD (Drum Map Dump)
140169942Sobrien>>>4	byte			0x22		DRMP (Drum Map Parameter Change)
141169942Sobrien>>>4	byte			0x32		DRMQ (Drum Map Parameter Inquiry)
142169942Sobrien>>>4	byte			0x72		BIN (Drum Map Reserved)
143169942Sobrien>>>4	byte			0x04		GLBR (Global Parameter Request)
144169942Sobrien>>>4	byte			0x14		GLBD (Global Parameter Dump)
145169942Sobrien>>>4	byte			0x24		GLBP (Global Parameter Parameter Change)
146169942Sobrien>>>4	byte			0x34		GLBQ (Global Parameter Parameter Inquiry)
147169942Sobrien>>2	byte			0x11		rackAttack
148169942Sobrien>>>4	byte			0x00		SNDR (Sound Parameter Request)
149169942Sobrien>>>4	byte			0x10		SNDD (Sound Parameter Dump)
150169942Sobrien>>>4	byte			0x20		SNDP (Sound Parameter Parameter Change)
151169942Sobrien>>>4	byte			0x30		SNDQ (Sound Parameter Parameter Inquiry)
152169942Sobrien>>>4	byte			0x01		PRGR (Program Parameter Request)
153169942Sobrien>>>4	byte			0x11		PRGD (Program Parameter Dump)
154169942Sobrien>>>4	byte			0x21		PRGP (Program Parameter Parameter Change)
155169942Sobrien>>>4	byte			0x31		PRGQ (Program Parameter Parameter Inquiry)
156169942Sobrien>>>4	byte			0x71		OS (Program Parameter Reserved)
157169942Sobrien>>>4	byte			0x03		PATR (Pattern Parameter Request)
158169942Sobrien>>>4	byte			0x13		PATD (Pattern Parameter Dump)
159169942Sobrien>>>4	byte			0x23		PATP (Pattern Parameter Parameter Change)
160169942Sobrien>>>4	byte			0x33		PATQ (Pattern Parameter Parameter Inquiry)
161169942Sobrien>>>4	byte			0x04		GLBR (Global Parameter Request)
162169942Sobrien>>>4	byte			0x14		GLBD (Global Parameter Dump)
163169942Sobrien>>>4	byte			0x24		GLBP (Global Parameter Parameter Change)
164169942Sobrien>>>4	byte			0x34		GLBQ (Global Parameter Parameter Inquiry)
165169942Sobrien>>>4	byte			0x05		EFXR (FX Parameter Request)
166169942Sobrien>>>4	byte			0x15		EFXD (FX Parameter Dump)
167169942Sobrien>>>4	byte			0x25		EFXP (FX Parameter Parameter Change)
168169942Sobrien>>>4	byte			0x35		EFXQ (FX Parameter Parameter Inquiry)
169169942Sobrien>>>4	byte			0x07		MODR (Mode Command Request)
170169942Sobrien>>>4	byte			0x17		MODD (Mode Command Dump)
171169942Sobrien>>>4	byte			0x27		MODP (Mode Command Parameter Change)
172169942Sobrien>>>4	byte			0x37		MODQ (Mode Command Parameter Inquiry)
173169942Sobrien>>2	byte			0x03		Wave
174169942Sobrien>>>4	byte			0x00		SBPR (Soundprogram)
175169942Sobrien>>>4	byte			0x01		SAPR (Performance)
176169942Sobrien>>>4	byte			0x02		SWAVE (Wave)
177169942Sobrien>>>4	byte			0x03		SWTBL (Wave control table)
178169942Sobrien>>>4	byte			0x04		SVT (Velocity Curve)
179169942Sobrien>>>4	byte			0x05		STT (Tuning Table)
180169942Sobrien>>>4	byte			0x06		SGLB (Global Parameters)
181169942Sobrien>>>4	byte			0x07		SARRMAP (Performance Program Change Map)
182169942Sobrien>>>4	byte			0x08		SBPRMAP (Sound Program Change Map)
183169942Sobrien>>>4	byte			0x09		SBPRPAR (Sound Parameter)
184169942Sobrien>>>4	byte			0x0A		SARRPAR (Performance Parameter)
185169942Sobrien>>>4	byte			0x0B		SINSPAR (Instrument/External Parameter)
186169942Sobrien>>>4	byte			0x0F		SBULK (Bulk Switch on/off)
18780588Sobrien
188133359Sobrien# Japanese Group
18980588Sobrien>1	byte			0x40		Kawai
190133359Sobrien>>3	byte			0x20		K1
19180588Sobrien>>3	byte			0x22		K4
19280588Sobrien
19380588Sobrien>1	byte			0x41		Roland
19480588Sobrien>>3	byte			0x14		D-50
19580588Sobrien>>3	byte			0x2b		U-220
19680588Sobrien>>3	byte			0x02		TR-707
19780588Sobrien
19880588Sobrien>1	byte			0x42		Korg
19980588Sobrien>>3	byte			0x19		M1
20080588Sobrien
20180588Sobrien>1	byte			0x43		Yamaha
20280588Sobrien>1	byte			0x44		Casio
20380588Sobrien>1	byte			0x46		Kamiya
20480588Sobrien>1	byte			0x47		Akai
20580588Sobrien>1	byte			0x48		Victor
206133359Sobrien>1	byte			0x49		Mesosha
20780588Sobrien>1	byte			0x4b		Fujitsu
20880588Sobrien>1	byte			0x4c		Sony
20980588Sobrien>1	byte			0x4e		Teac
21080588Sobrien>1	byte			0x50		Matsushita
21180588Sobrien>1	byte			0x51		Fostex
21280588Sobrien>1	byte			0x52		Zoom
21380588Sobrien>1	byte			0x54		Matsushita
21480588Sobrien>1	byte			0x57		Acoustic tech. lab.
215267843Sdelphij# http://www.midi.org/techspecs/manid.php
21680588Sobrien>1	belong&0xffffff00	0x00007400	Ta Horng
21780588Sobrien>1	belong&0xffffff00	0x00007500	e-Tek
21880588Sobrien>1	belong&0xffffff00	0x00007600	E-Voice
21980588Sobrien>1	belong&0xffffff00	0x00007700	Midisoft
22080588Sobrien>1	belong&0xffffff00	0x00007800	Q-Sound
22180588Sobrien>1	belong&0xffffff00	0x00007900	Westrex
22280588Sobrien>1	belong&0xffffff00	0x00007a00	Nvidia*
22380588Sobrien>1	belong&0xffffff00	0x00007b00	ESS
22480588Sobrien>1	belong&0xffffff00	0x00007c00	Mediatrix
22580588Sobrien>1	belong&0xffffff00	0x00007d00	Brooktree
22680588Sobrien>1	belong&0xffffff00	0x00007e00	Otari
22780588Sobrien>1	belong&0xffffff00	0x00007f00	Key Electronics
22880588Sobrien>1	belong&0xffffff00	0x00010000	Shure
22980588Sobrien>1	belong&0xffffff00	0x00010100	AuraSound
23080588Sobrien>1	belong&0xffffff00	0x00010200	Crystal
23180588Sobrien>1	belong&0xffffff00	0x00010300	Rockwell
23280588Sobrien>1	belong&0xffffff00	0x00010400	Silicon Graphics
23380588Sobrien>1	belong&0xffffff00	0x00010500	Midiman
23480588Sobrien>1	belong&0xffffff00	0x00010600	PreSonus
23580588Sobrien>1	belong&0xffffff00	0x00010800	Topaz
23680588Sobrien>1	belong&0xffffff00	0x00010900	Cast Lightning
23780588Sobrien>1	belong&0xffffff00	0x00010a00	Microsoft
23880588Sobrien>1	belong&0xffffff00	0x00010b00	Sonic Foundry
23980588Sobrien>1	belong&0xffffff00	0x00010c00	Line 6
24080588Sobrien>1	belong&0xffffff00	0x00010d00	Beatnik Inc.
24180588Sobrien>1	belong&0xffffff00	0x00010e00	Van Koerving
24280588Sobrien>1	belong&0xffffff00	0x00010f00	Altech Systems
24380588Sobrien>1	belong&0xffffff00	0x00011000	S & S Research
24480588Sobrien>1	belong&0xffffff00	0x00011100	VLSI Technology
24580588Sobrien>1	belong&0xffffff00	0x00011200	Chromatic
24680588Sobrien>1	belong&0xffffff00	0x00011300	Sapphire
24780588Sobrien>1	belong&0xffffff00	0x00011400	IDRC
24880588Sobrien>1	belong&0xffffff00	0x00011500	Justonic Tuning
24980588Sobrien>1	belong&0xffffff00	0x00011600	TorComp
25080588Sobrien>1	belong&0xffffff00	0x00011700	Newtek Inc.
25180588Sobrien>1	belong&0xffffff00	0x00011800	Sound Sculpture
25280588Sobrien>1	belong&0xffffff00	0x00011900	Walker Technical
25380588Sobrien>1	belong&0xffffff00	0x00011a00	Digital Harmony
25480588Sobrien>1	belong&0xffffff00	0x00011b00	InVision
25580588Sobrien>1	belong&0xffffff00	0x00011c00	T-Square
25680588Sobrien>1	belong&0xffffff00	0x00011d00	Nemesys
25780588Sobrien>1	belong&0xffffff00	0x00011e00	DBX
25880588Sobrien>1	belong&0xffffff00	0x00011f00	Syndyne
25980588Sobrien>1	belong&0xffffff00	0x00012000	Bitheadz	
26080588Sobrien>1	belong&0xffffff00	0x00012100	Cakewalk
26180588Sobrien>1	belong&0xffffff00	0x00012200	Staccato
26280588Sobrien>1	belong&0xffffff00	0x00012300	National Semicon.
26380588Sobrien>1	belong&0xffffff00	0x00012400	Boom Theory
26480588Sobrien>1	belong&0xffffff00	0x00012500	Virtual DSP Corp
26580588Sobrien>1	belong&0xffffff00	0x00012600	Antares
26680588Sobrien>1	belong&0xffffff00	0x00012700	Angel Software
26780588Sobrien>1	belong&0xffffff00	0x00012800	St Louis Music
26880588Sobrien>1	belong&0xffffff00	0x00012900	Lyrrus dba G-VOX
26980588Sobrien>1	belong&0xffffff00	0x00012a00	Ashley Audio
27080588Sobrien>1	belong&0xffffff00	0x00012b00	Vari-Lite
27180588Sobrien>1	belong&0xffffff00	0x00012c00	Summit Audio
27280588Sobrien>1	belong&0xffffff00	0x00012d00	Aureal Semicon.
27380588Sobrien>1	belong&0xffffff00	0x00012e00	SeaSound
27480588Sobrien>1	belong&0xffffff00	0x00012f00	U.S. Robotics
27580588Sobrien>1	belong&0xffffff00	0x00013000	Aurisis
27680588Sobrien>1	belong&0xffffff00	0x00013100	Nearfield Multimedia
27780588Sobrien>1	belong&0xffffff00	0x00013200	FM7 Inc.
27880588Sobrien>1	belong&0xffffff00	0x00013300	Swivel Systems
27980588Sobrien>1	belong&0xffffff00	0x00013400	Hyperactive
28080588Sobrien>1	belong&0xffffff00	0x00013500	MidiLite
28180588Sobrien>1	belong&0xffffff00	0x00013600	Radical
28280588Sobrien>1	belong&0xffffff00	0x00013700	Roger Linn
28380588Sobrien>1	belong&0xffffff00	0x00013800	Helicon
28480588Sobrien>1	belong&0xffffff00	0x00013900	Event
28580588Sobrien>1	belong&0xffffff00	0x00013a00	Sonic Network
28680588Sobrien>1	belong&0xffffff00	0x00013b00	Realtime Music
28780588Sobrien>1	belong&0xffffff00	0x00013c00	Apogee Digital
28880588Sobrien
28980588Sobrien>1	belong&0xffffff00	0x00202b00	Medeli Electronics
29080588Sobrien>1	belong&0xffffff00	0x00202c00	Charlie Lab
29180588Sobrien>1	belong&0xffffff00	0x00202d00	Blue Chip Music
29280588Sobrien>1	belong&0xffffff00	0x00202e00	BEE OH Corp
29380588Sobrien>1	belong&0xffffff00	0x00202f00	LG Semicon America
29480588Sobrien>1	belong&0xffffff00	0x00203000	TESI
29580588Sobrien>1	belong&0xffffff00	0x00203100	EMAGIC
29680588Sobrien>1	belong&0xffffff00	0x00203200	Behringer
29780588Sobrien>1	belong&0xffffff00	0x00203300	Access Music
29880588Sobrien>1	belong&0xffffff00	0x00203400	Synoptic
29980588Sobrien>1	belong&0xffffff00	0x00203500	Hanmesoft Corp
30080588Sobrien>1	belong&0xffffff00	0x00203600	Terratec
30180588Sobrien>1	belong&0xffffff00	0x00203700	Proel SpA
30280588Sobrien>1	belong&0xffffff00	0x00203800	IBK MIDI
30380588Sobrien>1	belong&0xffffff00	0x00203900	IRCAM
30480588Sobrien>1	belong&0xffffff00	0x00203a00	Propellerhead Software
30580588Sobrien>1	belong&0xffffff00	0x00203b00	Red Sound Systems
30680588Sobrien>1	belong&0xffffff00	0x00203c00	Electron ESI AB
30780588Sobrien>1	belong&0xffffff00	0x00203d00	Sintefex Audio
30880588Sobrien>1	belong&0xffffff00	0x00203e00	Music and More
30980588Sobrien>1	belong&0xffffff00	0x00203f00	Amsaro
31080588Sobrien>1	belong&0xffffff00	0x00204000	CDS Advanced Technology
31180588Sobrien>1	belong&0xffffff00	0x00204100	Touched by Sound
31280588Sobrien>1	belong&0xffffff00	0x00204200	DSP Arts
31380588Sobrien>1	belong&0xffffff00	0x00204300	Phil Rees Music
31480588Sobrien>1	belong&0xffffff00	0x00204400	Stamer Musikanlagen GmbH
31580588Sobrien>1	belong&0xffffff00	0x00204500	Soundart
31680588Sobrien>1	belong&0xffffff00	0x00204600	C-Mexx Software
31780588Sobrien>1	belong&0xffffff00	0x00204700	Klavis Tech.
31880588Sobrien>1	belong&0xffffff00	0x00204800	Noteheads AB
31980588Sobrien
32080588Sobrien0	string			T707		Roland TR-707 Data
321