VERSION 1 ########################################################## # __ __ __ __ __ # # .--------|__|--| |__| .-----.--.--|__|--| |-----. # # | | | _ | |__| _ | | | | _ | -__| # # |__|__|__|__|_____|__|__|___ |_____|__|_____|_____| # # |_____| # # # ########################################################## # Generated for HapaxOS 3.22 on 2026-11-08 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 SPD-SX PRO # 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] 32 Bank select LSB 123 All notes off 124 Omni off 120 All sounds off 126 Mono 127 Poly 125 Omni on 121 Reset all controllers 1 Hi-hat pedal position Modulation 16 Hi-hat pedal position General purpose 1 11 Hi-hat pedal position Expression 18 Hi-hat pedal position General purpose 3 19 Hi-hat pedal position General purpose 4 17 Hi-hat pedal position General purpose 2 2 Hi-hat pedal position Breath 4 Hi-hat pedal position Foot controller 18 Master effect control 018 16 Master effect control 016 19 Master effect control 019 22 Master effect control 022 23 Master effect control 023 24 Master effect control 024 20 Master effect control 020 21 Master effect control 021 25 Master effect control 025 26 Master effect control 026 28 Master effect control 028 29 Master effect control 029 30 Master effect control 030 31 Master effect control 031 33 Master effect control 033 34 Master effect control 034 35 Master effect control 035 36 Master effect control 036 37 Master effect control 037 38 Master effect control 038 27 Master effect control 027 39 Master effect control 039 41 Master effect control 041 42 Master effect control 042 43 Master effect control 043 44 Master effect control 044 45 Master effect control 045 46 Master effect control 046 47 Master effect control 047 48 Master effect control 048 40 Master effect control 040 50 Master effect control 050 51 Master effect control 051 49 Master effect control 049 54 Master effect control 054 55 Master effect control 055 56 Master effect control 056 57 Master effect control 057 58 Master effect control 058 59 Master effect control 059 60 Master effect control 060 61 Master effect control 061 62 Master effect control 062 63 Master effect control 063 64 Master effect control 064 52 Master effect control 052 53 Master effect control 053 66 Master effect control 066 67 Master effect control 067 68 Master effect control 068 69 Master effect control 069 70 Master effect control 070 65 Master effect control 065 72 Master effect control 072 73 Master effect control 073 74 Master effect control 074 75 Master effect control 075 71 Master effect control 071 76 Master effect control 076 78 Master effect control 078 79 Master effect control 079 80 Master effect control 080 81 Master effect control 081 82 Master effect control 082 83 Master effect control 083 84 Master effect control 084 85 Master effect control 085 86 Master effect control 086 87 Master effect control 087 88 Master effect control 088 77 Master effect control 077 91 Master effect control 091 92 Master effect control 092 93 Master effect control 093 94 Master effect control 094 95 Master effect control 095 89 Master effect control 089 90 Master effect control 090 2 Master effect control 002 1 Master effect control 001 3 Master effect control 003 5 Master effect control 005 4 Master effect control 004 6 Master effect control 006 8 Master effect control 008 9 Master effect control 009 7 Master effect control 007 11 Master effect control 011 10 Master effect control 010 12 Master effect control 012 14 Master effect control 014 15 Master effect control 015 13 Master effect control 013 17 Master effect control 017 11 Pad expression [/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]