VERSION 1 ########################################################## # __ __ __ __ __ # # .--------|__|--| |__| .-----.--.--|__|--| |-----. # # | | | _ | |__| _ | | | | _ | -__| # # |__|__|__|__|_____|__|__|___ |_____|__|_____|_____| # # |_____| # # # ########################################################## # Generated for HapaxOS 3.22 on 2026-11-09 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 Generic MIDI 1.0 # 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 DRUM # 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] 1:NULL:10:35 Acoustic bass drum 2:NULL:10:36 Bass drum 1 3:NULL:10:37 Side stick 4:NULL:10:38 Acoustic snare 5:NULL:10:39 Hand clap 6:NULL:10:40 Electric snare 7:NULL:10:41 Low floor tom 8:NULL:10:42 Closed hi-hat 9:NULL:10:43 High floor tom 10:NULL:10:44 Pedal hi-hat 11:NULL:10:45 Low tom 12:NULL:10:46 Open hi-hat 13:NULL:10:47 Low-mid tom 14:NULL:10:48 Hi-mid tom 15:NULL:10:49 Crash cymbal 1 16:NULL:10:50 High tom #XX:NULL:10:51 Ride cymbal 1 #XX:NULL:10:52 Chinese cymbal #XX:NULL:10:53 Ride bell #XX:NULL:10:54 Tambourine #XX:NULL:10:55 Splash cymbal #XX:NULL:10:56 Cowbell #XX:NULL:10:57 Crash cymbal 2 #XX:NULL:10:58 Vibraslap #XX:NULL:10:59 Ride cymbal 2 #XX:NULL:10:60 Hi bongo #XX:NULL:10:61 Low bongo #XX:NULL:10:62 Mute hi conga #XX:NULL:10:63 Open hi conga #XX:NULL:10:64 Low conga #XX:NULL:10:65 High timbale #XX:NULL:10:66 Low timbale #XX:NULL:10:67 High agogo #XX:NULL:10:68 Low agogo #XX:NULL:10:69 Cabasa #XX:NULL:10:70 Maracas #XX:NULL:10:71 Short whistle #XX:NULL:10:72 Long whistle #XX:NULL:10:73 Short guiro #XX:NULL:10:74 Long guiro #XX:NULL:10:75 Claves #XX:NULL:10:76 Hi wood block #XX:NULL:10:77 Low wood block #XX:NULL:10:78 Mute cuica #XX:NULL:10:79 Open cuica #XX:NULL:10:80 Mute triangle #XX:NULL:10:81 Open triangle [/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] 120 All sound off 121 Reset all controllers 122 Local control 123 All notes off 124 Omni mode off 125 Omni mode on 126 Mono mode on 127 Poly mode on 64 Damper pedal 65 Portamento switch 66 Sostenuto switch 67 Soft pedal switch 68 Legato switch 69 Hold 2 70 Sound controller 1 71 Sound controller 2 72 Sound controller 3 73 Sound controller 4 74 Sound controller 5 75 Sound controller 6 76 Sound controller 7 77 Sound controller 8 78 Sound controller 9 79 Sound controller 10 80 General purpose controller 5 82 General purpose controller 7 83 General purpose controller 8 84 Portamento control 88 High resolution velocity prefix 91 Effects 1 depth 92 Effects 2 depth 93 Effects 3 depth 94 Effects 4 depth 95 Effects 5 depth 96 Data increment 97 Data decrement 81 General purpose controller 6 [/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] 10:42 Pan 11:43 Expression controller 12:44 Effect control 1 13:45 Effect control 2 16:48 General purpose controller 1 17:49 General purpose controller 2 18:50 General purpose controller 3 19:51 General purpose controller 4 99:98 Non-registered parameter number 101:100 Registered parameter number 1:33 Modulation wheel 2:34 Breath controller 4:36 Foot controller 5:37 Portamento time 6:38 Data entry 7:39 Channel volume 8:40 Balance [/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]