Erica Synths LXR-02

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME LXR-02

# 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 NULL

# 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

# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE 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]
7:NULL:7:NULL OH
6:NULL:6:NULL CH
5:NULL:5:NULL CY_CP
4:NULL:4:NULL SN
3:NULL:3:NULL V3
2:NULL:2:NULL V2
1:NULL:1:NULL V1
[/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]
2 V1_Osc1WF       #Waveform
9 V1_Osc1CT       #Coarse Tune
10 V1_Osc1FT      #Fine Tune
21 V1_WFModOsc    #Waveform mod Osc
38 V1_FltFrq      #Filter Frequency
44 V1_FltRes      #Filter Resonance
50 V1_VolEnvAtk   #Volume Envelope Attack
51 V1_VolEnvDec   #Volume Envelope Decay
63 V1_VolEnvSlp   #Volume Envelope Slope
71 V1_ModEnvDec   #Mod Envelope Decay
75 V1_EnvModAmt   #Envelope Mod Amount
79 V1_ModEnvSlp   #Mod Envelope Slope
83 V1_FMAmt       #FM Amount
84 V1_FMFrq       #FM Frequency
89 V1_Vol         #Voice Volume
95 V1_Pan         #Voice Pan
103 V1_Dist       #Distortion
109 V1_Dcm        #Decimation
116 V1_LFOFrq     #LFO Frequency
122 V1_LFOAmt     #LFO Amount

3 V2_Osc1WF
11 V2_Osc1CT
12 V2_Osc1FT
22 V2_WFModOsc
39 V2_FltFrq
45 V2_FltRes
52 V2_VolEnvAtk
53 V2_VolEnvDec
64 V2_VolEnvSlp
72 V2_ModEnvDec
76 V2_EnvModAmt
80 V2_ModEnvSlp
85 V2_FMAmt
86 V2_FMFrq
90 V2_Vol
96 V2_Pan
104 V2_Dist
110 V2_Dcm
117 V2_LFOFrq
123 V2_LFOAmt

4 V3_Osc1WF
13 V3_Osc1CT
14 V3_Osc1FT
23 V3_WFModOsc
40 V3_FltFrq
46 V3_FltRes
54 V3_VolEnvAtk
55 V3_VolEnvDec
65 V3_VolEnvSlp
73 V3_VolEnvDec
77 V3_EnvModAmt
81 V3_ModEnvSlp
87 V3_FMAmt
88 V3_FMFrq
91 V3_Vol
97 V3_Pan
105 V3_Dist
111 V3_Dcm
118 V3_LFOFrq
124 V3_LFOAmt

5 SN_Osc1WF
15 SN_Osc1CT
16 SN_Osc1FT
28 SN_NseFrq      #Noise Frequency    
29 SN_MixOscNse   #Mix Osc/Noise
41 SN_FltFrq
47 SN_FltRes
56 SN_VolEnvAtk
57 SN_VolEnvDec
66 SN_VolEGSlp    #Volume EG Slope
69 SN_VolEGRpt    #Volume EG Repeat Count
74 SN_VolEnvDec
78 SN_EnvModAmt
82 SN_ModEnvSlp
92 SN_Vol
100 SN_Pan
106 SN_Dist
112 SN_Dcm
119 SN_LFOFrq
125 SN_LFOAmt

7 CP_Osc1WF
17 CP_Osc1CT
18 CP_Osc1FT
24 CP_WFModOsc1
25 CP_WFModOsc2
30 CP_CTModOsc1   #Coarse Tune Mod Osc1
31 CP_CTModOsc2
32 CP_GainModOsc1 #Gain Mod Osc1
33 CP_GainModOsc2
42 CP_FltFrq
48 CP_FltRes
58 CP_VolEnvAtk
59 CP_VolEnvDec
67 CP_VolEGSlp
70 CP_VolEgRpt
93 CP_Vol
101 CP_Pan
107 CP_Dist
113 CP_Dcm
120 CP_LFOFrq
126 CP_LFOAmt

8 HH_Osc1WF
19 HH_Osc1CT
20 HH_Osc1FT
26 HH_WFModOsc1
27 HH_WFModOsc2
34 HH_CTModOsc1
35 HH_CTModOsc2
36 HH_GainModOsc1
37 HH_GainModOsc2
43 HH_FltFrq
49 HH_FltRes
60 HH_VolEnvAtk
61 CH_VolEnvDec
62 OH_VolEnvDec
68 HH_VolEGSlp
94 HH_Vol
102 HH_Pan
108 HH_Dist
114 HH_Dcm
121 HH_LFOFrq
127 HH_LFOAmt

115 ALL_Dcm
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted
  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 
  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively
# 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
# NOTE: You are limited to 64 automation lanes
[AUTOMATION]
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
Erica Synths LXR-02 with Drumlanes and all CCs
[/COMMENT]

Hi,

proud owner of a Hapax for two days now and I made this definition for my LXR-02. I also made individual defs for all voices, but there is a problem since the LXR-02 only listens to CC values on a general channel, not the individual channels of the voices. So if there will be an option in the future to define an extra channel for CCs, that be great :slight_smile:
You can still get the individual defs here: sebki/lxr-02 (github.com)

I loaded the definition, have the lxr-02 on midi 16 and it’s not working. Any ideas?

You need to define the midi channel for each voice on the lxr-02 like defined in the drumlanes, so 1-7 for V1-OH. If you want to keep everything in the same channel but different notes to trigger the voices you’ll need to change the definition respectively. On the LXR, the settings are in the mix section of each voice.

Thanks, I got that and it’s working but having trouble getting the midi CC’s to work. I have the definition loaded and have a simple beat on V1 and have V1_OSC1CT loaded and have automation trigs set but nothing happening.

Have you set the general channel on the lxr in the config settings to the same of the track in hapax?

Yeah got it all working now, thanks man. Only the velocity pads aren’t working on snare track. Same volume for all pads

Hm, thats weird. Maybe the velocity to volume modulation is turned off for that voice? On the mod page of the snare voice, the vol parameter?

You the man boss. Thanks

I will provide my version too as it contains the NRPN messages that @sebki didn’t have in his.

You can just take the [NRPN][/NRPN] enclosed part if you already are using his version

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME LXR-02

# 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 NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# 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

# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE 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]
[/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]
2 OscWav 1
3 OscWav 2
4 OscWav 3
5 OscWav 4
7 OscWav 5
8 OscWav 6
9 OscCoarse 1
10 OscFine 1
11 OscCoarse 2
12 OscFine 2
13 OscCoarse 3
14 OscFine 3
15 OscCoarse 4
16 OscFine 4
17 OscCoarse 5
18 OscFine 5
19 OscCoarse 6
20 OscFine 6
21 ModWaveOsc 1
22 ModWaveOsc 2
23 ModWaveOsc 3
24 ModWaveOsc1 5
25 ModWaveOsc2 5
26 ModWaveOsc1 6
27 ModWaveOsc2 6
28 NoiseFreq 4
29 OscNoiseMix 4
30 ModOsc1Coarse 5
31 ModOsc2Coarse 5
32 ModOsc1Gain 5
33 ModOsc2Gain 5
34 ModOsc1Coarse 6
35 ModOsc2Coarse 6
36 ModIscGain1 6
37 ModIscGain2 6
38 FilterFreq 1
39 FilterFreq 2
40 FilterFreq 3
41 FilterFreq 4
42 FilterFreq 5
43 FilterFreq 6
44 FilterRes 1
45 FilterRes 2
46 FilterRes 3
47 FilterRes 4
48 FilterRes 5
49 FilterRes 6
50 AegAttack 1
51 AegDecay 1
52 AegAttack 2
53 AegDecay 2
54 AegAttack 3
55 AegDecay 3
56 AegAttack 4
57 AegDecay 4
58 AegAttack 5
59 AegDecay 5
60 AegAttack 6
61 AegClHHDecay 6
62 AegOpHHDecay 6
63 AegSlope 1
64 AegSlope 2
65 AegSlope 3
66 AegSlope 4
67 AegSlope 5
68 AegSlope 6
69 AegRepeat 4
70 AegRepeat 5
71 ModEnvDecay 1
72 ModEnvDecay 2
73 ModEnvDecay 3
74 ModEnvDecay 4
75 ModEnvAmount 1
76 ModEnvAmount 2
77 ModEnvAmount 3
78 ModEnvAmount 4
79 ModEnvSlope 1
80 ModEnvSlope 2
81 ModEnvSlope 3
82 ModEnvSlope 4
83 FM amount 1
84 FM frequency 1
85 FM amount 2
86 FM frequency 2
87 FM amount 3
88 FM frequency 3
89 Volume 1
90 Volume 2
91 Volume 3
92 Volume 4
93 Volume 5
94 Volume 6
95 Pan 1
96 Pan 2
97 Pan 3
100 Pan 4
101 Pan 5
102 Pan 6
103 Distortion 1
104 Distortion 2
105 Distortion 3
106 Distortion 4
107 Distortion 5
108 Distortion 6
109 BitReduction 1
110 BitReduction 2
111 BitReduction 3
112 BitReduction 4
113 BitReduction 5
114 BitReduction 6
115 BitReduction all
116 LFO Freq 1
117 LFO Freq 2
118 LFO Freq 3
119 LFO Freq 4
120 LFO Freq 5
121 LFO Freq 6
122 LFO amount 1
123 LFO amount 2
124 LFO amount 3
125 LFO amount 4
126 LFO amount 5
127 LFO amount 6
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted
  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 
  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively
# 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]
0:0:7 Filter drive 1
0:1:7 Filter drive 2
0:2:7 Filter drive 3
0:3:7 Filter drive 4
0:4:7 Filter drive 5
0:5:7 Filter drive 6
0:6:7 MixMod select 1
0:7:7 MixMod select 2
0:8:7 MixMod select 3
0:9:7 VelModOnOf 1
0:10:7 VelModOnOf 2
0:11:7 VelModOnOf 3
0:12:7 VelModOnOf 4
0:13:7 VelModOnOf 5
0:14:7 VelModOnOf 6
0:15:7 VelModAmount 1
0:16:7 VelModAmount 2
0:17:7 VelModAmount 3
0:18:7 VelModAmount 4
0:19:7 VelModAmount 5
0:20:7 VelModAmount 6
0:21:7 VelModDest 1
0:22:7 VelModDest 2
0:23:7 VelModDest 3
0:24:7 VelModDest 4
0:25:7 VelModDest 5
0:26:7 VelModDest 6
0:27:7 LFO waveform 1
0:28:7 LFO waveform 2
0:29:7 LFO waveform 3
0:30:7 LFO waveform 4
0:31:7 LFO waveform 5
0:32:7 LFO waveform 6
0:33:7 LFO voice 1
0:34:7 LFO voice 2
0:35:7 LFO voice 3
0:36:7 LFO voice 4
0:37:7 LFO voice 5
0:38:7 LFO voice 6
0:39:7 LFO dest 1
0:40:7 LFO dest 2
0:41:7 LFO dest 3
0:42:7 LFO dest 4
0:43:7 LFO dest 5
0:44:7 LFO dest 6
0:45:7 LFO retrigger 1
0:46:7 LFO retrigger 2
0:47:7 LFO retrigger 3
0:48:7 LFO retrigger 4
0:49:7 LFO retrigger 5
0:50:7 LFO retrigger 6
0:51:7 LFO sync 1
0:52:7 LFO sync 2
0:53:7 LFO sync 3
0:54:7 LFO sync 4
0:55:7 LFO sync 5
0:56:7 LFO sync 6
0:57:7 LFO offset 1
0:58:7 LFO offset 2
0:59:7 LFO offset 3
0:60:7 LFO offset 4
0:61:7 LFO offset 5
0:62:7 LFO offset 6
0:63:7 Filter type 1
0:64:7 Filter type 2
0:65:7 Filter type 3
0:66:7 Filter type 4
0:67:7 Filter type 5
0:68:7 Filter type 6
0:69:7 TransientVol 1
0:70:7 TransientVol 2
0:71:7 TransientVol 3
0:72:7 TransientVol 4
0:73:7 TransientVol 5
0:74:7 TransientVol 6
0:75:7 TransientShape 1
0:76:7 TransientShape 2
0:77:7 TransientShape 3
0:78:7 TransientShape 4
0:79:7 TransientShape 5
0:80:7 TransientShape 6
0:81:7 TransientFreq 1
0:82:7 TransientFreq 2
0:83:7 TransientFreq 3
0:84:7 TransientFreq 4
0:85:7 TransientFreq 5
0:86:7 TransientFreq 6
0:87:7 OutChannelSelect 1
0:88:7 OutChannelSelect 2
0:89:7 OutChannelSelect 3
0:90:7 OutChannelSelect 4
0:91:7 OutChannelSelect 5
0:92:7 OutChannelSelect 6
0:100:7 PWM 1
0:101:7 PWM 2
0:102:7 PWM 3
0:103:7 PWM 4
0:104:7 PWM 5
0:105:7 PWM 6
0:106:7 FX Type
0:107:7 FX OutChannel
0:108:7 FX DryWet
0:109:7 FX DistortionType
0:110:7 FX Parameter1
0:111:7 FX Parameter2
0:112:7 FX Parameter3
0:113:7 FX Parameter4
0:114:7 FX CompRatio
0:115:7 FX RingmodWave
0:117:7 FX DelayType
[/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
# NOTE: You are limited to 64 automation lanes
[AUTOMATION]
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
[/COMMENT]

Hey ya’ll - I tried with and without the above def file and I can’t seem to get different velocities.
It seems to play the same velocity across all pads in the drum mode and if I manually step in a sequence and adjust each steps velocity it stays constant with no change.
I’m on the OS 2.0 - any help would be much appreciated!

Quick update - I found on some kits (or more specifically some tracks) the velocity does work, but on the Initkit non of them worked. Anyone know the reason why? Some hidden parameter which you enable velocity?

Welp, I’ve just found the cause. Apologies for the multiple posts - but just in case someone else encounters the same problem: you have to select ‘on’ under ‘vol’ (which is short for Velocity Volume Mod) in the MOD page, either page 1 or 2 depending on the track type.

Guess they’re all set to ‘off’ by default in Initkits, odd choice!