Converting Synth1 presets to Hive?

Official support for: u-he.com
RELATED
PRODUCTS

Post

Sorry, I have one more dev question if you dont mind...
What is the "Section for ugly compressed binary Data" used for? Is it for tags, favourites, user data like names etc?
If so, how would I write that data into the file via a script reading other files? Maybe thats the wrong question! How do I encode such data is probably the more correct one?
Thanks for your help :tu:

Post

DrGonzo wrote: Fri May 29, 2026 12:44 pm Maybe try to make a Synth1-compatible plugin instead? I am sure lots of people wouldn't mind if it was Vibe coded or not, as long as it worked. Just a thought. In either case, good luck - I'd be happy to see you succeed.
DiscoDSP's Corona can convert Synth1 presets, but the results often sound off.

Post

Korg Supporter wrote: Sat May 30, 2026 1:32 am
DiscoDSP's Corona can convert Synth1 presets, but the results often sound off.
[/quote]

Oh? That I didn't know. That sounds quite interesting. Been thinking about their Discovery for quite some time now, but not Corona. Thanks!
Neon City for u-he Repro - 80s pop & Synthwave soundbank
HARDWARE SAMPLER FANATIC - Akai S1100/S950/Z8 - Casio FZ20m - Emu Emax I - Ensoniq ASR10/EPS

Post

Wow! I asked him to do that around 4 or 5 years ago for Discovery!

Looks like a great plugin, but then I'd be replacing one with another, I have way too many plugins as it is! Lol thanks though, didn't know he'd finally implemented that, even if it wasn't how I'd intended.

Post

sl23 wrote: Fri May 29, 2026 9:38 pm Sorry, I have one more dev question if you dont mind...
What is the "Section for ugly compressed binary Data" used for? Is it for tags, favourites, user data like names etc?
If so, how would I write that data into the file via a script reading other files? Maybe thats the wrong question! How do I encode such data is probably the more correct one?
Thanks for your help :tu:
The section contains a lot of stuff that can't be represented by numbers or simply would bloat the preset file. Hive's basic settings should just work without any of it, unless you need special wavetables and such.

In other words, you can just leave it out, and Hive will take its default values for whatever is in it. But don't try to replace it with something found in any other preset, that could cause issues.

Post

Thanks Urs! :tu:

Post

I've found that FX state settings seem to be stored within this binary data, without which, clicking from one preset to the next means that the last preset always takes on the previous ones settings. Thats gonna be an issue, Unless, I can save a new INIT file with all FX on and use that binary data when converting files, Im guessing thats not possible though? Seems odd that all FX settings are saved as plain text, except their On/Off state?! Unless I missed something? But I cannot find anything related to this.

Post

Yeah, you can copy the binary blob from an init preset. You have to make sure some of the other parameters are set correctly though… can tell you next week maybe…

Post

ok, much appreciated, thanks :tu:

Post

I am almost done with the conversion script, but am stuck on setting #cm=MM1 and #cm=MM2 Source. Well, not stuck on that exactly, but Hive is not reading it. I have set the script to convert certain Synth1 LFO settings to sue the ModMatrix 1 and 2. All of the settings are getting written to the preset files correctly, I have confirmed that. For example, here is the MM1/2 sections of a typical converted preset file:
Note: Items with an asterisk have been set via the converter and are working correctly, ie, they show the correct parameter setting in Hive GUI.

Code: Select all

#cm=MM1
Active=1 *
Source=29 <- Hive not reading this setting
Via=0
Dest1=Osc1:Tune *
Depth1=0.00 *
Curve1=2
Qntze1=0
Rect1=0
SH1=0
Slew1=0
Dest2=Osc2:Tune *
Depth2=0.00 *
Curve2=2
Qntze2=0
Rect2=0
SH2=0
Slew2=0
#cm=MM2
Active=1 *
Source=30 <- Hive not reading this setting
Via=0
Dest1=Osc1:Volume *
Depth1=43.31 *
Curve1=2
Qntze1=0
Rect1=0
SH1=0
Slew1=0
Dest2=Osc2:Volume *
Depth2=43.31 *
Curve2=2
Qntze2=0
Rect2=0
SH2=0
Slew2=0

As you can see, all settings are written and all show in the Hive gui, except no matter what I try, the MM1/2 Source fields remain at "none". Whereas they should be set to MM1=LFO1 and MM2=LFO2. I can only assume this is part of the binary blob data? But then why if it has a key=value in the file? Surely the blob data is for settings without a key=value? Like FX on/off setting.

Am I missing something here? Please help!
Last edited by sl23 on Mon Jun 01, 2026 4:03 pm, edited 1 time in total.

Post

You gotta get rid of the * there.

Post

lol, no they are just my comments added here, see the Note I left above the code box, they don’t exist in the actual preset files:

Code: Select all

#cm=MM1
Active=1
Source=29
Via=0
Dest1=Osc1:Tune
Depth1=0.00
Curve1=2
Qntze1=0
Rect1=0
SH1=0
Slew1=0
Dest2=Osc2:Tune
Depth2=0.00
Curve2=2
Qntze2=0
Rect2=0
SH2=0
Slew2=0
#cm=MM2
Active=1
Source=30
Via=0
Dest1=Osc1:Volume
Depth1=43.31
Curve1=2
Qntze1=0
Rect1=0
SH1=0
Slew1=0
Dest2=Osc2:Volume
Depth2=43.31
Curve2=2
Qntze2=0
Rect2=0
SH2=0
Slew2=0

Ive tried several tests and no matter what I do it makes no sense why it isn’t working!
If I convert presets correctly, as above, they don’t honour that setting.
If I manually save that preset, it resets the Source to zero.
If I then reassign it in Hive and save, it works.
But If I then delete the blob, it still works.

That tells me that the blob is not required for the setting to function. But then that would mean another setting in the preset somehow activates the setting, but that not only makes no sense, it doesn’t flag anything in my presetparser script. Which I am using as a diff checker to check what has changed between an INIT.h2p and a saved preset that has one setting changed to see what key=value is saved for that parameter and setting it uses. But if more than one line changes, it flags it to let me know.

So that leaves me wondering what on earth is going on here? Any ideas what I'm missing?

Post

Its ok, I found the cause... The Converter was omitting most of the headers which was causing it to not read that setting! :dog:
Basically, all of this was not being added to converted preset files:

Code: Select all

#nm=41
#ms=none
#ms=ModWhl
#ms=PitchW
#ms=CtrlA
#ms=CtrlB
#ms=X1
#ms=Y1
#ms=X2
#ms=Y2
#ms=X3
#ms=Y3
#ms=X4
#ms=Y4
#ms=Sequencer
#ms=SeqMod
#ms=Gate
#ms=Velocity
#ms=Pressure
#ms=KeyFollow
#ms=KeyFollow2
#ms=Alternate
#ms=Random
#ms=Constant
#ms=ModNoise
#ms=Amp Envelope 1
#ms=Mod Envelope 1
#ms=Amp Envelope 2
#ms=Mod Envelope 2
#ms=Vibrato LFO
#ms=LFO 1
#ms=LFO 2
#ms=Shape Sequencer A
#ms=Shape Sequencer B
#ms=Shape Sequencer C
#ms=Shape Sequencer D
#ms=Function 1 Envelope
#ms=Function 1 Rising
#ms=Function 1 Still
#ms=Function 2 Envelope
#ms=Function 2 Falling
#ms=Function 2 Moving
#nv=5
#mv=Gate
#mv=Amp Envelope 1
#mv=Mod Envelope 1
#mv=Amp Envelope 2
#mv=Mod Envelope 2


Post

Oh that... yes... important

Post

Ok, I managed to get pretty much all parameters done, of course, many cannot be done and some are estimations, like Pulse Width uses ModMatrix and then the knobs are for LFO Depth, but it seems good. The presets are absolutely not identical, many are close(ish), but the fact that there are almost 10000 presets for anyone who isnt a sound designer should be of interest? Let me know if you are and I'll post it on KVR presets page when finished.

I think the final issue is how to set FX On and Off via my conversion script. For now, I have created a reference INIT file for the converter, it has the FX set on, for all FX. This is saved to the Binary Blob data, for which I simply made the converter copy from the ref INIT file into every converted preset. Seems to be working, but I am not 100% sure it is yet. The issue though is that some FX are not active in Synth1 presets, so how do I get the converter to do that?

Is there a specific section of the Binary data that is used for this? Or is the binary data a conglomeration of all other settings merged as one single Blob? I'm guessing the latter, but I hope it is the former.

If a dev could help with this please... :pray:
You do not have the required permissions to view the files attached to this post.
Last edited by sl23 on Tue Jun 02, 2026 3:25 pm, edited 1 time in total.

Post Reply

Return to “u-he”