Skip to main content

Command-line controller for AKAI MPKmini MK II.

Project description

Command-line controller for AKAI MPKmini MK II

SourceCC 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!

Install

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

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-json-preset: Push a local JSON preset (Example) to the device. Notice that you are able to combine several input files for easier re-use. The configurations are applied in order, e.g., in this case Logic-Base.json will be extended with the properties found in Logic-RetroSynth+Juno.json.

python3 -m akai_mpkmini_mkii_ctrl \
--preset 0 \
push-json-preset \
--input-file resources/json-presets/Logic-Base.json \
--input-file resources/json-presets/Logic-RetroSynth+Juno.json

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

akai_mpkmini_mkii_ctrl-0.1.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file akai_mpkmini_mkii_ctrl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: akai_mpkmini_mkii_ctrl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for akai_mpkmini_mkii_ctrl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2816a7413057aefe1d4c9835cc0906dcd0ff8dcd88c806ec82b1ee2c55e8b65e
MD5 222b7161eba5e8855ff693c7e212dd7a
BLAKE2b-256 29827ec14c2e71cfbb30a7f40e8e87f04f7c289cd18eedfd37ff9129ec6c2bc9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page