Skip to main content

Command-line controller for AKAI MPKmini MK II

Source – CC BY 2.0

CI PyPU - Version PyPI - Python Version

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!

Note: At this point, I don't own an AKAI MPKmini anymore. This tool was tested for Python 3.9-3.11, which were still supported as of writing. In higher versions, the supported / pinned version of construct becomes a problem, that must be fixed first.

Install

To install via PyPi:

pip 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:

  • python setup.py install, or
  • make install which will run a pipenv including linting, tests, etc.

Usage

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.

Commands

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.

python -m akai_mpkmini_mkii_ctrl \
--preset 1 print-preset

pull-preset: Pull a binary from the device and write to file.

python -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.

python -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.

python -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

Development

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

Resources

The implementation is based upon the following resources:

Metadata

Release files for akai-mpkmini-mkii-ctrl 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for akai-mpkmini-mkii-ctrl 0.3.0
File Interpreter ABI Platform
akai_mpkmini_mkii_ctrl-0.3.0-py3-none-any.whl Python 3 none any Details

Release files / akai_mpkmini_mkii_ctrl-0.3.0-py3-none-any.whl

Download URL akai_mpkmini_mkii_ctrl-0.3.0-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dca2ab123fa8ba7f0d2562fe0cfedd83d039cbbc9aa5b2126a69a98404ddc6b
BLAKE2b-256 checksum
How to use checksums
c0fdefd9834db5fdd9922f48554c6863efb82cbd490d70a039ead050485efbed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.11

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 release file

0.2.0

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page