I use drumlanes to active (or not) audio triggers for envelopes, midi trig the envelopes and make envelopes attack faster.
VERSION 1 # Currently, this should only be 1.
# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME FILTERBANK
# Can be POLY, DRUM, MPE, or NULL
TYPE NULL
# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT B
# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 16
# 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:16:60 #ADSR AUDIO TRIG ON
7:NULL:16:61 #ADSR AUDIO TRIG OFF
6:NULL:16:62 #AR AUDIO TRIG ON
5:NULL:16:63 #AR AUDIO TRIG OFF
4:NULL:16:66 #ADSR TRIG
3:NULL:16:70 #AR TRIG
2:NULL:16:65 #ADSR FAST ATTACK TRIG
1:NULL:16:69 #AR FAST ATTACK TRIG
[/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]
1 CUTOFF 2
2 RESONANCE 2
4 FM DEPTH
7 VCA BIAS
11 AM/RING DEPTH
5 ADSR ATTACK
16 ADSR DECAY
17 ADSR RELEASE
18 AR ATTACK
19 AR RELEASE
[/CC]
# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
# DEPTH can be 7 or 14
# 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)
[NRPN]
[/NRPN]
# 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]
PB #CUTOFF 1
AT #RESONANCE 1
CC:1 #CUTOFF 2
CC:2 #RESONANCE 2
CC:4 #FM DEPTH
CC:7 #VCA
CC:11 #AM/RING DEPTH
CC:5 #ADSR ATTACK
CC:16 #ADSR DECAY
CC:17 #ADSR RELEASE
CC:18 #AR ATTACK
CC:19 #AR RELEASE
[/AUTOMATION]
# This section will be readable from Hapax.
[COMMENT]
[/COMMENT]