View previous topic :: View next topic |
Author |
Message |
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Wed Mar 08, 2017 3:08 pm Post subject: Monologue: I've written a script to see settings of a patch |
|
|
[edit 9-23-2022] Latest version is on Pastebin: https://pastebin.com/PBpwVHrt
Since Korg did not make a piece of software that will actually let you see how a patch (or "Program") was made I've written a shell script for the Linux Operating system that does (no "driver" needed). The software (Win and Mac only) that you can download from their Korg's (Sound Librarian) will not show you what the settings of a patch/program actually are. People have been waiting a year or three for software for the Korg Minilogue that does the same, but Korg didn't release such software. So I figured I'd better make it myself. The script uses the SysEx data dump from the Korg (over USB) to determine the settings of a patch. The SysEx data does not simply contain the values of the knobs and switches in Hexadecimal numbers. It took quite a long time of reverse engineering to determine the weird way in which the settings are stored in the SysEx data. And I think I'm still not completely finished, so I'll post my work in progress here and some time later the script itself.
Maybe somebody who knows how to write scripts for the Windows operating system can rewrite the Linux script for Windows. Mac users should buy a proper computer.
Example of output:
Code: |
TABLE 1. Settings in % of knob turned, value on the Korg's display (from 0 - 1023) and Midi values (0 - 127) of the various knobs and switches on the Korg Monologue. The values of the Intensity of the EG and LFO are between 0 and +/-511 on the Korg's display and between 63 and 0 for Midi. If the intensity is negative then its Midi value is between 64 and 127.
______________________________________________________________________
Knob Value (%) Korg value Midi value
______________________________________________________________________
1. Drive 78 798 99
2. VCO 1
a. Wave form Square
b. Shape 27 276 34
c. Mixer volume 99 1013 126
3. VCO 2
a. Wave Sawtooth
b. Synch/Ring Neutral
c. Pitch 53 (not linear) 68
d. Shape 88 900 112
e. Mixer volume 22 225 27
4. FILTER
a. Cutoff 79 808 101
b. Resonance 45 460 57
5. ENVELOPE GENERATOR
a. Type Gate & attack/decay (|¯¯¯|)
b. Attack 30 306 38
c. Decay 8 81 10
d. Intensity +38 +194 88
e. Target Cutoff
6. LFO
a. Wave Square
b. Mode Slow
c. Rate 39 398 49
d. Intensity +68 +347 107
e. Target Cutoff
______________________________________________________________________
|
Last edited by MeneerJansen on Mon Nov 06, 2023 10:15 am; edited 2 times in total |
|
Back to top |
|
|
syrupcore
Joined: 04 Jul 2017 Posts: 7
|
Posted: Tue Jul 04, 2017 1:55 am Post subject: |
|
|
Where can one find this script? |
|
Back to top |
|
|
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Tue Jul 04, 2017 10:35 am Post subject: |
|
|
syrupcore wrote: | Where can one find this script? |
It might still be buggy, but the current version is here: https://pastebin.com/86x3NUpY . Copy into a text file, make the text file executable and run. Follow instructions on screen.
The script expects the Monologue to have Midi port 24. If it doesn't on your PC then look for the following line in the script: "aseqdump -p 24:1 > aseqdumpfile.txt". Change number 24 to the proper number (i.e. 20:1 or 23:1 etc.). Wanna know the midi port number of your Korg Monologue? Then run:
I'm afraid one has to be a little experienced in using Linux and Midi in Linux to experiment w/ the script.
Good luck!
(we can not post attachments here)
Last edited by MeneerJansen on Fri Jul 28, 2017 11:10 am; edited 1 time in total |
|
Back to top |
|
|
syrupcore
Joined: 04 Jul 2017 Posts: 7
|
Posted: Sat Jul 15, 2017 10:30 am Post subject: |
|
|
Very cool. Thanks very much! |
|
Back to top |
|
|
seankerns
Joined: 28 Jul 2017 Posts: 5 Location: Morrow, OH
|
Posted: Fri Jul 28, 2017 3:08 am Post subject: |
|
|
This is a really cool thing you've done! I need to put an Ubuntu or maybe CentOS box together, and find where my little 1x1 USB MIDI things went, and see if Linux recognizes it. |
|
Back to top |
|
|
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Fri Jul 28, 2017 11:13 am Post subject: |
|
|
seankerns wrote: | This is a really cool thing you've done! I need to put an Ubuntu or maybe CentOS box together, and find where my little 1x1 USB MIDI things went, and see if Linux recognizes it. |
I don't know for sure, but it might work in a virtual machine. If we're lucky then somebody with coding skills might turn it into a script for the power shell of Windows.
Good luck and let me hear if there are bugs in the script (there might be a few)! |
|
Back to top |
|
|
seankerns
Joined: 28 Jul 2017 Posts: 5 Location: Morrow, OH
|
Posted: Fri Jul 28, 2017 12:44 pm Post subject: |
|
|
Cool! I test software for my day job, so I can set up a VM and see. |
|
Back to top |
|
|
syrupcore
Joined: 04 Jul 2017 Posts: 7
|
Posted: Tue Aug 01, 2017 8:49 pm Post subject: |
|
|
Still haven't had a chance to try this script but just came across a possible OSX replacement for aseqdump and figured I'd post it here: https://github.com/gbevin/ReceiveMIDI
Reading through the bash script, it should all pretty much work on OSX but there is no aseqdump equivalent that I could find.
I guess it's going to come down to the format each tool uses to write to the file. Not sure the current script will parse ReceiveMIDI's output, for instance. Hopefully close enough to tweak it into submission though.
By the way, ReceiveMIDI was written by Geert Bevin, the Linnstrument developer. |
|
Back to top |
|
|
slee
Joined: 09 Nov 2009 Posts: 5
|
Posted: Fri Sep 08, 2017 6:55 pm Post subject: Getting this script to run from a syx file? |
|
|
Hello, I am on a Mac so there is no aseqdump available to me but I thought I could get the syx data with another program and load that file. The quickest way would be to provide my own aseqdumpfile.txt file, but I don't know the format of this. Could someone post a aseqdumpfile.txt taken from one of the Factory Presets?
I am attempting to build a Max for Live device that will match the UI to whatever the current preset in my MONOLOGUE is and hoping to use this script to help me figure out the sysex format. |
|
Back to top |
|
|
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Fri Sep 08, 2017 8:50 pm Post subject: |
|
|
The aseqdump data is converted from Hexdecimal to Decimal. The script expects output from aseqdump. Here's an example of the "002 Injection" factory patch:
Code: |
Waiting for data. Press Ctrl+C to end.
Source Event Ch Data
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 System exclusive F0 42 30 00 01 44 40 00 50 52 4F 47 49 6E 6A 00 65 63 74 69 6F 6E 00 44 00 00 00 00 76 00 0F 27 7F 2B 55 00 7C 16 1B 17 20 7F 10 50 65 3D 32 01 76 05 32 00 0C 24 00 22 38 4C 4F 66 00 7F 53 08 45 51 44 62 04 10 00 00 00 36 00 00 00 00 00 1E 00 7F 7F 7F 7F 00 00 00 00 00 03 17 03 1B 00 78 00 00 00 7F 7F 7F 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 00 70 42 00 47 00 13 13 13 01 13 30 30 30 30 00 00 00 00 00 00 00 00 00 2B 00 00 42 00 47 00 68 68 00 68 68 30 30 30 2E 00 00 00 00 00 00 00 00 00 00 2B 00 42 00 47 00 7C 00 7C 7C 7C 2E 2E 2E 32 00 00 00 00 00 00 00 00 00 00 37 00 42 00 47 00 00 41 41 41 41 32 32 32 00 2F 00 00 00 00 00 00 00 00 00 2B 00 37 00 47 1E 00 1D 1D 1D 1D 2F 2F 00 2F 30 00 00 00 00 00 00 00 00 00 37 00 42 00 3C 49 00 3B 3B 3B 3B 30 00
24:1 System exclusive 30 2D 2D 00 00 00 00 00 00 00 00 00 3A 00 57 78 00 49 00 5C 5C 5C 5C 00 2D 2D 2E 2F 00 00 00 00 00 00 00 00 00 3E 00 70 54 00 49 00 24 24 24 01 24 2F 2F 2F 2F 00 00 00 00 00 00 00 00 00 2B 00 00 54 00 49 00 68 68 00 68 68 2F 2E 30 30 00 00 00 00 00 00 00 00 00 40 2B 00 54 00 49 00 20 07 20 20 20 30 30 2F 2F 00 00 00 00 00 00 00 00 00 00 2B 00 54 00 49 00 0F 45 45 45 45 2F 2F 2F 00 32 00 00 00 00 00 00 00 00 00 37 00 42 00 49 00 00 5F 5F 5F 5F 31 31 00 31 32 00 00 00 00 00 00 00 00 00 2B 00 50 00 3C 49 00 2F 2F 2F 2F 32 00 32 31 30 00 00 00 00 00 00 00 00 00 37 00 42 78 00 49 00 4E 4E 4E 4E 00 30 30 31 31 00 00 00 00 00 00 00 00 00 3A 00 70 4E 00 49 00 21 21 21 01 21 31 31 2D 2D 00 00 00 00 00 00 00 00 00 37 00 00 4C 00 47 00 63 63 00 63 63 2D 2D 2E 30 00 00
24:1 System exclusive 00 00 00 00 00 00 00 F7
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
24:1 Clock
|
In the script this results in:
Which does not appear to be right because when I use the settings above on my Monologue and press 'Shift + Play' itsounds different. That's as much as I will help Apple users: I'm not particularly a fan of that corporation or it's users. And that's putting it very, very mildly.
Last edited by MeneerJansen on Fri Sep 08, 2017 9:31 pm; edited 1 time in total |
|
Back to top |
|
|
slee
Joined: 09 Nov 2009 Posts: 5
|
Posted: Fri Sep 08, 2017 9:29 pm Post subject: |
|
|
Thanks, this should get me well on my way.
If it helps just think of me as a KORG user. Had KORG gear waaaay before I ever got a computer =) |
|
Back to top |
|
|
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Fri Sep 08, 2017 9:39 pm Post subject: |
|
|
slee wrote: | Thanks, this should get me well on my way.
If it helps just think of me as a KORG user. Had KORG gear waaaay before I ever got a computer =) |
I hope you can help me debug the script. Sorry 'bout the Apple rant.
For one the intensity of the LFO on the Monologue display does not range from 0 to 1023 but from 4 to 1/64 on said patch. Weird... When you see that a certain value is 0 or max. in my script then chances are that I've made a mistake in interpreting (or reverse engineering) the sysex code.
I've overwritten some factory patches. You can tell me which a good factory patch to post the 'aseqdumpfile.txt' from... |
|
Back to top |
|
|
slee
Joined: 09 Nov 2009 Posts: 5
|
Posted: Sat Sep 09, 2017 1:43 am Post subject: |
|
|
I've got my max for live device capturing the preset dump and when I run the result through your script I get what looks like the correct parameters but so far have only confirmed OVERDRIVE and VCO 1 Shape. I am going to start working on a ui now |
|
Back to top |
|
|
agawley
Joined: 26 Sep 2019 Posts: 3
|
Posted: Thu Sep 26, 2019 11:28 am Post subject: |
|
|
In case anyone comes across this and wants something that works cross platform I took the Korg SysEx spec for the Monologue and made a Node app for it.
https://github.com/agawley/MonologueLibrarian
Doesn't do the sequencer yet, but I'm working on it. |
|
Back to top |
|
|
MeneerJansen Junior Member
Joined: 13 Dec 2016 Posts: 65
|
Posted: Thu Sep 26, 2019 12:13 pm Post subject: |
|
|
agawley wrote: | In case anyone comes across this and wants something that works cross platform I took the Korg SysEx spec for the Monologue and made a Node app for it.
https://github.com/agawley/MonologueLibrarian
Doesn't do the sequencer yet, but I'm working on it.
|
So your Node app also works in Windows? In Powershell? That would be great. |
|
Back to top |
|
|
|