Page 1 of 1

New Project: Native to LV2 preset converter:

Posted: Thu Dec 12, 2019 2:40 am
by jofemodo
Hi @LinuxMusicians!

Here Jofemodo, working on zynthian project.

We (dcoreman, baggypants, mheidt & me) have developed a little tool that can convert presets from native formats to LV2 banks. This is the list of currently supported native formats:

+ DX7 SysEX files (to Dexed LV2 => https://github.com/dcoredump/dexed/tree/native-lv2)
+ OBXD FXB files (to OBXd LV2 => https://github.com/DISTRHO/DISTRHO-Ports)
+ synthV1 (https://synthv1.sourceforge.io/)
+ padthv1 (https://padthv1.sourceforge.io/)

Other formats can be easily implemented, given that you understand enough of the the native format. We tried to make code simple and modular:

https://gitlab.com/Jofemodo/preset2lv2

Also it's available as a pip package:

https://pypi.org/project/preset2lv2/

You know, simply type:

Code: Select all

$ sudo pip3 install preset2lv2

Code: Select all

$ preset2lv2 --h
usage: preset2lv2 [-h] [-b BANK] [-m] format path

Convert native presets to LV2.

positional arguments:
  format                Source preset format: synthv1, padthv1, dx7syx,
                        obxdfxb
  path                  Source preset dir or filepath

optional arguments:
  -h, --help            show this help message and exit
  -b BANK, --bank BANK  LV2 bank name
  -m, --multibank       Generate a multi-bank LV2-Bundle. By default, a 
                        separated LV2-bundle is generated for each bank. 
Examples:

Code: Select all

$ preset2lv2 dx7syx my_precious_sounds.syx
Convert a simple DX7 SysEX bank file to a single-bank LV2-bundle. The bundle name is generated from the SysEX file name.:

Code: Select all

$ preset2lv2 dx7syx my_precious_library
Convert a directory containing DX7 SysEX bank files to several LV2-bundles. The bundle names are generated from the directory structure and the SysEX file names.:

Code: Select all

$ preset2lv2 -m obxdfxb my_obx_library
Convert a directory containing FXB bank files to one single LV2-bundle with several banks inside. The bundle and bank names are generated from the directory structure and the FXB file names.:

Generated LV2-bundles use the "bank" extension, as described in the specs:

http://lv2plug.in/ns/ext/presets/#Bank

I couldn't find any implementation example nor extra information apart the few lines from the specs, so i hope i understand correctly.

We have implemented the LV2 bank extension in the patched jalv version we use for zynthian. Also have integrated the preset2lv2 converter in zynthian's webconf tool, allowing to upload LV2 & native presets to your zynthian using a web browser.

I hope you enjoy it ... ;-)

Re: New Project: Native to LV2 preset converter:

Posted: Fri Dec 13, 2019 9:37 am
by SpotlightKid
Cool project!

Apropos, I have written a Carla project to LV2 presets converter, which is included in my eclectic collection of audio-related tools here:

https://github.com/SpotlightKid/jack-audio-tools#carla

Chris

Re: New Project: Native to LV2 preset converter:

Posted: Fri Dec 13, 2019 3:52 pm
by jofemodo
Casually i was testing your tools a few days ago, looking for jack-transport tools! Congratulations and thanks! ;-)

Re: New Project: Native to LV2 preset converter:

Posted: Sat Dec 21, 2019 1:47 am
by Baggypants
Image

Oh. sorry, this is the wrong forum...

Re: New Project: Native to LV2 preset converter:

Posted: Wed Jan 08, 2020 11:19 am
by jofemodo
;-DDD