Git Product home page Git Product logo

nanokontrol-config's Introduction

nanoKONTROL-Config

Configuration tool for Korg nanoKONTROL written in Python.

Supports nanoKONTROL1 image

Supports nanoKONTROL2 image

This tool provides a graphical user interface allowing configuration of Korg nanoKONTROL1 and nanoKONTROL2 devices. Functionality is broadly similar to Korg's own configuration tool (which I have never seen!). This tool is cross platform and open source.

MIDI connection is via JACK or ALSA (or both) hence a working JACK service and/or ALSA driver must be running before starting the application. It detects new MIDI ports so the device may be connected after starting the application.

Installation

Clone this repository, e.g. git clone [email protected]:riban-bw/nanoKONTROL-Config.git or download and extract the zip.

Install dependancies

The application is written in Python3 and tested on GNU/Linux. It should run on any platform that can meet the following dependancies:

  • jack (for JACK MIDI interface)
  • alsa-midi (for ALSA MIDI interface)
  • tkinter
  • PIL
  • PIL Image

On a DEBIAN based system the following may install the required Python modules:

sudo apt install python3-jack-client python3-tk python3-pil python3-pil.imagetk

To install alsa-midi:

sudo apt install python3-pip
sudo pip3 install alsa-midi

On Windows 10 I found I could run the application after installing Python modules: Pillow and jack-client and installing and starting JACK. (The application crashes when trying to import jack if the JACK service is not running.)

python3 -m pip install --upgrade pip
pip3 install Pillow
pip3 install jack-client

Jack can be installed from: https://jackaudio.org/downloads. Configuring with "Dummy" audio driver may get it going quickly, e.g. if a supported soundcard is not installed. Adding "-Xwinmme" to the "Advanced" sub-tab of "Settings" tab in QjackCtrl added USB MIDI device to jack graph. I found this added two inputs and four outputs. The second input worked. Not sure about output (poor quality USB MIDI interface available for this test).

Usage

To start the application, run python3 nanoKONTROL.py

After starting the application, select the MIDI ports to which the nanoKONTROL is connected using the drop-down lists near the top, labelled "MIDI input" and "MIDI output". This is likely to be "nanoKONTROL" or "nanoKONTROL2" unless the device is connected to another machine and MIDI routed. The picture of the device should change to to indicate the device detected.

Click the image download button to retrieve a scene from the device.

Click on a button, slider or knob on the image and adjust its parameters using the editor on the right hand side.

Click the image upload button to upload to the nanoKONTROL.

Click the image save button to save the scene to the nanoKONTROL's internal persistent memory.

Click the image restore button to restore the last downloaded scene. This restores locally in the application. To revert the device to its previous state you must then press the upload button.

Credits and Licensing

Released under the GPL 3.0 software licensing. You may use and distribute this software free of charge. It may not be used within a closed source project. There is no liability protection of its use.

Core code written by Brian Walton

Tooltips provided by Pedro Henriques

Icons from freeicons

image image ColourCreatype

image MD Badsha Meah

image Anu Rocks

image Reda

led_red freesvg.org

nanokontrol-config's People

Contributors

riban-bw avatar

Stargazers

Kolja Glogowski avatar Daniel Damm avatar Bruno Duyé avatar  avatar Antonio avatar Daniel Feliciano Branco avatar Chris Lyon avatar

Watchers

Niels Giesen avatar  avatar

Forkers

brunetton wyleu kbg

nanokontrol-config's Issues

ANTIALIAS deprecated in Pillow

If using Pillow (fork of PIL) there is a warning:

DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead

Feature: nanoKONTROL2 control mode

The nanoKONTROL2 has an configuration to set the mode: CC, Cubase, etc. It would be advantageous to add this selection to the "Global Settings" section of the parameter editor.

Note off value not used

It seems that the note-off value is not used, only note on. Maybe the device sends note-on, velocity 0???

Feature: Show note name

It may be advantageous to show the note name rather than the MIDI note number in the editor, e.g. C4 instead of 60.

Feature: auto select MIDI device

Hi

It could be great if nanoKONTROL-Config could auto-select MIDI device based on its name. I've a NanoKontrol v1 and it name is nanoKONTROL. Pretty easy to grep.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.