Instrument Definition: Midicake Arp 1.5.6 firmware

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME MidcakeArp

# Can be POLY, DRUM, MPE, or NULL
TYPE POLY

# 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 NONE

# 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]
1:00:0 Bnk1 P1 #Bank 1
2:00:0 Bnk1 P2
3:00:0 Bnk1 P3
4:00:0 Bnk1 P4
5:00:0 Bnk1 P5
6:00:0 Bnk1 P6
7:00:0 Bnk1 P7
8:00:0 Bnk1 P8
9:00:0 Bnk1 P9
10:00:0 Bnk1 P10
11:00:0 Bnk1 P11
12:00:0 Bnk1 P12
1:01:0 Bnk2 P1 #Bank 2
2:01:0 Bnk2 P2
3:01:0 Bnk2 P3
4:01:0 Bnk2 P4
5:01:0 Bnk2 P5
6:01:0 Bnk2 P6
7:01:0 Bnk2 P7
8:01:0 Bnk2 P8
9:01:0 Bnk2 P9
10:01:0 Bnk2 P10
11:01:0 Bnk2 P11
12:01:0 Bnk2 P12
1:02:0 Bnk3 P1 #Bank 3
2:02:0 Bnk3 P2
3:02:0 Bnk3 P3
4:02:0 Bnk3 P4
5:02:0 Bnk3 P5
6:02:0 Bnk3 P6
7:02:0 Bnk3 P7
8:02:0 Bnk3 P8
9:02:0 Bnk3 P9
10:02:0 Bnk3 P10
11:02:0 Bnk3 P11
12:02:0 Bnk3 P12
1:03:0 Bnk4 P1 #Bank 4
2:03:0 Bnk4 P2
3:03:0 Bnk4 P3
4:03:0 Bnk4 P4
5:03:0 Bnk4 P5
6:03:0 Bnk4 P6
7:03:0 Bnk4 P7
8:03:0 Bnk4 P8
9:03:0 Bnk4 P9
10:03:0 Bnk4 P10
11:03:0 Bnk4 P11
12:03:0 Bnk4 P12
1:04:0 Bnk5 P1 #Bank 5
2:04:0 Bnk5 P2
3:04:0 Bnk5 P3
4:04:0 Bnk5 P4
5:04:0 Bnk5 P5
6:04:0 Bnk5 P6
7:04:0 Bnk5 P7
8:04:0 Bnk5 P8
9:04:0 Bnk5 P9
10:04:0 Bnk5 P10
11:04:0 Bnk5 P11
12:04:0 Bnk5 P12
1:05:0 Bnk6 P1 #Bank 6
2:05:0 Bnk6 P2
3:05:0 Bnk6 P3
4:05:0 Bnk6 P4
5:05:0 Bnk6 P5
6:05:0 Bnk6 P6
7:05:0 Bnk6 P7
8:05:0 Bnk6 P8
9:05:0 Bnk6 P9
10:05:0 Bnk6 P10
11:05:0 Bnk6 P11
12:05:0 Bnk6 P12
1:06:0 Bnk7 P1 #Bank 7
2:06:0 Bnk7 P2
3:06:0 Bnk7 P3
4:06:0 Bnk7 P4
5:06:0 Bnk7 P5
6:06:0 Bnk7 P6
7:06:0 Bnk7 P7
8:06:0 Bnk7 P8
9:06:0 Bnk7 P9
10:06:0 Bnk7 P10
11:06:0 Bnk7 P11
12:06:0 Bnk7 P12
1:07:0 Bnk8 P1 #Bank 8
2:07:0 Bnk8 P2
3:07:0 Bnk8 P3
4:07:0 Bnk8 P4
5:07:0 Bnk8 P5
6:07:0 Bnk8 P6
7:07:0 Bnk8 P7
8:07:0 Bnk8 P8
9:07:0 Bnk8 P9
10:07:0 Bnk8 P10
11:07:0 Bnk8 P11
12:07:0 Bnk8 P12
1:08:0 Bnk9 P1 #Bank 9
2:08:0 Bnk9 P2
3:08:0 Bnk9 P3
4:08:0 Bnk9 P4
5:08:0 Bnk9 P5
6:08:0 Bnk9 P6
7:08:0 Bnk9 P7
8:08:0 Bnk9 P8
9:08:0 Bnk9 P9
10:08:0 Bnk9 P10
11:08:0 Bnk9 P11
12:08:0 Bnk9 P12
1:09:0 Bnk10 P1 #Bank 10
2:09:0 Bnk10 P2
3:09:0 Bnk10 P3
4:09:0 Bnk10 P4
5:09:0 Bnk10 P5
6:09:0 Bnk10 P6
7:09:0 Bnk10 P7
8:09:0 Bnk10 P8
9:09:0 Bnk10 P9
10:09:0 Bnk10 P10
11:09:0 Bnk10 P11
12:09:0 Bnk10 P12
1:10:0 Bnk11 P1 #Bank 11
2:10:0 Bnk11 P2
3:10:0 Bnk11 P3
4:10:0 Bnk11 P4
5:10:0 Bnk11 P5
6:10:0 Bnk11 P6
7:10:0 Bnk11 P7
8:10:0 Bnk11 P8
9:10:0 Bnk11 P9
10:10:0 Bnk11 P10
11:10:0 Bnk11 P11
12:10:0 Bnk11 P12
1:11:0 Bnk12 P1 #Bank 12
2:11:0 Bnk12 P2
3:11:0 Bnk12 P3
4:11:0 Bnk12 P4
5:11:0 Bnk12 P5
6:11:0 Bnk12 P6
7:11:0 Bnk12 P7
8:11:0 Bnk12 P8
9:11:0 Bnk12 P9
10:11:0 Bnk12 P10
11:11:0 Bnk12 P11
12:11:0 Bnk12 P12
1:12:0 Bnk13 P1 #Bank 13
2:12:0 Bnk13 P2
3:12:0 Bnk13 P3
4:12:0 Bnk13 P4
5:12:0 Bnk13 P5
6:12:0 Bnk13 P6
7:12:0 Bnk13 P7
8:12:0 Bnk13 P8
9:12:0 Bnk13 P9
10:12:0 Bnk13 P10
11:12:0 Bnk13 P11
12:12:0 Bnk13 P12
1:13:0 Bnk14 P1 #Bank 14
2:13:0 Bnk14 P2
3:13:0 Bnk14 P3
4:13:0 Bnk14 P4
5:13:0 Bnk14 P5
6:13:0 Bnk14 P6
7:13:0 Bnk14 P7
8:13:0 Bnk14 P8
9:13:0 Bnk14 P9
10:13:0 Bnk14 P10
11:13:0 Bnk14 P11
12:13:0 Bnk14 P12
1:14:0 Bnk15 P1 #Bank 15
2:14:0 Bnk15 P2
3:14:0 Bnk15 P3
4:14:0 Bnk15 P4
5:14:0 Bnk15 P5
6:14:0 Bnk15 P6
7:14:0 Bnk15 P7
8:14:0 Bnk15 P8
9:14:0 Bnk15 P9
10:14:0 Bnk15 P10
11:14:0 Bnk15 P11
12:14:0 Bnk15 P12
1:15:0 Bnk16 P1 #Bank 16
2:15:0 Bnk16 P2
3:15:0 Bnk16 P3
4:15:0 Bnk16 P4
5:15:0 Bnk16 P5
6:15:0 Bnk16 P6
7:15:0 Bnk16 P7
8:15:0 Bnk16 P8
9:15:0 Bnk16 P9
10:15:0 Bnk16 P10
11:15:0 Bnk16 P11
12:15:0 Bnk16 P12
[/PC]


# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127 and cc 0-119 are available
[CC]
#1 Macro 1 #Macro for if when its enabled
#2 Macro 2 #Macro for if when its enabled
#3 Macro 3 #Macro for if when its enabled
#4 Macro 4 #Macro for if when its enabled
5 Mute 1
6 Mute 2
7 Mute 3
8 Mute 4
9 RtmPat 1
10 RtmLen 1
11 RtmPat 2
12 RtmLen 2
13 RtmPat 3
14 RtmLen 3
15 RtmPat 4
16 RtmLen 4
17 GrvPat 1
18 GrvLen 1
19 GrvPat 2
20 GrvLen 2
21 GrvPat 3
22 GrvLen 3
23 GrvPat 4
24 GrvLen 4
25 FX Amt 1
26 FXSeed 1
27 FXRepea1
28 FX Amt 2
29 FXSeed 2
30 FXRepea2
31 FX Amt 3
32 FXSeed 3
33 FXRepea3
34 FX Amt 4
35 FXSeed 4
36 FXRepea4
37 ModAamt1
38 ModAShp1
39 ModARte1
40 ModAamt2
41 ModAShp2
42 ModARte2
43 ModAamt3
44 ModAShp3
45 ModARte3
46 ModAamt4
47 ModAShp4
48 ModARte4
49 ModBamt1
50 ModBShp1
51 ModBRte1
52 ModBamt2
53 ModBShp2
54 ModBRte2
55 ModBamt3
56 ModBShp3
57 ModBRte3
58 ModBamt4
59 ModBShp4
60 ModBRte4
61 Gate 1
62 Gate 2
63 Gate 3
64 Gate 4
65 Octave1
66 Octave2
67 Octave3
68 Octave4
69 NoteOff1
70 NoteOff2
71 NoteOff3
72 NoteOff4
73 TimeDiv1
74 Factor1
75 TimeDiv2
76 Factor2
77 TimeDiv3
78 Factor3
79 TimeDiv4
80 Factor4
81 Steps 1
82 Steps 2
83 Steps 3
84 Steps 4
85 StpOff 1
86 StpOff 2
87 StpOff 3
88 StpOff 4
89 Direct 1
90 Direct 2
91 Direct 3
92 Direct 4
93 Delay 1
94 Delay 2
95 Delay 3
96 Delay 4
97 Bounce 1
98 Bounce 2
99 Bounce 3
100 Bounce 4
101 Jump 1
102 Jump 2
103 Jump 3
104 Jump 4
105 Repeat 1
106 Chop 1
107 Ratchet 1
108 Repeat 2
109 Chop 2
110 Ratchet 2
111 Repeat 3
112 Chop 3
113 Ratchet 3
114 Repeat 4
115 Chop 4
116 Ratchet 4
117 Unused
118 Unused
119 Unused
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
# 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]
1 CC:37     # Macro1 Value Mod A 1
2 CC:40     # Macro2 Value Mod A 2
3 CC:43     # Macro3 Value Mod A 3
4 CC:46     # Macro4 Value Mod A 4
5 CC:49     # Macro5 Value Mod B 1
6 CC:52     # Macro6 Value Mod B 2
7 CC:55     # Macro7 Value Mod B 3
8 CC:58     # Macro8 Value Mod B 4
[/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
[AUTOMATION]
CC:61 #Gate 1
CC:62 #Gate 2
CC:63 #Gate 3
CC:64 #Gate 4
CC:65 #Octave1
CC:66 #Octave2
CC:67 #Octave3
CC:68 #Octave4
CC:69 #NoteOff1
CC:70 #NoteOff2
CC:71 #NoteOff3
CC:72 #NoteOff4
CC:73 #TimeDiv1
CC:74 #Factor1
CC:75 #TimeDiv2
CC:76 #Factor2
CC:77 #TimeDiv3
CC:78 #Factor3
CC:79 #TimeDiv4
CC:80 #Factor4
CC:81 #Steps 1
CC:82 #Steps 2
CC:83 #Steps 3
CC:84 #Steps 4
CC:85 #StpOff 1
CC:86 #StpOff 2
CC:87 #StpOff 3
CC:88 #StpOff 4
CC:89 #Direct 1
CC:90 #Direct 2
CC:91 #Direct 3
CC:92 #Direct 4
CC:93 #Delay 1
CC:94 #Delay 2
CC:95 #Delay 3
CC:96 #Delay 4
CC:97 #Bounce 1
CC:98 #Bounce 2
CC:99 #Bounce 3
CC:100 # Bounce 4
CC:101 # Jump 1
CC:102 # Jump 2
CC:103 # Jump 3
CC:104 # Jump 4
CC:105 # Repeat 1
CC:106 # Chop 1
CC:107 # Ratchet 1
CC:108 # Repeat 2
CC:109 # Chop 2
CC:110 # Ratchet 2
CC:111 # Repeat 3
CC:112 # Chop 3
CC:113 # Ratchet 3
CC:114 # Repeat 4
CC:115 # Chop 4
CC:116 # Ratchet 4
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
Midicake Arp Channel 1 for CC Control
[/COMMENT]

Midicake Arp has a cc learn function that you have to manually go through and map my CC’s correctly for this to work. If you map one time, it’s setup for future banks/presets. I built this with only one midi channel in mind so a couple functions are not mapped like mute/follow/chord choice. I didnt like how those responded to cc so I didnt see them as useful as the other stuff that is mapped, most everything else is mapped. 4 cc’s are left unmapped for future use with the Macro knobs if they ever add cc mapping to those, I tried to suggest that as a future firmware update.

1 Like

Niiiiiiiice! Thanks for this. I’ve been meaning to put this together for a few weeks now and just haven’t been motivated to do it. This is super helpful.

Thank you,
Michael

1 Like