Command-line controller for AKAI MPKmini MK II.
Project description
Command-line controller for AKAI MPKmini MK II
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
, ormake install
which will run apipenv
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-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
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
Built Distribution
File details
Details for the file akai_mpkmini_mkii_ctrl-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: akai_mpkmini_mkii_ctrl-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce7d069ed90f80c72c8ebf194119ba61a4925417720547e038eda652b31c0ff |
|
MD5 | 216277fa3323614be0ede12c066f2015 |
|
BLAKE2b-256 | 8cc34e95e094c5c390733808a51a83d5f1dc23447d4c441a08be224df4d64753 |