Skip to content
Gary Ruben edited this page Jul 26, 2023 · 12 revisions

loguetools

loguetools manipulates Korg 'logue'-series synthesizer patch libraries (what Korg calls program collections).

It performs a few tasks:

  • Translation of patches from the (original) minilogue to the minilogue xd. See the translation section for a description and limitations.
    (For minilogue xd)
  • Bulk extraction of all patches in collections to separate patch files.
    (For minilogue, minilogue xd, prologue, monologue, and KingKORG)
  • Readable display of patch contents.
    (For minilogue and minilogue xd)

There are two versions:

  1. A gui-based version [Windows. MacOS, and Linux (untested on Linux)]
  2. A set of commandline tools written in Python (3.7 or later)

Installing

GUI

Just download and run the latest version from Releases.
The files are single-click executables; no need to install. There are Windows (.exe) and macOS (.app.zip) versions.

Commandline tools

These require Python 3.7 or later. Install with pip

pip install loguetools

Using

GUI

Windows GUI

Commandline tools

pip will install the script entry points. All tools contain documention for parameters, e.g. translate --help

dump (For minilogue and minilogue xd)
Display the contents of a program or preset pack. -m generates md5 checksums for patches.

explode (For minilogue, minilogue xd, prologue, monologue, and KingKORG)
Bulk extraction of individual patches from libraries.

translate (For minilogue xd)
Translate (original) minilogue patches to the minilogue xd.

Reporting Bugs or making suggestions

If you notice a problem and want to report it, please let me know using the Issues section! Comments and suggestions for improvement are welcome, especially from anyone with an og minilogue with suggestions on improving the translation.

Translation of patches from minilogue to minilogue xd

Why doesn't it sound the same?

The hardware and routing possibilities for the OG and xd differ in significant ways. The translate tool tries to make sensible choices about setting the xd's EG and LFO hardware to match the original patch but the options are limited.

I don't own an original minilogue so I have limited ability to test the translation accuracy. I found Jeff Kistler's minilogue editor very helpful for checking some of the parameter translations. Korg's documentation has some errors and omissions and I haven't worked out how to translate everything correctly yet; if you notice a problem, let me know or create an issue!

Even where they both implement some common hardware capability, knowing that the knob position is the same on the xd as on the og doesn't mean that part will sound the same. For example, even if the og's filter is set to 12dB/octave, the cutoff frequency is probably different for a given cutoff parameter setting. The same thing goes for filter envelope stage timing and levels, LFO frequency and 1-shot timing and many other things. However, if someone with a minilogue og was bored and wanted to record some impulse responses or response to white noise for a few different FILTER cutoff, EG AMP, EG, and LFO knob positions each, the translation could probably be improved.

Todo

  • Improve automation sequence translation
  • No prologue patch translation yet
  • Smarter use of the xd multi-engine to switch between noise and sub oscillator

Known problems

  • I haven't created minilogue patch packs that can be distributed. Thus most of the unit tests will fail. This may improve in future.

Build Notes

Bundling into redistributable, executable files is done with PyInstaller. It is the same on Windows and macOS. Just activate the environment which has the dependencies available; PyInstaller, wxWindows, click, pytest, then run pyinstaller:

$ conda env create -f environment.yml
(base) $ conda activate loguetools_gui
(loguetools_gui) $ pyinstaller --clean main.spec

Licenses

See LICENSE.txt
Code released under the 3-clause BSD license.
Application icon "tools by i cons from the Noun Project"

Development notes

Suggestions and bug reports are welcome. Pull requests will probably be welcome.