Layouts and manual for matchapad.
Instrument lines are all the same length. Layout for instrument selection is vertical. Notes are horizontally grouped in 4 quarter-note sections. Colors indicate features.
This is done through SysEx. By default the CC codes are as follows:
CCO1: CC 20 CCO2: CC 21 CCO3: CC 22 CCO4: CC 23 CCTg1: CC 24 CCTg2: CC 25 CCTg3: CC 26 CCTg4: CC 27 CTmp1: CC 28 CTmp2: CC 29 CTmp3: CC 30 CTmp4: CC 31
In order to assign other CC codes (temporarily for that session) you need to send the following CC sequence:
0xF0 // sysex start
0x7D // manufacturer code (experimental)
0xCC // sysex command: set CC values
0x?? // set CCO1 code (0x00 ... 0x8a)
0x?? // set CCO2 code
0x?? // set CCO3 code
0x?? // set CCO4 code
0x?? // set CCTg1 code
0x?? // set CCTg2 code
0x?? // set CCTg3 code
0x?? // set CCTg4 code
0x?? // set CTmp1 code
0x?? // set CTmp2 code
0x?? // set CTmp3 code
0x?? // set CTmp4 code (0x00 ... 0x8a)
0xF7 // sysex end
Code 0x8a will cause a CC to switch back to its default value.
You can use a MIDI Librarian to manage the settings.
This is done through SysEx. You can change the type of the keys to suit your needs. This is the CC sequence you need to send to change types:
0xF0 // sysex start
0x7D // manufacturer code (experimental)
0xCD // sysex command: set CC note types
0x?? // CCO1: type (0x00 ... 0x05)
0x?? // CCO2: type
0x?? // CCO3: type
0x?? // CCO4: type
0x?? // CCTg1: type
0x?? // CCTg2: type
0x?? // CCTg3: type
0x?? // CCTg4: type
0x?? // CTmp1: type
0x?? // CTmp2: type
0x?? // CTmp3: type
0x?? // CTmp4: type (0x00 ... 0x05)
0xF7 // sysex end
Possible CC types:
- 0x00: default type for this button. Will make all CC go back to their initial types
- 0x01: oscillator CC
- 0x02: toggle CC
- 0x03: temporary CC
- 0x04: ramp CC (go up and down between 0 and 127 by steps of 16 by 8th-note)
- 0x05: disabled (turn this CC off)
matchapad wants to be a hackable control surface.
So in all modes, you can override the default function of any key (except the switch mode key).
In the annex is a code table of all keys encountered, their hexadecimal designation when addressing them through SysEx, their QMK keycode when relevant and their intent. Some keys are grouped in continuous ranges.
In order to dump matchapad config, send the following sysex sequence
0xF0 // sysex start
0x7D // manufacturer code (experimental)
0x50 0x40 0x30 // sysex command: emit matchapad full config.
0xF7 // sysex end
You will then receive a replayable sysex sequence. See the following section for details.
You can directly set matchapad config by sending the following sysex sequence.
It represents the direct internal state of the matchapad_state_t
structure
as a series of bytes. It's subject to change with major versions.
This code sets the matchapad in LISTEN mode.
0xF0 // sysex start
0x7D // manufacturer code (experimental)
0x30 0x40 0x50 // sysex command: enter LISTEN mode
0xF7 // sysex end
This sysex command will dump a transportable version of a matchapad config. You can use it to transfer your setup to new hardware and even between a 4x12 and a 5x5 and across versions.
However, you will not be able to save and restore with it things like direct button assignments.
0xF0 // sysex start
0x7D // manufacturer code (experimental)
0x51 0x41 0x31 // sysex command: emit matchapad transportable config.
0xF7 // sysex end
,-----------------------------------------------------------------------------------.
| CCO1 | CCO2 |CCTg1 |CCTg2 |CTmp1 |SwType|ClkMod| CTmp2|CCTG3 |CCTG4 | CCO3 | CCO4 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| C3 | C#3 | D3 | D#3 | E3 | F3 | F#3 | G3 | G#3 | A4 | A#4 | B4 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| C2 | C#2 | D2 | D#2 | E2 | F2 | F#2 | G2 | G#2 | A3 | A#3 | B3 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Oct+1| Oct-1| | |CTmp3 | Switch Mode |CTmp4 | | | | |
-----------------------------------------------------------------------------------'
Channel 1 notes Channel 1 notes
,----------------------------------.
| CCO1 | | | | |
|------+------+------+------+------|
| CCO2 | | | | |
|------+------+------+------+------|
| CTmp1| | | | |
|------+------+------+------+------|
| CTmp2| | | | |
|------+------+------+------+------|
| | | | | OctT |
----------------------------------'
CCOx are CC oscillators: on their first quarter note of activation they switch to 127, on the next one, they go back to 0. CCTgx are CC toggles: they are set to 127 when first pressed and switch back to 0 on the next press. CTmpx are CC tmps: they are set to 127 when pressed and switch to 0 when released.
Notes are MIDI notes. Oct+1 / Oct-1 shift the MIDI notes but not the CC codes. Color codes indicate where you are: When both are off, it means you are in . Oct-1 will go green -> orange -> red as you get to lower octaves. Oct+1 will go green -> orange -> red as you get to higher octaves.
,-----------------------------------------------------------------------------------.
| TgI1 | TgI4 | TgI7 | TgI10| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 1
|------+------+------+------+------+------+------+------+------+------+------+------|
| TgI2 | TgI5 | TgI8 | TgI11| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 2
|------+------+------+------+------+------+------+------+------+------+------+------|
| TgI3 | TgI6 | TgI9 | TgI12| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 3
|------+------+------+------+------+------+------+------+------+------+------+------|
| Col1 | Col2 | Col3 | Col4 | | Switch Mode | | | | | | CONTROL LINE
-----------------------------------------------------------------------------------'
,----------------------------------.
| IB1 | IBIn | | | SwMod|
|------+------+------+------+------|
| IB2 | Stp1 | Stp2 | Stp3 | Stp4 |
|------+------+------+------+------|
| IB3 | Stp5 | Stp6 | Stp7 | Stp8 |
|------+------+------+------+------|
| IB4 | Stp9 | Stp10| Stp11| Stp12|
|------+------+------+------+------|
| NxtP | Stp13| Stp14| Stp15| Stp16|
----------------------------------'
To toggle a step for an instrument:
- Press and hold one of Col1...Col4 on the Control Line
- Press one of the StpX keys on either of LINE 1, LINE 2, LINE 3.
- The instrument at the crossing of the column and the line will be set for the given step.
Example: I want to set Stp4 for instrument 9.
- Instrument 9 is on line 3 (TgI9: toggle I9)
- Instrument 9 is on column 4.
- I press and holdt the Col4 button and then press the Stp4 button on line 3.
To toggle an instrument track: press the button corresponding to that instrument.
To see which instruments are set for a given key: the colors indicate which instruments are set. If a given step on a line has more than one instrument set, its color will alternate between the colors of instrument tracks it is set for.
Press IBIn two times in a row to enter instrument select mode. The instruments line will turn deep blue.
Then input an instrument code to select an instrument.
Codes:
- I1: IB1 x 1
- I2: IB1 x 2
- I3: IB1 x 3
- I4: IB2 x 1
- I5: IB2 x 2
- I6: IB2 x 3
- I7: IB3 x 1
- I8: IB3 x 2
- I9: IB3 x 3
- I10 IB4 x 3
- I11 IB4 x 3
- I12 IB4 x 3
Each time you press an IB button, the IB line color will change:
- from deep blue to deep red
- from deep red to green
- from green to purple.
The only the selected instrument button will remain.
To exit selection, press any other Instrument button after starting. Otherwise, after 1 second, the code you selected will be final.
To switch to another instrument, press the IBIn button again and input another code.
To mute the active instrument, press its button. Note that all instruments on the same button will be muted so you can use this to switch off entire layers of your rhythm at once.
Send MIDI CC 0 with the instrument number (starting from 0x01 for I1 to 0x0C for I12
This instrument remains selected until you select another instrument.
,-----------------------------------------------------------------------------------.
| TgI1 | TgI4 | TgI7 | TgI10| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 1
|------+------+------+------+------+------+------+------+------+------+------+------|
| TgI2 | TgI5 | TgI8 | TgI11| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 2
|------+------+------+------+------+------+------+------+------+------+------+------|
| TgI3 | TgI6 | TgI9 | TgI12| Stp1 | Stp2 | Stp3 | Stp4 | Stp5 | Stp6 | Stp7 | Stp8 | LINE 3
|------+------+------+------+------+------+------+------+------+------+------+------|
| Col1 | Col2 | Col3 | Col4 | NxtP | Switch Mode | | | | | | CONTROL LINE
-----------------------------------------------------------------------------------'
Usage is the same as for Seq8 with one difference: the NxtP button.
To toggle a step for an instrument, it's the same thing as for Seq8. But in order to set steps 9 to 16, you need to press and hold NextP and ColX before pressing one of the Stp buttons.
Press NxtP twice in a row, within one second. Or send Midi CC 3 with value 0x02 to switch to page 2, and 0x01 to switch to page 1.
The NxtP button will change color from green to orange.
32 steps, 8 instruments
Instrument selection is similar to Seq16 but with the following sequences and max 8 instruments:
Press IBIn two times in a row to enter instrument select mode. The instruments line will turn deep red.
Then input an instrument code to select an instrument.
Codes:
- I1: IB1 x 1
- I2: IB1 x 2
- I3: IB2 x 1
- I4: IB2 x 2
- I5: IB3 x 1
- I6: IB3 x 2
- I7: IB4 x 1
- I8: IB4 x 2
Not needed on 4x12. On 5x5, press PgB1 to switch to page 1, PgB2 to switch to page 2, PgB1 + PgB2 to copy the current page to the other page.
,-----------------------------------------------------------------------------------.
| Stp1 | Stp2 | Stp3 | Stp4 | Stp17| Stp18| Stp19| Stp20| Stp25| Stp26| Stp27| Stp28|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp5 | Stp6 | Stp7 | Stp8 | Stp21| Stp22| Stp23| Stp24| Stp29| Stp30| Stp31| Stp32|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp9 | Stp10| Stp11| Stp12| | | | PgB1 | Inst1| Inst3| Inst5| Inst7|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp13| Stp14| Stp15| Stp16| | Switch Mode | PgB2 | Inst2| Inst4| Inst6| Inst8|
-----------------------------------------------------------------------------------'
,----------------------------------.
| IB1 | IBIn | PgB1 | PgB2 | SwMod|
|------+------+------+------+------|
| IB2 | Stp1 | Stp2 | Stp3 | Stp4 |
|------+------+------+------+------|
| IB3 | Stp5 | Stp6 | Stp7 | Stp8 |
|------+------+------+------+------|
| IB4 | Stp9 | Stp10| Stp11| Stp12|
|------+------+------+------+------|
| NxtP | Stp13| Stp14| Stp15| Stp16|
----------------------------------'
64 steps, 8 instruments. Similar use to Seq32 except that there is twice as much pages.
Use PgB1 to switch to page 1 (steps 1-32) Use PgB2 to switch to page 2 (steps 33-64) Use PgB1 + PgB2 to copy the active page to the other page.
When on Page1, the PgB1 button will be lighted up in green. When on Page2, the PgB2 button will be lighted up in green.
When pattern copy happens, the PgB1 + PgB2 button will flash in orange for 2 seconds.
5x5 has 4 pages of 16 steps each. Use PgB1 to cycle through pages leftward (4->3->2->1->4) Use PgB2 to cycle through pages righttward (4->3->2->1->4) Use PgB1 + PgB2 to copy active page to all the other pages.
To know on which page you are, look at the lights: Page 1: PgB1 in green, PgB2 off Page 2: PgB1 in red, PgB2 in off Page 3: PgB1 off, PgB2 in red Page 4: PgB1 off, PgB2 in green
When copying happens, the PgB1 + PgB2 buttons will flash in orange for 2 seconds.
,-----------------------------------------------------------------------------------.
| Stp1 | Stp2 | Stp3 | Stp4 | Stp17| Stp18| Stp19| Stp20| Stp25| Stp26| Stp27| Stp28|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp5 | Stp6 | Stp7 | Stp8 | Stp21| Stp22| Stp23| Stp24| Stp29| Stp30| Stp31| Stp32|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp9 | Stp10| Stp11| Stp12| | | | PgB1 | Inst1| Inst2| Inst3| Inst4|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Stp13| Stp14| Stp15| Stp16| | Switch Mode | PgB2 | Inst5| Inst6| Inst7| Inst8|
-----------------------------------------------------------------------------------'
,----------------------------------.
| IB1 | IBIn | PgB1 | PgB2 | SwMod|
|------+------+------+------+------|
| IB2 | Stp1 | Stp2 | Stp3 | Stp4 |
|------+------+------+------+------|
| IB3 | Stp5 | Stp6 | Stp7 | Stp8 |
|------+------+------+------+------|
| IB4 | Stp9 | Stp10| Stp11| Stp12|
|------+------+------+------+------|
| | Stp13| Stp14| Stp15| Stp16|
----------------------------------'
This is a code table of all keys encountered, their hexadecimal designation when addressing them through SysEx, their QMK keycode when relevant and their original intent. Some keys are grouped in continuous ranges because they form functional blocks.
We re
Symbol | SysEx | QMK kc | Intent |
---|---|---|---|
INS1 ... | 0x10 | KC_F1... | Toggle track 1 ... |
INS12 | 0x1c | KC_F12 | Toggle track 12. |
FUN1 ... | 0x20 | KC_F13... | Activate Function 1 ... |
FUN12 | 0x2c | KC_F24 | Activate Function 12. |
STP1 ... | 0x40 | KC_A | Toggle step 1 of the sequencer ... |
STP52 | 0x74 | KC_SLASH | Toggle step 52 of the sequencer. |
STP53... | 0x75 | KC_PRINTSC | Toggle step 53 of the sequencer ... |
REEN | |||
STP64 | 0x80 | KC_DOWN | Toggle step 64 of the sequencer. |
CCO1... | 0x90 | KC_KP_PLUS | Trigger CCO1 ... |
CC04 | 0x93 | KC_KP_2 | Trigger CCO4. |
CCTg1... | 0x94 | KC_KP_3 | Trigger CCTg1 ... |
CCTg4 | 0x97 | KC_KP_6 | Trigger CCTg4. |
CTmp1... | 0x98 | KC_KP_7 | Trigger CCTmp1 ... |
CTmp4 | 0x9b | KC_KP_0 | Trigger CCTmp4. |
FUN6 is always SwitchMode.
We reserve in these semantics all sysex designations space from 0xA0 to 0xEF for direct 1-byte addressing of keys (79 entries). To address keys directly without consideration for their previous functions, use the reference that follows.
Line 1 has top-4 bits set to 0xA
Line 2 has top-4 bits set to 0xB
Line 3 has top-4 bits set to 0xC
Line 4, first half, has top-5 bits set to 11010
Line 4, second half, has top-5 bits set to 11011
Space bar is 0xEF.
,-----------------------------------------------------------------------------------.
| 0xA0 | | | | | | | | | | | 0xAC |
|------+------+------+------+------+------+------+------+------+------+------+------|
| 0xB0 | | | | | | | | | | | 0xBC |
|------+------+------+------+------+------+------+------+------+------+------+------|
| 0xC0 | | | | | | | | | | | 0xCC |
|------+------+------+------+------+------+------+------+------+------+------+------|
| 0xD0 | | | | 0xD4 | 0xEF | 0xDA | | | | 0xDE |
-----------------------------------------------------------------------------------'
Columns are numbered from A to E and are the top 4 bits. Lines are numbered from 0 to 4 and are the bottom 4 bits.
Each part of the grid can be read as coordinates.
,----------------------------------.
| 0xA0 | 0xB0 | 0xC0 | 0xD0 | 0xE0 |
|------+------+------+------+------|
| 0xA1 | 0xB1 | 0xC1 | 0xD1 | 0xE1 |
|------+------+------+------+------|
| 0xA2 | 0xB2 | 0xC2 | 0xD2 | 0xE2 |
|------+------+------+------+------|
| 0xA3 | 0xB3 | 0xC3 | 0xD3 | 0xE3 |
|------+------+------+------+------|
| 0xA4 | 0xB4 | 0xC4 | 0xD4 | 0xE4 |
----------------------------------'
,-----------------------------------------------------------------------------------.
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | |
-----------------------------------------------------------------------------------'
,----------------------------------.
| | | | | |
|------+------+------+------+------|
| | | | | |
|------+------+------+------+------|
| | | | | |
|------+------+------+------+------|
| | | | | |
|------+------+------+------+------|
| | | | | |
----------------------------------'
base-10 and base-16 numbers, encoded this way. two numbers supported: units in the 4th column (from left to right) and tens in the 2nd column.
Hundreds are represented by a change in color: if the top LED is red, you are in the 100s. If it is green, you are in the 200s. No other hundreds are supported.
We are using braille range from g to p to represent 0 - 9 and a - f to represent A-F
Hex characters are blue. Decimal characters are yellow.
⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ 0 1 2 3 4 5 6 7 8 9 A B C D E F
Examples
TEN TWENTY-FOUR FIFTY-SEVEN
,----------------------------------. ,----------------------------------. ,----------------------------------.
| | X | | X | X | | | | X | X | | | | X | | X | X |
|------+------+------+------+------| |------+------+------+------+------| |------+------+------+------+------|
| | X | X | X | X | | | X | | | | | | X | | | X |
|------+------+------+------+------| |------+------+------+------+------| |------+------+------+------+------|
| | | | | | | | | | X | | | | X | | X | |
|------+------+------+------+------| |------+------+------+------+------| |------+------+------+------+------|
| | | | | | | | | | | | | | | | | |
|------+------+------+------+------| |------+------+------+------+------| |------+------+------+------+------|
| | | | | | | | | | | | | | | | | |
----------------------------------' ----------------------------------' ----------------------------------'