Akai MPK25
This is a small-ish (477 mm x 359 mm x 88 mm, 3.4 kg) MIDI controller (as in no sound generators, only MIDI) with 25 normal size "semi-weighed" synth keys. There are also some pads and knobs and switches as well as single input ports for one footswitch and one continous pedal. This probably accept common keyboard pedals.
The advertising material rarely mentions it, but the keys are velocity sensitive as are the pads. There is a single aftertouch ribbon sensor for the keys and individual force sensors for the pads. Pads are criticized for being unresponsive, spongy, and still prone to false triggers. There are some replacement pads available as well as many Youtube videos about them.
USB
USB registers three "output" devices and two "input" devices for messages from the controller to the host and host to controller respectively. (lsusb)
According to "midi IO details" pdf, the first carries 16 channels with the controller keys, pads, buttons, knobs etc on them. The LCD might show A/B output activity when connected to USB. Output A should be this (first) port. The second carries MIDI Output B.
The third USB output device should repeat messages from the MIDI IN connector. Likewise the second input device mirrors MIDI OUT connector.
$ amidi -l Dir Device Name IO hw:2,0,0 Akai MPK25 MIDI 1 IO hw:2,0,1 Akai MPK25 MIDI 2 I hw:2,0,2 Akai MPK25 MIDI 3 $ aseqdump -l Port Client name Port name 0:0 System Timer 0:1 System Announce 14:0 Midi Through Midi Through Port-0 24:0 Akai MPK25 Akai MPK25 MIDI 1 24:1 Akai MPK25 Akai MPK25 MIDI 2 24:2 Akai MPK25 Akai MPK25 MIDI 3 $ aseqdump -p 24:0 Waiting for data. Press Ctrl+C to end. Source Event Ch Data 24:0 Note on 0, note 60, velocity 62 24:0 Note on 0, note 57, velocity 59 24:0 Note on 0, note 64, velocity 55 24:0 Note off 0, note 60, velocity 0 24:0 Note off 0, note 57, velocity 0 24:0 Note off 0, note 64, velocity 0 24:0 Control change 0, controller 17, value 24 24:0 Control change 0, controller 17, value 25 24:0 Control change 0, controller 17, value 26 24:0 Control change 0, controller 18, value 1 24:0 Control change 0, controller 18, value 2 24:0 Control change 0, controller 18, value 3 24:0 Control change 0, controller 18, value 4 24:0 Note on 0, note 71, velocity 18 24:0 Channel aftertouch 0, value 47 24:0 Channel aftertouch 0, value 48 24:0 Channel aftertouch 0, value 44 24:0 Channel aftertouch 0, value 35 24:0 Channel aftertouch 0, value 14 24:0 Channel aftertouch 0, value 0 24:0 Note off 0, note 71, velocity 0 ...
Alsa vs Jack
For getting ALSA MIDI devices to appear in Jack (jackd2
), a2jmidid
seems to be recommended. Use -e
to export hardware devices.
$ a2jmidid -e
JACK MIDI <-> ALSA sequencer MIDI bridge, version 8
(7383d268c4bfe85df9f10df6351677659211d1ca) built on Thu Jan 1 02:00:00
1970
Copyright 2006,2007 Dmitry S. Baikov
Copyright 2007,2008,2009,2011,2012 Nedko Arnaudov
Bridge starting...
Using JACK server 'default'
Hardware ports will be exported.
Bridge started
Press ctrl-c to stop the bridge
port created: Midi Through [14] (capture): Midi Through Port-0
port created: Midi Through [14] (playback): Midi Through Port-0
port created: Akai MPK25 [24] (capture): Akai MPK25 MIDI 1
port created: Akai MPK25 [24] (playback): Akai MPK25 MIDI 1
port created: Akai MPK25 [24] (capture): Akai MPK25 MIDI 2
port created: Akai MPK25 [24] (playback): Akai MPK25 MIDI 2
port created: Akai MPK25 [24] (capture): Akai MPK25 MIDI 3
You'll see them appear in e.g. qjackctl
.
It can be added as a startup script (a2jmidid -e &
) in the config.
Ardour3
MIDI track switch matrix will also show them by sensible names.
Power
Manual says it will not send on MIDI OUT if powered via USB. The MIDI OUT instead echoes MIDI data sent from USB host and the controller pretends to be a simple USB-MIDI bridge. Also, only port A messages will be sent to the MIDI OUT connector. If USB is not used, MIDI IN connector will also be entirely ignored.
I wanted to use MIDI out from the keys, so I needed the 6V option. I hacked together a 6V regulated cable with a 2.1mm DC jack to power the Akai.