Format of SysEx messages MegaDrum can send

 

1.  Miscellaneous configuration data

F0 70 03 01 01 04 02 08 00 04 00 00 00 02 00 0a 01 04 F7 – Miscellaneous configuration data where:

F0 and F7 	- Sysex envelope bytes (mark start and stop of a sysex message)
70 		– MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex
03 		– MegaDrum Chain ID
01 		– MegaDrum Sysex type. 01 means a 'miscellaneous' config sysex
01 04 02 08 00 04 00 00 00 02 00 0a 01 04 data
	01 04 → 14 – 'note off' delay. 1 equals 10ms.
			In this example 0x14 → 20 → 200ms 
	02 08 → 28 – latency. 1 equals 100us.
			In this example 0x28 → 40 → 4000us → 4ms
00 04 00 00 → 0004 – various ON/OFF flags
bit 0 – 'All Gains Low' Yes/No bit 1 – not used bit 2 – 'Big VU Meter' Yes/No bit 3 – 'Quick Access' Yes/No bit 4 – MIDI speed. 0 for 31250, 1 for 38400. A legacy
leftover from 'MIDI over serial' time, should really be left as 0.
bit 5 – 'AltFalseTrSupp' Yes/No bit 6 – 'InputsPriority' Yes/No bit 7..15 – not used

2.  HiHat pedal configuration data

F0 70 03 02 00 03 00 05 00 04 0C 08 00 00 07 0F 00 03 00 00 00 08 07 01 00 0E 00 02 00 00
02 08 04 06 02 0C 01 06
01 06 02 0A 01 06 01 01 02 0C 01 06 01 06 02 0A 01 06 01 01 02 0A
02 0E
F7 – HiHat pedal configuration data where: F0 and F7 - Sysex envelope bytes (mark start and stop of a sysex message) 70 – MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex. 03 – MegaDrum Chain ID. 02 – MegaDrum Sysex type. 02 means a HiHat pedal config sysex 00 03 00 05 00 04 0C 08 00 00 07 0F 00 03 00 00 00 08 07 01 00 0E 00 02 00 00 02 08 04 06 02 0C
01 06
01 06 02 0A 01 06 01 01 02 0C 01 06 01 06 02 0A 01 06 01 01 02 0A 02 0E – data 00 03 → 03 → 00000011 bit 0 – pedal type: 0 – potentiometer, 1 – foot controller bit 1 – pedal levels: 0 – manual, 1 – auto bit 2 – AltIn for pedal: 0 – No, 1 – Yes bit 3 – LvlsRevers. Reverse levels of pedal bits 4..7 – curve number 0 – Linear 1 – Log1 2 – Log2 3 – Log3 4 - Log4 5 – Exp1 6 – Exp2 7 – S1 8 – S2 9 – Strong1 10 – Strong2 11 – Max 12 – Custom1 13 – Custom2 14 – Custom3 15 – Custom4 00 05 → 05 – Chick delay in milliseconds 00 04 → 04 – pedal CC value 0C 08 00 00 → 00C8 – pedal low level (fully pressed) 07 0F 00 03 → 037F – pedal high level (fully depressed) 00 08 → 08 – HiHat Open level (OpenLvl) 07 01 → 71 – HiHat Closed level (ClosedLvl) 07 06 → 76 – HiHat level threshold for short (1-64) chicks 00 0E → 0E – HiHat level threshold for long (1-127) chicks
00 02 → 02 – HiHat cymbal input number. Must be an even number corresponding to Bow input 00 00 → 00 → 00000000 bit 0 – soft chicks: 0 – disabled, 1 -enabled bits 1..7 – reserved 02 08 → 28 – HiHat Semi Open level (SOpenLvl) 04 06 → 46 – HiHat Half Open level (HOpenLvl) 02 0C → 2C – HiHat bow semi half open note 01 06 → 16 – HiHat edge semi half open note 01 06 → 16 – HiHat bell semi half open note 02 0C → 2C – HiHat bow half open note 01 06 → 16 – HiHat edge half open note 01 06 → 16 – HiHat bell half open note 02 0A → 2A – HiHat bow semi closed note 01 06 → 16 – HiHat edge semi closed note 01 06 → 16 – HiHat bell semi closed note 02 0A → 2A – HiHat bow closed note 01 06 → 16 – HiHat edge closed note 01 06 → 16 – HiHat bell closed note 02 0A → 2a – HiHat chick note 02 0E → 2E – HiHat splash note

3. Pad configuration data

F0 70 03 03 01 02 0E 09 00 01 04 00 08 0F 00 00 03 01 04 00 02
00 00 00 00
F7 – pad configuration data where:
F0
and F7 - Sysex envelope bytes (mark start and stop of a sysex message) 70 – MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex. 03 – MegaDrum Chain ID. 03 – MegaDrum Sysex type. 03 means a pad config sysex 01 - Pad number between 01 and 1F (32 inputs version)
or between 01 and 15 (22 inputs version)
02 0E 09 00 01 04 00 08 0F 00 00 03 01 04 00 02 00 00 00 00 – data 02 0E → 2E - note number 09 00 → 90 – channel and curve. 9 – MIDI channel (0..9 corresponds to channels 1..10) 0 – curve number (0..9) 0 – Linear 1 – Log1 2 – Log2 3 – Log3 4 - Log4 5 – Exp1 6 – Exp2 7 – S1 8 – S2 9 – Strong1 10 – Strong2 11 - Max 12 – Custom1 13 – Custom2 14 – Custom3 15 – Custom4 01 04 → 14 – pad level threshold 00 08 → 08 – pad retrigger 0F 00 00 03 → 03F0 – max pad level. 01 04 → 14 – MinScan 00 02 → 02 00000010 – pad type bit 0 – pad type: 0 – piezo, 1 – switch
(only used on rim/edge inputs)
bit 1 – max pad level type: 0 – manual, 1 – auto bit 2 – dual head: 0 – no, 1 – yes
(only used on head/bow inputs)
bit 3 – 3way head: 0 – no, 1 – yes
(only used on head/bow inputs)
bits 4-7 - gain level (bit7 bit6 bit5 bit4) 0000 – 0 0001 – 1 0010 – 2 0011 – 3 0100 – 4 0101 – 5 0110 – 6 0111 – 7 1000 – 8 00 00 → 00 → 00000000 bits 0,1 – crosstalk suppression level bits 2,3 – dynamic threshold decay time 00 - 8ms 01 – 16ms 10 – 32ms 11 – 64ms bits 4-6 – dynamic threshold level bit 7 – not used 00 00 → 00 → 00000000 – compression level and level shift bits 0-2 – compression level. bits 3-5 – level shift 000 – 0 001 - 8 010 - 16 011 - 24 100 - 32 101 - 40 110 - 48 111 – 56 bits 6,7 – crosstalk group

4. 3rd zone pad configuration data

F0 70 03 04 00 02 0E 01 04 F7 – pad configuration data where:

F0 and F7 	- Sysex envelope bytes (mark start and stop of a sysex message)
70 		– MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex.
03 		– MegaDrum Chain ID.
04 		– MegaDrum Sysex type. 04 means a config sysex for 3rd zone
00		- 3rd zone number between 00 and 0e (32 inputs version)
or between 00 and 09 (22 inputs version). 00 corresponds to HiHat,
01 – Snare and so on.
02 0E 01 04 – data 02 0E → 2E - 3rd zone note number (BNote) For dual piezo/switch pads/cymbals: 01 04 → 14 – 3rd zone switch level threshold (BThreshold) For dual piezo/piezo pads: 01 04 → 14
bits 0-3 – Midpoint width for rim shots bits 4-7 – Midpoint position for head/rim hits separation.

5.  Firmware version data

F0 70 03 05 04 02 06 0A 03 02 00 01 F7 – Firmware version data where:

F0 and F7 	- Sysex envelope bytes (mark start and stop of a sysex message)
70 		– MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex
03 		– MegaDrum Chain ID
05 		– MegaDrum Sysex type. 05 means firmware version
04 02 06 0A 03 02 00 01 data
	04 02 06 0A 03 02 00 01 → 01326A42(hex)  20081218(dec) – firmware version.

 

6. Custom curves configuration data

F0 70 03 06 00 00 02 01 0f 03 0f 05 0f 07 0f 09 0f 0b 0f 0d 0f 0f 0f F7 – curve configuration
data where:

F0 and F7 	- Sysex envelope bytes (mark start and stop of a sysex message)
70 		– MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex.
03 		– MegaDrum Chain ID.
06 		– MegaDrum Sysex type. 06 means a config sysex for CustomCurve
00		- custom curve number between 00 and 03 corresponding to curves 1-4
00 02 01 0f 03 0f 05 0f 07 0f 09 0f 0b 0f 0d 0f 0f 0f – data
	02 0E → 02	- value for midpoint P1
	01 0f → 1f	- value for midpoint P2
	...
	02 0E → 02	- value for midpoint P9

 

6. Positional sensing data

F0 70 03 07 00 00 02 00 05 00 0f F7 – positional sensing configuration data where:

F0 and F7 	- Sysex envelope bytes (mark start and stop of a sysex message)
70 		– MegaDrum Sysex ID. Signifies that it is a MegaDrum Sysex.
03 		– MegaDrum Chain ID.
07 		– MegaDrum Sysex type. 07 means a config sysex for Positional sensing
00		- Positional input number between 0 and 3 (SnareH, RideH, CrushH, Tom1H)
00 02 00 05 00 0f – data
	00 02 → 02 – Positional Sensing algorithm between 0 and 3. 0 - PS is disabled.
	00 05 → 05 – PositionalLow value.
	00 0f → 0f – PositionalHi value.