If somebody has it… It would be much appreciated ![]()
find the midi implementation chart and do it yourself, its not hard. no scary coding i promise!
Thanks! I’ll share here as soon as I get it done!
I have created two files, since HAPAX in drum mode can’t have the 16 pads together… So one is for pads 1-8 and the other for pads 9-16.
############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.
###### DEFINITIONS
# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TEMPEST-1
# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM
# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT C
# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10
# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL
# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL
# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
8:NULL:10:43 PAD-08
7:NULL:10:47 PAD-07
6:NULL:10:50 PAD-06
5:NULL:10:46 PAD-05
4:NULL:10:38 PAD-04
3:NULL:10:40 PAD-03
2:NULL:10:54 PAD-02
1:NULL:10:69 PAD-01
[/DRUMLANES]
# PC
# Syntax: NUMBER NAME
# number must be either:
# - A number (for simple PC)
# - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]
# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
12 Distortion
13 Compression
19 Dist 0 BFX to DEF
20 BFX All OSC Freq
21 BFX Feedback
22 BFX LF Cutoff
23 BFX LF Resonance
24 BFX LF Audio Mod
25 BFX HF Cutoff
26 BFX All Env ATT
27 BFX All Env DEC
[/CC]
# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]
# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]
[/AUTOMATION]
# This section will be readable from Hapax.
[COMMENT]
DSI Tempest Drum Tracks 1-8, CH10
[/COMMENT]
PADS 9-16:
############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.
###### DEFINITIONS
# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TEMPEST-2
# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM
# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT C
# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10
# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL
# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL
# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
8:NULL:10:55 PAD-16
7:NULL:10:49 PAD-15
6:NULL:10:51 PAD-14
5:NULL:10:42 PAD-13
4:NULL:10:36 PAD-12
3:NULL:10:37 PAD-11
2:NULL:10:39 PAD-10
1:NULL:10:77 PAD-09
[/DRUMLANES]
# PC
# Syntax: NUMBER NAME
# number must be either:
# - A number (for simple PC)
# - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]
# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
12 Distortion
13 Compression
19 Dist 0 BFX to DEF
20 BFX All OSC Freq
21 BFX Feedback
22 BFX LF Cutoff
23 BFX LF Resonance
24 BFX LF Audio Mod
25 BFX HF Cutoff
26 BFX All Env ATT
27 BFX All Env DEC
[/CC]
# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]
# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]
[/AUTOMATION]
# This section will be readable from Hapax.
[COMMENT]
DSI Tempest Drum Tracks 9-16, CH10
[/COMMENT]
Thanks for this. Hopefully when we get more lanes we’ll be able to use just one def for this.
I just got a tempest and was thinking of using the onboard sequencer and using the hapax to control pattern changes via the pads. I feel like it could be very good for this because you can still use the fun internal sequencing/performance features but turn off beat quantize and jump around and create variations based on the sequenced notes on the hapax. Thats my theory at least. Just learning. I mention here because I might create a non-drum mode definition file for it. Also would come useful if using it in polysynth mode.
Perhaps I’ve misunderstood regarding lanes, but didn’t firmware 2.0 from Jan 2024 give Hapax an increase from 8 to 16 lanes? So isn’t what you want already possible?
It gave 16 patterns per track instead of 8. Lanes are the individual drum instruments on a drum track, they are still limited to 8 per drum track. Patterns are the midi clips you create.
Ah, thank you for the education ![]()