VERSION 1 ########################################################## # __ __ __ __ __ # # .--------|__|--| |__| .-----.--.--|__|--| |-----. # # | | | _ | |__| _ | | | | _ | -__| # # |__|__|__|__|_____|__|__|___ |_____|__|_____|_____| # # |_____| # # # ########################################################## # Generated on 2026-10-15 by https://midi.guide , the open, # 'comprehensive' dataset of all MIDI CCs and NRPNs. # Contributions welcome! # Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL TRACKNAME TWISTfm # 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 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] 50 Filter envelope sustain 47 Filter envelope decay 44 Filter envelope attack 41 Filter envelope amount 38 Filter type 35 Filter resonance 32 Filter cutoff 94 Filter heat 53 Filter envelope release 16 Layer 1 feedback 10 Layer 1 algorithm 86 Layer 2 tune 15 Layer 2 feedback 9 Layer 2 algorithm 70 LFO 1 rate 72 LFO 1 depth 95 LFO 1 shape 77 LFO 2 shape 78 LFO 2 rate 82 LFO 2 depth 80 LFO 3 rate 83 LFO 3 shape 79 LFO 3 depth 81 Mod envelope sustain 76 Mod envelope release 73 Mod envelope attack 75 Mod envelope decay 71 Mod envelope depth 13 Op1 level 31 Op1 sustain 25 Op1 attack 28 Op1 decay 34 Op1 release 22 Op1 multiplier 19 Op1 waveform 40 Op2 waveform 37 Op2 level 43 Op2 multiplier 46 Op2 attack 49 Op2 decay 52 Op2 sustain 55 Op2 release 48 Op3 multiplier 51 Op3 attack 54 Op3 decay 57 Op3 sustain 58 Op3 level 61 Op3 waveform 60 Op3 release 33 Op4 release 62 Op4 decay 39 Op4 attack 42 Op4 multiplier 45 Op4 waveform 63 Op4 level 36 Op4 sustain 30 Op5 sustain 27 Op5 decay 24 Op5 attack 21 Op5 multiplier 18 Op5 waveform 12 Op5 level 8 Op5 release 17 Op6 multiplier 20 Op6 attack 23 Op6 decay 26 Op6 sustain 29 Op6 release 14 Op6 waveform 11 Op6 level 88 Ribbon 69 Pressure release 65 Pressure attack 67 Pressure depth 56 Glide 85 Fat 87 Fall 66 Vibrato rate 68 Vibrato depth 59 Rise [/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] [/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]