Best effort project to overcome the fact that AKAI doesn't seem to be interested in fixing Segmentation faults in their MPKmini Editor.
It currently fixes my own itches but I gladly accept feedback!
To install via PyPi:
pip3 install --user akai-mpkmini-mkii-ctrl
Please note that the dependency python-rtmidi
requires compilation resources to be present on your system. For Debian-like systems for example you need to install sudo apt-get install libasound2-dev
. Refer to the project documentation for details.
To install from source you can use:
python3 setup.py install
, ormake install
which will run apipenv
including linting, tests, etc.
akai_mpkmini_mkii_ctrl
supports a set of commands to push or pull presets to and from the device. All commands have a common set of options:
-p, --preset NUM Target preset slot (0 = RAM, 1-4 = Stored preset, default: 0)
-m, --midi-port NUM MIDI Port on which the device is located (default: 0)
-v, --verbose Verbose output
--help Show this message and exit.
print-preset
: Print preset on device in human readable format. In this example it will print the preset stored in slot 1 on the device.
python3 -m akai_mpkmini_mkii_ctrl \
--preset 1 print-preset
pull-preset
: Pull a binary from the device and write to file.
python3 -m akai_mpkmini_mkii_ctrl \
--preset 0 \
pull-preset \
--output-file ram-preset.mk2
push-preset
: Push a local binary preset to the device. This also works with factory binary presets.
python3 -m akai_mpkmini_mkii_ctrl \
--preset 2 \
push-preset \
--input-file resources/factory-patches/preset1.mk2
push-config-preset
: Push a local configuration preset (Example) to the device. Notice that you are able to combine several input files for easier re-use. YAML and JSON format is supported. The configurations are applied in order, e.g., in this case Base-Config.yaml
will be extended/overwritten with the properties found in Logic-RetroSynth+Juno.yaml
.
python3 -m akai_mpkmini_mkii_ctrl \
--preset 0 \
push-config-preset \
--input-file resources/config-presets/Base-Config.yaml \
--input-file resources/config-presets/Logic-RetroSynth+Juno.yaml
You can prepare a pipenv
-based development environment using:
make clean venv
You can also install the controller to your system using:
make install
To use the local pipenv
-based version you can use the following command from where you cloned the repository:
pipenv run python akai_mpkmini_mkii_ctrl
The implementation is based upon the following resources: