Mike Slinn

KnobKraft-orm, a F/OSS MIDI Patch Librarian

Published 2023-10-01. Last modified 2023-10-22.
Time to read: 5 minutes.

This page is part of the av_studio collection.

My Requirements

This article was written because I wanted a MIDI patch librarian for my new Roland Juno-DS synth. Roland introduced this product in 2015, and it is readily available; however, Roland’s JUNO-DS Librarian is feeble. I have previously complained about Roland’s weak application software capability.

I prefer to do my audio and video work on Windows instead of Linux, Mac, or tablets. Linux is more difficult than one would want to deal with when attempting to make music. The expensive walled garden that Apple erected around the Mac does not provide good value. Some iOS apps, like Patch Base, are interesting, but none of them support the Juno-DS, and I would rather use a computer instead of a tablet for connectivity and UI reasons.

I also prefer to use open-source software instead of commercial products because I can diagnose software problems myself and even modify the software to suit my needs.

Also, I am adverse to software that requires a subscription. $X/month for the rest of your life is good for the publisher, but is usually poor value for customers. The one exception I have made is for Pro Tools, but the value it provides is commensurate with the expense.

Available Patch Librarians

The Software Music Machine Archive has a collection of MIDI patch editors and librarians, including commercial, free and shareware products for Windows, Mac and Linux. Most are garbage or have been abandoned.

Writing a generally useful MIDI patch librarian for all synthesizers is not as easy as one might expect. Every synth has a different SysEx format for doing bulk dumps. Most of the work required to write a patch editor arises from the need to write and debug the code to parse and emit SysEx dumps. Vendor documentation is often buggy, incomplete, or entirely missing. Some synths don't have bulk dumps and instead only provide single patch dumps or maybe bank dumps. Other synths use NRPN to make dumps.

Ctrlr

I looked at Ctrlr, a F/OSS patch librarian. However, Ctrlr has not had any updates for 18 months; during this time, issues and pull requests have been piling up.

Ctrlr product can work as a VST, so it can be embedded in a DAW. This is a very nice feature. Pro Tools users would also need an AAX-to-VST bridge/wrapper.

KnobKraft-orm

The remainder of this article discusses KnobKraft-orm, a capable F/OSS MIDI patch librarian, and its recently added support for the Roland Juno-DS synthesizer.

The author of the program, Christof Ruch (christofmuc), has been very responsive to suggestions and reported issues.

KnobKraft auto-updates, which is very nice.

Installation

I installed the latest version of KnobKraft-orm on Windows 10.

Directories

On Windows, the program installs into %LOCALAPPDATA%\Programs\KnobKraftOrm. Directories of note:

  • The adaptations subdirectory contains Python program files that support various synthesizers.
  • %AppData%\KnobKraft contains many versions of the SQLite database, with names like SysexDatabaseOfAllPatches.db3.

HiDpi (4K Screens)

The following two alerts appeared during installation but were much smaller, so a magnifying glass was required to read them.

When the KnobKraft-orm app ran, the text was also quite small. I exited the app and set the Windows HiDpi settings as follows:

  1. Right-click on %LOCALAPPDATA%\Programs\KnobKraftOrm\KnobKraftOrm.exe, then click on Properties
  2. Click on Change high DPI settings
  3. Enable high DPI scaling behavior, then select System.

Now start the app and click on View / Scale 100%

Install Adaptation

If you have a Roland Juno-DS synthesizer, install the Juno-DS adaptation. The Options / Set user adaptation dir menu item shows the directory path for synthesizer adaptation program files.

For Windows, just copy Roland_JunoDS.py from the adaptation directory to %systemdrive%%homepath%\KnobKraft-Adaptations. I do not know the Mac directory, but the menu will provide you that information. Restart KnobKraft after copying the adaptation program file.

Using Knobkraft-Orm

There is scant documentation on how to use the product. The following is a result of trial and error, plus what I learned from this discussion with the author.

The user interface is somewhat haphazard. In addition to pull-down menus, there is also a row of tabs under the menu that have no relationship to the menus. The Library tab has a tree-structured navigator on the left that is annoying handy, according to the latest release notes.

MIDI Configuration

With your synthesizer on and/or connected via USB or MIDI cables, set the MIDI input and output ports and the MIDI channel as follows:

  1. Click on the Setup tab.
  2. Enable the types of synthesizers that you have (I have a Roland Juno-DS).
  3. Set the MIDI connection information by pressing the Autodetect button.
  4. Below, you see the resulting settings, encircled in red.

Importing Presets

It is probably a good idea to begin by importing your synthesizer's factory default presets into the patch manager. There are three ways to do this:

  1. This is my preference for just importing one patch bank:
    Select the Library tab, then click on the menu items All patches / Name of your synth / In synth / Preset Patches N, where N has integer values starting at 1. Each time you import a patch bank, the Library tab's navigation tree rolls up, and you must reselect it. Annoying!
  2. This is my preference for importing all patch banks:
    F7 (or use the MIDI / Import Preset patches from synth menu items), then press Import selected.
  3. Import a SysEx file or other file containing a collection of patches for your synthesizer. I exported the Juno-DS factory patches into a SysEx file and a PIF file in case you would like to import them.
The process will take several minutes. Eventually, you should be able to select the Library tab, and once you navigate to All patches / Name of your synth, you should see something like the following:

Click on a patch in the central patch panel or the right-hand Synth Bank, and the synth will immediately be set to that patch.

Colors indicate that patches had tags automatically applied. You can use the filters to only display patches with the selected tag(s).

Exporting Patch Interchange Format

The PatchInterchangeFormat, based on JSON, is only used by KnobKraft. Selecting the menu items Patches / Export into PIF allows you to export all patches.

Importing Patch Files

To import a file containing patches, either press F3 or use the menu items Patches / Import files into database. This allows you to select a system-exclusive file (with file type syx) or a PatchInterchangeFormat based on JSON (with file type json).

The computer doing the import must have the same adaptor as the exported file was created for, and the setup must enable the adaptor, or the import will not succeed.



* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.