Naturally this keyboard controller can be used with old MIDI connector via e.g. Roland UM-ONE USB interface (works also in Debian Linux).
Since Ubuntu Linux and Linux Mint are smaller sets from Debian Linux I assume Arturia will work also under them.
NOTE that in Linux the DAW programs will not work of course.
In my own sampling program Arturia shows like in the following picture:
Keyboard: | C2 - C7 |
Pad rows: | C3 - D#3, A#2 - H2, E2 - G2, C2 - C#2 (all overlapping in keyboard range but in Midi channel 10) with pressure information |
Category: | Control 116, values 0 and 127 |
Preset: | Control 117, values 0 and 127 |
<-: | Control 28, values 0 and 127 |
->: | Control 29, values 0 and 127 |
Selector CW: | Control 114, value 64 + Control 114 value 65 -sequence |
Selector CCW: | Control 114, value 64 + Control 114 value 63 -sequence |
Part1: | Control 22, values 0 and 127 |
Part2: | Control 23, values 0 and 127 |
Part3: | Control 24, values 0 and 127 |
Slider CH1: | Control 73, values 0 - 127 |
Slider CH2: | Control 75, values 0 - 127 |
Slider CH3: | Control 79, values 0 - 127 |
Slider CH4: | Control 72, values 0 - 127 |
Slider CH5: | Control 80, values 0 - 127 |
Slider CH6: | Control 81, values 0 - 127 |
Slider CH7: | Control 82, values 0 - 127 |
Slider CH8: | Control 83, values 0 - 127 |
Slider Master: | Control 85, values 0 - 127 |
Knob 1: | Control 74, values 0 - 127 |
Knob 2: | Control 71, values 0 - 127 |
Knob 3: | Control 76, values 0 - 127 |
Knob 4: | Control 77, values 0 - 127 |
Knob 5: | Control 93, values 0 - 127 |
Knob 6: | Control 18, values 0 - 127 |
Knob 7: | Control 19, values 0 - 127 |
Knob 8: | Control 16, values 0 - 127 |
Knob 9: | Control 17, values 0 - 127 |
Select 1: | Control 30, values 1 and 0 (button pressed and released) |
Select 2: | Control 30, values 3 and 2 |
Select 3: | Control 30, values 5 and 4 |
Select 4: | Control 30, values 7 and 6 |
Select 5: | Control 30, values 9 and 8 |
Select 6: | Control 30, values 11 and 10 |
Select 7: | Control 30, values 13 and 12 |
Select 8: | Control 30, values 15 and 14 |
Multi btn: | Control 30, values 17 and 16 |
enum eMIDIArturiaCommonControllers { // when in 'User' mode eMIDIArturiaCC_ModulationWheel = 1, eMIDIArturiaCC_SustainPedal = 11, eMIDIArturiaCC_Pedal2 = 12, eMIDIArturiaCC_Pedal3 = 13, eMIDIArturiaCC_Pedal4 = 14, eMIDIArturiaCC_Left = 28, eMIDIArturiaCC_Right = 29, eMIDIArturiaCC_Knob1 = 74, eMIDIArturiaCC_Knob2 = 71, eMIDIArturiaCC_Knob3 = 76, eMIDIArturiaCC_Knob4 = 77, eMIDIArturiaCC_Knob5 = 93, eMIDIArturiaCC_Knob6 = 18, eMIDIArturiaCC_Knob7 = 19, eMIDIArturiaCC_Knob8 = 16, eMIDIArturiaCC_Knob9 = 17, eMIDIArturiaCC_Selector = 114, // CW = value 65, CCW = 63 eMIDIArturiaCC_Category = 116, eMIDIArturiaCC_Preset = 117, eMIDIArturiaCC_Solo = 52, eMIDIArturiaCC_Mute = 53, eMIDIArturiaCC_Record = 54, eMIDIArturiaCC_Read = 55, eMIDIArturiaCC_Write = 56, eMIDIArturiaCC_Save = 57, eMIDIArturiaCC_In = 58, eMIDIArturiaCC_Out = 59, eMIDIArturiaCC_Metro = 60, eMIDIArturiaCC_Undo = 61, eMIDIArturiaCC_Slider1 = 73, eMIDIArturiaCC_Slider2 = 75, eMIDIArturiaCC_Slider3 = 79, eMIDIArturiaCC_Slider4 = 72, eMIDIArturiaCC_Slider5 = 80, eMIDIArturiaCC_Slider6 = 81, eMIDIArturiaCC_Slider7 = 82, eMIDIArturiaCC_Slider8 = 83, eMIDIArturiaCC_Slider9 = 85, eMIDIArturiaCC_SelectButton1 = 22, eMIDIArturiaCC_SelectButton2 = 23, eMIDIArturiaCC_SelectButton3 = 24, eMIDIArturiaCC_SelectButton4 = 25, eMIDIArturiaCC_SelectButton5 = 26, eMIDIArturiaCC_SelectButton6 = 27, eMIDIArturiaCC_SelectButton7 = 28, eMIDIArturiaCC_SelectButton8 = 29, eMIDIArturiaCC_SelectButton9 = 30, } eMIDIArturiaCommonControllers;
// Here's already the SysEx I was able to retrieve to switch the Arturia Keylab 61 MkII Transport buttons to the "MMC" mode: // Output to Arturia: F0 00 20 6B 7F 42 02 00 40 52 0A F7 | Sysex // amidi -p hw:3,0,1 -S "F000206B7F42020040520AF7" // example from command line if Arturia is in hw:3,0 // after this Keylab 61 sends the following SystemExclusive Messages from Transport buttons: // const BYTE pbtRewind[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x05, 0xF7 }; // const BYTE pbtForward[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x04, 0xF7 }; // const BYTE pbtStop[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x01, 0xF7 }; // const BYTE pbtPlay[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x09, 0xF7 }; // const BYTE pbtPause[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x02, 0xF7 }; // const BYTE pbtRecordOn[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x06, 0xF7 }; // const BYTE pbtRecordOff[] = { 0xF0, 0x7F, 0x7F, 0x06, 0x07, 0xF7 }; // for some reason 'Loop' button does not send anything.
3/2023, PU. Finland. Last updated 3/2023