1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Windows Batch Preset to MFXP Converter (Zebra, Diva, Sylenth, GR5, MUX)

Discussion in 'MASCHINE Area' started by kleupsch, Aug 11, 2013.

  1. kleupsch

    kleupsch New Member

    Messages:
    7
    I've made a Windows template-based VST preset to MFXP batch "converter" (essentially a search/replace algorithm), for use with Diva, Zebra (perhaps other u-he VSTs?), Guitar Rig 5, and MUX. It also splits Sylenth banks into individual preset MFXPs.

    If you're interested in testing it, please read the included guide with screenshots beforehand. I've tested it on Win 7 64-bit and Win XP 32-bit, with Maschine v1.8.2. I'm not a programmer so there will be bugs, but it's worked for me.

    The only files it modifies are those it creates. It has no installer or registry interaction, so it shouldn't do anything bad to your Maschine database, pre-existing MFXPs and VST presets, rest of your computer, pets, etc. but you try it at your own risk.

    [download]
     
  2. sowari

    sowari Moderator Moderator

    Messages:
    27,759
    please note that this has not been tested at NI, so download at your own risk.

    sowari
     
  3. digidennis

    digidennis NI Product Owner

    Messages:
    81
    Download link, is that working? i get a .jpg file with a nice set of pears
     
  4. puzzlefactory

    puzzlefactory NI Product Owner

    Messages:
    2,270
    Please do a Mac version.
     
  5. digidennis

    digidennis NI Product Owner

    Messages:
    81
    please upload any version... ( preferably windows :) )
     
  6. kleupsch

    kleupsch New Member

    Messages:
    7
    Hi,

    It now supports STEAM (Omnisphere / Trilian) libraries with full automation mapping (all mapped parameters in the template are tweakable in converted MFXPs as soon as they're selected from hardware). The user guide isn't fully up to date but has a couple of extra notes re STEAM libraries and the minor GUI change:

    http://wikisend.com/download/589108/MPK_01b.zip

    If anyone wants to do a Mac version or build on this one, you can grab the VB6 source code here:

    http://wikisend.com/download/349988/MPK v0.1b VB6 Source.zip

    (Please forgive the quality of the code; it's my first program and I've learnt enough to know that it ought to be my last.)

    Good luck. :p
     
  7. kleupsch

    kleupsch New Member

    Messages:
    7
    A minor update for individual Omnisphere / Trilian Part file support (.prt_omn, .prt_trl -- just use normal Preset Mode) here. Includes source, guide.
     
  8. digidennis

    digidennis NI Product Owner

    Messages:
    81
    Thanks, will give it a go later today
     
  9. digidennis

    digidennis NI Product Owner

    Messages:
    81
    It works very well with DIVA, thanks again
     
  10. trusampler

    trusampler NI Product Owner

    Messages:
    1,955
    trying this now..
    ---
    Hi kleupsch,
    This is indeed a very nice thing you have created for us, do you think something like this is possible to do with Kontakt .nki files, except perhaps also have a way to do this for .fxp's for daws as well?
     
  11. trusampler

    trusampler NI Product Owner

    Messages:
    1,955
    Links are down, does anyone still have this tool???
     
  12. 44FORGE

    44FORGE Forum Member

    Messages:
    65
    +1
    very very VERY interesting thread!
    the above tool is exactly what i Need!
    please re-upload

    thanks a bunch!
     
  13. demoniqus

    demoniqus NI Product Owner

    Messages:
    210
    Both links has timed out.. please re-up.

    Just out of curiosity: How did you get hold of the format information? I'm mainly interrested in the other .mxinst format but mxfx is a good start.
     
  14. kleupsch

    kleupsch New Member

    Messages:
    7
    Sorry 'bout the lapse: MPK v0.1c here, includes source code and guide. (Not tested at all with v2.0.x or the new Guitar Rig, I've since sold my Mk2. Perhaps someone can improve the code or make it compatible with the new NI stuff.)

    MPK is buggy, and generally I don't recommend it -- saved projects sometimes mangle Diva / Zebra params when reloading; GR5 can be unstable; Omnisphere, Trilian, Sylenth and MUX seem to work okay though.

    Re: formats' structure, I opened the files in a hex editor (HxD) and looked for DWORD values that corresponded to the length of each section.
     
  15. demoniqus

    demoniqus NI Product Owner

    Messages:
    210
    Thanks for the UL.

    Btw.. Did you have any info about the format NI uses? Or is that what the "Re: Format's structure" were explaining?
     
    Last edited: Nov 16, 2013
  16. trusampler

    trusampler NI Product Owner

    Messages:
    1,955
    +1 Love to see someone perfect this code ;)
     
  17. demoniqus

    demoniqus NI Product Owner

    Messages:
    210
    Hey Tru.. Have you converted your banks for Sylenth1 with this tool? and do you still have 1.8.2 installed or is it working with the new format?
     
  18. kleupsch

    kleupsch New Member

    Messages:
    7
    MFXP is a closed proprietary format, so I was working blind. Here's what I worked out for VST-based MFXPs on Windows machines:

    Section 1: First 112 bytes are a header, unchanging.

    Section 2: Next 12 bytes comprise two identical 4-byte values representing the length (Len1) of Section 3, and another 4 bytes of unknown purpose.

    Section 3: Next block of length Len1. Starts with null byte + "<?xml", terminates with "atad" (many header/footer strings are reversed -- endianness?), contains name and attributes of sound.

    Section 4: Next 40 bytes are a header/footer? Dunno.

    Section 5: Next 12 bytes comprise two identical 4-byte values representing the length (Len2) of Section 6, and another 4 bytes of unknown purpose.

    Section 6: Starts immediately after Section 5. First 4 bytes are the length (Len3) of Section 7, followed by Section 7's contents, then terminating with "atad".

    Section 7: Sub-block of Section 6 of length Len3, starts at the same place as Section 6 and terminates with "</query>" + newline byte. Contains file names, paths and categories.

    Section 8: The next block is, I believe, the Maschine internal parameter modulation/automation block. I couldn't work this out at all. It's ~25,000 bytes long in my MFXPs; terminates in "tsohenon".

    Section 9: A 56-byte header that relates to Sections 10-12. The first 8 bytes comprise two identical 4-byte values representing the length (Len4) of Section 10. The next 28 bytes are of unknown purpose. The next 4 bytes contain the length (Len5) of Section 11. The next 12 bytes are of unknown purpose, with " LMX" in the middle. The next 4 bytes contain the length (Len6) of Section 12.

    Section 10: A block of length Len4 starting with "<?xml" and terminating 8 bytes from the end of the file. Contains Sections 11-14.

    Section 11: A sub-block of length Len5 starting at the same place as Section 10, and terminating 16 bytes after the end of Section 14. Contains Sections 12-14.

    Section 12: A sub-block of length Len6 starting at the same place as Section 10, and terminating in "</host-manager>" + newline byte. Contains a list of all plug-ins found by Maschine.

    Section 13: A 74-byte header for Section 14, contains the name, company, and type of VST. The last 8 bytes comprise a 4-byte length (Len7) of Section 14, and another 4 bytes of unknown purpose.

    Section 14: Next (at last!) the VST preset data sub-block of length Len7.

    All lengths except Len6 (as it's unchanging for batch-conversion purposes) must be recalculated and updated after changing the preset details in Sections 3 and 6, and the VST preset data in Section 14. Failing to do so results in a corrupt MFXP message.

    My inability to decipher Section 8 and update it accordingly is perhaps what causes instability with Zebra, Diva and Guitar Rig. Also, there's another mapped-automation block after Section 11; I tried updating this to reflect VST preset data but it didn't get rid of these instabilities. I think it's tied in with Section 8 somehow -- ?

    Anyway, hope this helps. :p
     
  19. trusampler

    trusampler NI Product Owner

    Messages:
    1,955
    Hi d,
    On 1.8.2 an earlier, I never really bothered using Maschine as my main tool,but yet inside a daw (studio one) within it, I already had my sylenth and other synths banks stored in their really fast and easy to use browser, so to answer your question no I never saved the sylenth maschine format. With Maschine Studio, things have changed, and now I'm comfortable to use it as my main tool, along with Pro Tools to track vocals etc..
    I'm very happy at this point, but now I just want to get all of the sounds I had in my daw stored, inside Maschines browser. Hopefully someones in the same boat as me, and develops a tool for this, like the op which worked very well from what I remember.
    I do still have 1.8.2 installed, but I cannot seem to open the file, I downloaded it earlier this morning, but it shot of incomplete rar etc. error messages, not real sure what's going on.
     
  20. trusampler

    trusampler NI Product Owner

    Messages:
    1,955
    kleupsch,
    Thank you for breaking all this down, hopefully N.I. can offer it's userbase a helping hand, as they know how bad this is needed for 3rd party stuff, thanks to you, maybe someone else out there can offer a hand. NI really needs to get going with this imo.