Published 2023-10-01.
Last modified 2023-10-22.
Time to read: 5 minutes.
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%\
.
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 likeSysexDatabaseOfAllPatches.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:
-
Right-click on
%LOCALAPPDATA%\Programs\KnobKraftOrm\KnobKraftOrm.exe
, then click on Properties -
Click on Change high DPI settings
-
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:
- Click on the Setup tab.
- Enable the types of synthesizers that you have (I have a Roland Juno-DS).
- Set the MIDI connection information by pressing the Autodetect button.
- 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:
-
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! -
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. - 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.
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.