VERSION 1 ########################################################## # __ __ __ __ __ # # .--------|__|--| |__| .-----.--.--|__|--| |-----. # # | | | _ | |__| _ | | | | _ | -__| # # |__|__|__|__|_____|__|__|___ |_____|__|_____|_____| # # |_____| # # # ########################################################## # Generated for HapaxOS 3.22 on 2026-11-05 by https://midi.guide, # the open, 'comprehensive' dataset of all MIDI CCs and NRPNs. # Contributions welcome! # TRACKNAME ########### # Supports all alphanumeric ASCII, and ' ', '_', '-', '+'. Can also be NULL. TRACKNAME TWISTfm # TYPE ###### # Can be POLY, DRUM, MPE, AFTR, POLYAT or NULL # POLY refers to polyphony, i.e. more than one note. Used for standard MIDI # gear and controllers. Confusingly, this is appropriate for instruments # and controllers that do not support poly aftertouch. # # POLYAT and AFTR are exchangeable, and both handle poly aftertouch as well as # channel aftertouch. TYPE NULL # OUTPORT ######### # Can be A, B, C, D, USBD, USBH, USBD[1-16] (virtual MIDI cable), # USBH[1-16] (virtual MIDI cable), CVG[1-4], CV[1-4], G[1-4], or NULL. OUTPORT NULL # OUTCHAN ######### # Can be a value between 1 and 16, or NULL. This is ignored if output port is # not MIDI. OUTCHAN NULL # INPORT ######## # Can be NONE, ALLACTIVE, A, B, C, D, USBD, USBH, USBD[1-16] (virtual MIDI # cable), USBH[1-16] (virtual MIDI cable), CVG[1-4], CV[1-4], G[1-4], or NULL. INPORT NULL # INCHAN ######## # Can be a value between 1 and 16, ALL, or NULL. This definition will be ignored # if INPORT is NONE, ALLACTIVE or CVG. INCHAN NULL # MAXRATE ######### # This defines the default MAXRATE 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 16 # - TRIG can be between 0 and 127, or NULL # - CHAN can be a number between 1 and 16, CVG[1-4], CV[1-4], G[1-4], or NULL # - NOTENUMBER can be between 0 and 127, or NULL # - NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+'. It can # also be NULL # # 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), or 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 and LSB, if set, must be between 0...127 [PC] [/PC] # CC #### # Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME # - DEFAULT_VALUE must be 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 between 0 and 16383 [CC_PAIR] [/CC_PAIR] # NRPN ###### # Syntax: MSB:LSB:DEPTH NAME or MSB:LSB:DEPTH:DEFAULT=xx NAME # - MSB and LSB should be between 0 and 127 # - LSB can be over 127 ONLY if MSB is either 0 or omitted. For example: # "0:1026:7 FOO" or ":2000:7 BAR" # These examples are equivalent to "8:2:7 FOO" and "15:80:7 BAR" # - DEPTH can be 7 or 14 # - DEFAULT_VALUE must be between 0 and 127 (for 7-bit NRPNs) or # between 0 and 16383 (for 14-bit 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 # - CC: VALUE must be a valid number between 0 and 119 # - PB and AT: Any text after the TYPE will be ignored # - CV: VALUE must be between 1 and 4 # - NRPN: VALUE must be MSB:LSB:DEPTH, with MSB and LSB between 0 and 127, # and DEPTH either 7 or 14 # # DEFAULT_VALUE # - CC: DEFAULT_VALUE must be between 0 and 127 # - PB: DEFAULT_VALUE must be between 0 and 16383 # - NRPN: DEFAULT_VALUE must be a number between 0 and 127 (for 7-bit NRPNs) # or between 0 and 16383 (for 14-bit NRPNs) # - CV: DEFAULT_VALUE must be either between 0 and 65535, or a voltage between # -5V and 5V, e.g. "-4.25V" or "1.7V" # # 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 # - CC: VALUE must be between 0 and 119 # - PB and AT: Any text after the TYPE will be ignored # - CV: VALUE must be between 1 and 4 # - NRPN: VALUE must be MSB:LSB:DEPTH, with MSB and LSB between 0 and 127, # and DEPTH either 7 or 14 # # You are limited to 64 automation lanes. [AUTOMATION] [/AUTOMATION] # COMMENT ######### # This section will be readable from Hapax. [COMMENT] [/COMMENT]