# VERSION 1 # Currently, this should only be 1.
# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME DNII FM DRUM
# 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]
1:
2:
3:
4:
5:
6:
7:
8:
[/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]
94 TRACK MUTE
95 TRACK LEVEL
3 TRIG NOTE
4 TRIG VELOCITY
5 TRIG LENGTH
13 FILTER TRIG
14 LFO TRIG
9 PORTAMENTO TIME
65 PORTAMENTO ON/OFF
40 TUNE
41 STIM
42 SDEP
43 ALGO
44 OP.C
45 OP.AB
46 FDBK
47 FOLD
48 DEC A
49 END A
50 RATIO A
51 MOD A
52 DEC B
53 END B
54 RATIO B
55 MOD B
56 HOLD
57 DEC
58 PH.C
59 LEV
62 NRST
63 NRM
70 NHLD
71 NDEC
72 TRAN
73 TLEV
74 BASE
75 WDTH
76 GRAN
77 NLEV
16 FILTER FREQUENCY
17 DATA KNOB F
18 DATA KNOB G
24 FILTER ENV DEPTH
20 FILTER ENV ATTACK
21 FILTER ENV DECAY
22 FILTER ENV SUSTAIN
23 FILTER ENV RELEASE
19 FILTER ENV DELAY
26 FILTER KEY TRACKING
27 FILTER BASE
28 FILTER WIDTH
25 FILTER ENV RESET
84 AMP ATTACK
85 AMP HOLD
86 AMP DECAY
87 AMP SUSTAIN
88 AMP RELEASE
92 AMP ENV RESET
91 AMP MODE
89 AMP PAN
90 AMP VOLUME
78 BIT REDUCTION
81 OVERDRIVE
79 SRR
80 SRR ROUTING
82 OVERDRIVE ROUTING
30 DELAY SEND
31 REVERB SEND
29 CHORUS SEND
102 LFO1 SPEED
103 LFO1 MULTI
104 LFO1 FADE
105 LFO1 DEST
106 LFO1 WAVE
107 LFO1 PHASE
108 LFO1 TRIGMODE
109 LFO1 DEPTH
111 LFO2 SPEED
112 LFO2 MULTI
113 LFO2 FADE
114 LFO2 DEST
115 LFO2 WAVE
116 LFO2 PHASE
117 LFO2 TRIGMODE
118 LFO2 DEPTH
[/CC]
# CC Pair
# Syntax: CC_MSB:CC_LSB NAME or CC_MSB:CC_LSB:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 16383
[CC_PAIR]
[/CC_PAIR]
# 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]
1:108:7 TRACK MUTE
1:110:7 TRACK LVL
3:0:7 NOTE TRIG
3:1:7 NOTE VEL
3:2:7 NOTE LENGTH
3:6:7 PORTA TIME
3:7:7 PORTA ON/OFF
1:73:7 TUNE
1:74:7 STIM
1:75:7 SDEP
1:76:7 ALGO
1:77:7 OP.C
1:78:7 OP.AB
1:79:7 FDBK
1:80:7 FOLD
1:81:7 RATIO A
1:82:7 DEC A
1:83:7 END A
1:84:7 MOD A
1:85:7 RATIO B
1:86:7 DEC B
1:87:7 END B
1:88:7 MOD B
1:89:7 HOLD
1:90:7 DEC
1:91:7 PH.C
1:92:7 LEV
1:95:7 NRST
1:96:7 NRM
1:97:7 NHLD
1:98:7 NDEC
1:99:7 TRAN
1:100:7 TLEV
1:101:7 BASE
1:102:7 WDTH
1:103:7 GRAN
1:104:7 NLEV
1:20:7 FILTER FREQUENCY
1:21:7 DATA KNOB F
1:22:7 DATA KNOB G
1:26:7 FITER ENV DEPTH
1:16:7 FILTER ENV ATTACK
1:17:7 FILTER ENV DECAY
1:18:7 FILTER ENV SUSTAIN
1:19:7 FILTER ENV RELEASE
1:23:7 FILTER ENV DELAY
1:69:7 FILTER KEY TRACKING
1:24:7 FILTER BASE
1:25:7 FILTER WIDTH
1:68:7 FILTER ENV RESET
1:30:7 AMP ATTACK
1:31:7 AMP HOLD
1:32:7 AMP DECAY
1:33:7 AMP SUSTAIN
1:34:7 AMP RELEASE
1:41:7 AMP ENV RESET
1:40:7 AMP MODE
1:38:7 AMP PAN
1:39:7 AMP VOLUME
1:5:7 BIT REDUCTION
1:8:7 OVERDRIVE
1:6:7 SRR
1:7:7 SRR ROUTING
1:9:7 OVERDRIVE ROUTING
1:36:7 DELAY SEND
1:37:7 REVERB SEND
1:35:7 CHORUS SEND
1:42:7 LFO1 SPEED
1:43:7 LFO1 MULTI
1:44:7 LFO1 FADE
1:45:7 LFO1 DEST
1:46:7 LFO1 WAVE
1:47:7 LFO1 PHASE
1:48:7 LFO1 TRIGMODE
1:49:7 LFO1 DEPTH
1:50:7 LFO2 SPEED
1:51:7 LFO2 MULTI
1:52:7 LFO2 FADE
1:53:7 LFO2 DEST
1:54:7 LFO2 WAVE
1:55:7 LFO2 PHASE
1:56:7 LFO2 TRIGMODE
1:57:7 LFO2 DEPTH
1:58:7 LFO3 SPEED
1:59:7 LFO3 MULTI
1:60:7 LFO3 FADE
1:61:7 LFO3 DEST
1:62:7 LFO3 WAVE
1:70:7 LFO3 PHASE
1:71:7 LFO3 TRIGMODE
1:72:7 LFO3 DEPTH
3:8:7 EUC PULSE GEN1
3:9:7 EUC PULSE GEN2
3:14:7 EUCLYD ON/OFF
3:11:7 ROTA GEN1
3:12:7 ROTA GEN2
3:13:7 TRACK ROTA
3:10:7 BOOLEAN OP
[/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]
*Comments about your instrument definition goes here*
Have you tested these NRPNs? I’m using the same ones and many of them don’t seem to work including almost all of the synth engine ones.
Hi,
Not yet. I just copied the ones from the Digitone II manual
So did I. I used Chat GPT to format it all for convenience sake but I’ve since checked them all and still no luck for some reason. Weird because some of them work perfectly (all of the parameters on all 3 LFOs for example) and some of them I can’t get to work at all… no idea what’s up, maybe the midi spec is wrong?
It seems you’re right. Most of them are not working…
I will send a bug report to Elektron and ask on elektronauts.
Elektron answered me and “some” NRPN are not implemented yet. We will see them in the next update.
After several discussions with Elektron support, I understood why just “some” NRPN were not implemented yet. I didn’t upgrade the firmware to 1.00A. Now I did, it seems to be ok. Maybe some NRPN are missing but we are able to modulate the SYN parameters and many others
Fixed some NRPN label mistakes
I’ve not updated mine yet, so will do this tonight and also use your instrument file too, thanks for your ongoing work on this.