VERSION 1 ########################################################## # __ __ __ __ __ # # .--------|__|--| |__| .-----.--.--|__|--| |-----. # # | | | _ | |__| _ | | | | _ | -__| # # |__|__|__|__|_____|__|__|___ |_____|__|_____|_____| # # |_____| # # # ########################################################## # Generated for HapaxOS 3.22 on 2026-10-23 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 Synth # 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] 20 Saw mix 21 Square mix 22 Sub mix 23 Noise 24 Pulse width 25 Pulse width LFO 26 Pulse width envelope 27 Pitch LFO 75 Attack 72 Decay 76 Sustain 73 Release 48 Sustain 49 Release 47 Decay 46 Attack 27 Fatness 24 Fatness LFO 20 Timbre 21 Noise 23 Brightness 71 Resonance 78 Filter LFO 77 Envelope amount 74 Cutoff 83 Release 80 Attack 81 Decay 82 Sustain 25 Grain shape 20 Position 21 Position spread 24 Grain size 23 Density 22 Time spread 27 Pan spread 26 Detune spread 85 Space 30 Tune 86 Direction 87 Size spread 31 Finetune 54 Frequency 20 Mix 21 Oscillator 1 X modulation 28 Oscillator 2 X modulation 23 Oscillator 1 Y modulation 29 Oscillator 2 Y modulation 22 Shape 1 27 Shape 2 24 Detune 26 Finetune 30 Tune 2 25 Tune 1 20 Bow level 24 Air timbre 25 Strike level 27 Strike timbre 26 Strike mallet 23 Air flow 22 Air level 21 Bow timbre 72 Decay 75 Attack 76 Sustain 73 Release 86 Space 85 Position 71 Damping 74 Brightness 70 Form 22 Shape 1 26 Detune 30 Tune 2 25 Tune 1 28 Pulse width 2 21 Pulse width 1 20 Mix 27 Shape 2 23 Noise 31 Finetune 28 Warp 2 21 Warp 1 20 Mix 27 Position 2 22 Position 1 29 Noise 30 Tune 2 31 Detune 25 Tune 1 26 Finetune 20 Frequency modulation 22 Shape 1 29 Feedback 2 to 1 28 Feedback 2 21 Feedback 1 27 Shape 2 23 Ratio 1 24 Ratio 2 26 Finetune 1 25 Finetune 2 [/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]