1 2#------------------------------------------------------------------------ 3# $File: sysex,v 1.10 2019/04/19 00:42:27 christos Exp $ 4# sysex: file(1) magic for MIDI sysex files 5# 6# GRR: original 1 byte test at offset was too general as it catches also many FATs of DOS filesystems 7# where real SYStem EXclusive messages at offset 1 are limited to seven bits 8# https://en.wikipedia.org/wiki/MIDI 90 ubeshort&0xFF80 0xF000 SysEx File - 10 11# North American Group 12>1 byte 0x01 Sequential 13>1 byte 0x02 IDP 14>1 byte 0x03 OctavePlateau 15>1 byte 0x04 Moog 16>1 byte 0x05 Passport 17>1 byte 0x06 Lexicon 18>1 byte 0x07 Kurzweil/Future Retro 19>>3 byte 0x77 777 20>>4 byte 0x00 Bank 21>>4 byte 0x01 Song 22>>5 byte 0x0f 16 23>>5 byte 0x0e 15 24>>5 byte 0x0d 14 25>>5 byte 0x0c 13 26>>5 byte 0x0b 12 27>>5 byte 0x0a 11 28>>5 byte 0x09 10 29>>5 byte 0x08 9 30>>5 byte 0x07 8 31>>5 byte 0x06 7 32>>5 byte 0x05 6 33>>5 byte 0x04 5 34>>5 byte 0x03 4 35>>5 byte 0x02 3 36>>5 byte 0x01 2 37>>5 byte 0x00 1 38>>5 byte 0x10 (ALL) 39>>2 byte x \b, Channel %d 40>1 byte 0x08 Fender 41>1 byte 0x09 Gulbransen 42>1 byte 0x0a AKG 43>1 byte 0x0b Voyce 44>1 byte 0x0c Waveframe 45>1 byte 0x0d ADA 46>1 byte 0x0e Garfield 47>1 byte 0x0f Ensoniq 48>1 byte 0x10 Oberheim 49>>2 byte 0x06 Matrix 6 series 50>>3 byte 0x0A Dump (All) 51>>3 byte 0x01 Dump (Bank) 52>>4 belong 0x0002040E Matrix 1000 53>>>11 byte <2 User bank %d 54>>>11 byte >1 Preset bank %d 55>1 byte 0x11 Apple 56>1 byte 0x12 GreyMatter 57>1 byte 0x14 PalmTree 58>1 byte 0x15 JLCooper 59>1 byte 0x16 Lowrey 60>1 byte 0x17 AdamsSmith 61>1 byte 0x18 E-mu 62>1 byte 0x19 Harmony 63>1 byte 0x1a ART 64>1 byte 0x1b Baldwin 65>1 byte 0x1c Eventide 66>1 byte 0x1d Inventronics 67>1 byte 0x1f Clarity 68 69# European Group 70>1 byte 0x21 SIEL 71>1 byte 0x22 Synthaxe 72>1 byte 0x24 Hohner 73>1 byte 0x25 Twister 74>1 byte 0x26 Solton 75>1 byte 0x27 Jellinghaus 76>1 byte 0x28 Southworth 77>1 byte 0x29 PPG 78>1 byte 0x2a JEN 79>1 byte 0x2b SSL 80>1 byte 0x2c AudioVertrieb 81 82>1 byte 0x2f ELKA 83>>3 byte 0x09 EK-44 84 85>1 byte 0x30 Dynacord 86>1 byte 0x31 Jomox 87>1 byte 0x33 Clavia 88>1 byte 0x39 Soundcraft 89# Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs 90>1 byte 0x3e Waldorf 91>>2 byte 0x00 microWave 92>>2 byte 0x0E microwave2 / XT 93>>2 byte 0x0F Q / Q+ 94>>3 byte =0 (default id) 95>>3 byte >0 ( 96>>>3 byte <0x7F \bdevice %d) 97>>>3 byte =0x7F \bbroadcast id) 98>>3 byte 0x7f Microwave I 99>>>4 byte 0x00 SNDR (Sound Request) 100>>>4 byte 0x10 SNDD (Sound Dump) 101>>>4 byte 0x20 SNDP (Sound Parameter Change) 102>>>4 byte 0x30 SNDQ (Sound Parameter Inquiry) 103>>>4 byte 0x70 BOOT (Sound Reserved) 104>>>4 byte 0x01 MULR (Multi Request) 105>>>4 byte 0x11 MULD (Multi Dump) 106>>>4 byte 0x21 MULP (Multi Parameter Change) 107>>>4 byte 0x31 MULQ (Multi Parameter Inquiry) 108>>>4 byte 0x71 OS (Multi Reserved) 109>>>4 byte 0x02 DRMR (Drum Map Request) 110>>>4 byte 0x12 DRMD (Drum Map Dump) 111>>>4 byte 0x22 DRMP (Drum Map Parameter Change) 112>>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry) 113>>>4 byte 0x72 BIN (Drum Map Reserved) 114>>>4 byte 0x03 PATR (Sequencer Pattern Request) 115>>>4 byte 0x13 PATD (Sequencer Pattern Dump) 116>>>4 byte 0x23 PATP (Sequencer Pattern Parameter Change) 117>>>4 byte 0x33 PATQ (Sequencer Pattern Parameter Inquiry) 118>>>4 byte 0x73 AFM (Sequencer Pattern Reserved) 119>>>4 byte 0x04 GLBR (Global Parameter Request) 120>>>4 byte 0x14 GLBD (Global Parameter Dump) 121>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 122>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 123>>>4 byte 0x07 MODR (Mode Parameter Request) 124>>>4 byte 0x17 MODD (Mode Parameter Dump) 125>>>4 byte 0x27 MODP (Mode Parameter Parameter Change) 126>>>4 byte 0x37 MODQ (Mode Parameter Parameter Inquiry) 127>>2 byte 0x10 microQ 128>>>4 byte 0x00 SNDR (Sound Request) 129>>>4 byte 0x10 SNDD (Sound Dump) 130>>>4 byte 0x20 SNDP (Sound Parameter Change) 131>>>4 byte 0x30 SNDQ (Sound Parameter Inquiry) 132>>>4 byte 0x70 (Sound Reserved) 133>>>4 byte 0x01 MULR (Multi Request) 134>>>4 byte 0x11 MULD (Multi Dump) 135>>>4 byte 0x21 MULP (Multi Parameter Change) 136>>>4 byte 0x31 MULQ (Multi Parameter Inquiry) 137>>>4 byte 0x71 OS (Multi Reserved) 138>>>4 byte 0x02 DRMR (Drum Map Request) 139>>>4 byte 0x12 DRMD (Drum Map Dump) 140>>>4 byte 0x22 DRMP (Drum Map Parameter Change) 141>>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry) 142>>>4 byte 0x72 BIN (Drum Map Reserved) 143>>>4 byte 0x04 GLBR (Global Parameter Request) 144>>>4 byte 0x14 GLBD (Global Parameter Dump) 145>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 146>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 147>>2 byte 0x11 rackAttack 148>>>4 byte 0x00 SNDR (Sound Parameter Request) 149>>>4 byte 0x10 SNDD (Sound Parameter Dump) 150>>>4 byte 0x20 SNDP (Sound Parameter Parameter Change) 151>>>4 byte 0x30 SNDQ (Sound Parameter Parameter Inquiry) 152>>>4 byte 0x01 PRGR (Program Parameter Request) 153>>>4 byte 0x11 PRGD (Program Parameter Dump) 154>>>4 byte 0x21 PRGP (Program Parameter Parameter Change) 155>>>4 byte 0x31 PRGQ (Program Parameter Parameter Inquiry) 156>>>4 byte 0x71 OS (Program Parameter Reserved) 157>>>4 byte 0x03 PATR (Pattern Parameter Request) 158>>>4 byte 0x13 PATD (Pattern Parameter Dump) 159>>>4 byte 0x23 PATP (Pattern Parameter Parameter Change) 160>>>4 byte 0x33 PATQ (Pattern Parameter Parameter Inquiry) 161>>>4 byte 0x04 GLBR (Global Parameter Request) 162>>>4 byte 0x14 GLBD (Global Parameter Dump) 163>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 164>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 165>>>4 byte 0x05 EFXR (FX Parameter Request) 166>>>4 byte 0x15 EFXD (FX Parameter Dump) 167>>>4 byte 0x25 EFXP (FX Parameter Parameter Change) 168>>>4 byte 0x35 EFXQ (FX Parameter Parameter Inquiry) 169>>>4 byte 0x07 MODR (Mode Command Request) 170>>>4 byte 0x17 MODD (Mode Command Dump) 171>>>4 byte 0x27 MODP (Mode Command Parameter Change) 172>>>4 byte 0x37 MODQ (Mode Command Parameter Inquiry) 173>>2 byte 0x03 Wave 174>>>4 byte 0x00 SBPR (Soundprogram) 175>>>4 byte 0x01 SAPR (Performance) 176>>>4 byte 0x02 SWAVE (Wave) 177>>>4 byte 0x03 SWTBL (Wave control table) 178>>>4 byte 0x04 SVT (Velocity Curve) 179>>>4 byte 0x05 STT (Tuning Table) 180>>>4 byte 0x06 SGLB (Global Parameters) 181>>>4 byte 0x07 SARRMAP (Performance Program Change Map) 182>>>4 byte 0x08 SBPRMAP (Sound Program Change Map) 183>>>4 byte 0x09 SBPRPAR (Sound Parameter) 184>>>4 byte 0x0A SARRPAR (Performance Parameter) 185>>>4 byte 0x0B SINSPAR (Instrument/External Parameter) 186>>>4 byte 0x0F SBULK (Bulk Switch on/off) 187 188# Japanese Group 189>1 byte 0x40 Kawai 190>>3 byte 0x20 K1 191>>3 byte 0x22 K4 192 193>1 byte 0x41 Roland 194>>3 byte 0x14 D-50 195>>3 byte 0x2b U-220 196>>3 byte 0x02 TR-707 197 198>1 byte 0x42 Korg 199>>3 byte 0x19 M1 200 201>1 byte 0x43 Yamaha 202>1 byte 0x44 Casio 203>1 byte 0x46 Kamiya 204>1 byte 0x47 Akai 205>1 byte 0x48 Victor 206>1 byte 0x49 Mesosha 207>1 byte 0x4b Fujitsu 208>1 byte 0x4c Sony 209>1 byte 0x4e Teac 210>1 byte 0x50 Matsushita 211>1 byte 0x51 Fostex 212>1 byte 0x52 Zoom 213>1 byte 0x54 Matsushita 214>1 byte 0x57 Acoustic tech. lab. 215# https://www.midi.org/techspecs/manid.php 216>1 belong&0xffffff00 0x00007400 Ta Horng 217>1 belong&0xffffff00 0x00007500 e-Tek 218>1 belong&0xffffff00 0x00007600 E-Voice 219>1 belong&0xffffff00 0x00007700 Midisoft 220>1 belong&0xffffff00 0x00007800 Q-Sound 221>1 belong&0xffffff00 0x00007900 Westrex 222>1 belong&0xffffff00 0x00007a00 Nvidia* 223>1 belong&0xffffff00 0x00007b00 ESS 224>1 belong&0xffffff00 0x00007c00 Mediatrix 225>1 belong&0xffffff00 0x00007d00 Brooktree 226>1 belong&0xffffff00 0x00007e00 Otari 227>1 belong&0xffffff00 0x00007f00 Key Electronics 228>1 belong&0xffffff00 0x00010000 Shure 229>1 belong&0xffffff00 0x00010100 AuraSound 230>1 belong&0xffffff00 0x00010200 Crystal 231>1 belong&0xffffff00 0x00010300 Rockwell 232>1 belong&0xffffff00 0x00010400 Silicon Graphics 233>1 belong&0xffffff00 0x00010500 Midiman 234>1 belong&0xffffff00 0x00010600 PreSonus 235>1 belong&0xffffff00 0x00010800 Topaz 236>1 belong&0xffffff00 0x00010900 Cast Lightning 237>1 belong&0xffffff00 0x00010a00 Microsoft 238>1 belong&0xffffff00 0x00010b00 Sonic Foundry 239>1 belong&0xffffff00 0x00010c00 Line 6 240>1 belong&0xffffff00 0x00010d00 Beatnik Inc. 241>1 belong&0xffffff00 0x00010e00 Van Koerving 242>1 belong&0xffffff00 0x00010f00 Altech Systems 243>1 belong&0xffffff00 0x00011000 S & S Research 244>1 belong&0xffffff00 0x00011100 VLSI Technology 245>1 belong&0xffffff00 0x00011200 Chromatic 246>1 belong&0xffffff00 0x00011300 Sapphire 247>1 belong&0xffffff00 0x00011400 IDRC 248>1 belong&0xffffff00 0x00011500 Justonic Tuning 249>1 belong&0xffffff00 0x00011600 TorComp 250>1 belong&0xffffff00 0x00011700 Newtek Inc. 251>1 belong&0xffffff00 0x00011800 Sound Sculpture 252>1 belong&0xffffff00 0x00011900 Walker Technical 253>1 belong&0xffffff00 0x00011a00 Digital Harmony 254>1 belong&0xffffff00 0x00011b00 InVision 255>1 belong&0xffffff00 0x00011c00 T-Square 256>1 belong&0xffffff00 0x00011d00 Nemesys 257>1 belong&0xffffff00 0x00011e00 DBX 258>1 belong&0xffffff00 0x00011f00 Syndyne 259>1 belong&0xffffff00 0x00012000 Bitheadz 260>1 belong&0xffffff00 0x00012100 Cakewalk 261>1 belong&0xffffff00 0x00012200 Staccato 262>1 belong&0xffffff00 0x00012300 National Semicon. 263>1 belong&0xffffff00 0x00012400 Boom Theory 264>1 belong&0xffffff00 0x00012500 Virtual DSP Corp 265>1 belong&0xffffff00 0x00012600 Antares 266>1 belong&0xffffff00 0x00012700 Angel Software 267>1 belong&0xffffff00 0x00012800 St Louis Music 268>1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX 269>1 belong&0xffffff00 0x00012a00 Ashley Audio 270>1 belong&0xffffff00 0x00012b00 Vari-Lite 271>1 belong&0xffffff00 0x00012c00 Summit Audio 272>1 belong&0xffffff00 0x00012d00 Aureal Semicon. 273>1 belong&0xffffff00 0x00012e00 SeaSound 274>1 belong&0xffffff00 0x00012f00 U.S. Robotics 275>1 belong&0xffffff00 0x00013000 Aurisis 276>1 belong&0xffffff00 0x00013100 Nearfield Multimedia 277>1 belong&0xffffff00 0x00013200 FM7 Inc. 278>1 belong&0xffffff00 0x00013300 Swivel Systems 279>1 belong&0xffffff00 0x00013400 Hyperactive 280>1 belong&0xffffff00 0x00013500 MidiLite 281>1 belong&0xffffff00 0x00013600 Radical 282>1 belong&0xffffff00 0x00013700 Roger Linn 283>1 belong&0xffffff00 0x00013800 Helicon 284>1 belong&0xffffff00 0x00013900 Event 285>1 belong&0xffffff00 0x00013a00 Sonic Network 286>1 belong&0xffffff00 0x00013b00 Realtime Music 287>1 belong&0xffffff00 0x00013c00 Apogee Digital 288 289>1 belong&0xffffff00 0x00202b00 Medeli Electronics 290>1 belong&0xffffff00 0x00202c00 Charlie Lab 291>1 belong&0xffffff00 0x00202d00 Blue Chip Music 292>1 belong&0xffffff00 0x00202e00 BEE OH Corp 293>1 belong&0xffffff00 0x00202f00 LG Semicon America 294>1 belong&0xffffff00 0x00203000 TESI 295>1 belong&0xffffff00 0x00203100 EMAGIC 296>1 belong&0xffffff00 0x00203200 Behringer 297>1 belong&0xffffff00 0x00203300 Access Music 298>1 belong&0xffffff00 0x00203400 Synoptic 299>1 belong&0xffffff00 0x00203500 Hanmesoft Corp 300>1 belong&0xffffff00 0x00203600 Terratec 301>1 belong&0xffffff00 0x00203700 Proel SpA 302>1 belong&0xffffff00 0x00203800 IBK MIDI 303>1 belong&0xffffff00 0x00203900 IRCAM 304>1 belong&0xffffff00 0x00203a00 Propellerhead Software 305>1 belong&0xffffff00 0x00203b00 Red Sound Systems 306>1 belong&0xffffff00 0x00203c00 Electron ESI AB 307>1 belong&0xffffff00 0x00203d00 Sintefex Audio 308>1 belong&0xffffff00 0x00203e00 Music and More 309>1 belong&0xffffff00 0x00203f00 Amsaro 310>1 belong&0xffffff00 0x00204000 CDS Advanced Technology 311>1 belong&0xffffff00 0x00204100 Touched by Sound 312>1 belong&0xffffff00 0x00204200 DSP Arts 313>1 belong&0xffffff00 0x00204300 Phil Rees Music 314>1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH 315>1 belong&0xffffff00 0x00204500 Soundart 316>1 belong&0xffffff00 0x00204600 C-Mexx Software 317>1 belong&0xffffff00 0x00204700 Klavis Tech. 318>1 belong&0xffffff00 0x00204800 Noteheads AB 319 3200 string T707 Roland TR-707 Data 321