Dexed (DX7 emulator) integration

I start this topic about Dexed integration in Zynthian:

Currently you can run Dexed in zythian using the Carla engine. In fact there is VST and LV2 plugin versions. It’s far from perfect, but it works.
I’ve mapped some MIDI-CCs, but i haven’t found a way of loading/changing banks, so you have to prepare a different patch for every bank you want to use.
It’s a starting point, but it would be better when we add the bank change feature and, of course, if we can
integrate MOD-UI in the near future, jeje! (go @C0d3man!!)

Dexed is nearly independent from MOD-UI. As I wrote: the problem for Dexed is that the interval representations of every value seems to be a float from 0.0 to 1.0. Thats a problem for setting enum-parameters (like algorythm, …). Dexed can load sysex, so the solution for mapping parameters must be inside the code.

For using Dexed with MOD-UI it must be an LV2 plugin. We have such plugin but it is not programable because all values are floats due to limitations to JUCE (used as backend for Dexed). Also the GUI is not necessary.

If there are programers who will help with this task, please shout loud! I will try to start a port to LV2 in september/october.

Regards, Holger

Hi @jofemodo and @C0d3man!
After built my first zynthian box, I started to explore all the functionalities. I want to try the Carla functionalities for using Dexed.
I saw that preset dexed vst has only 32 insturments inside (VIBRAPHON2, LAURIE etc… to LFO SWEEP).
Dexed lv2 seems not to have the pissibility to choose instruments (if from “Instrument control” screen I press switch 2 the software don’t enter in “Instrument select” screen but directly in “Bank select” in which we can choose the plugin to launch with Carla (calf monosynth, dexed, dexed vst, kars int etc.).
But…in the folder zynthian_data/data I found a lot of .syx files (also the original banks of DX7), which can be normally opened by Dexed on a linux environment.
…There is at the moment a way to load these banks/presets into dexed vst plugin? It is necessary to create by hand some configuration?
Following first message of Jose’ on the the topic, it seems at the moment it isn’t possibile. I am right?
Sorry if the question is too trivial…I’m not an expert at all of plugins, vsts programming, vst hosts and so on (I do my best on software and electronics… :frowning:)
Thank you very much for all!
Marco

Hi Marco!

Dexed doesn’t use MIDI bank select message, so currently we can’t change the bank from the Zynthian UI.
But there is a workaround: Connect from your computer to access Carla GUI. Then open the Dexed native GUI and from there you can “choose” the bank file you want. Then save the patch with a different name for each bank you want to use in Zynthian. It’s not elegant, but it’s functional :wink:

Also, by now, avoid using Dexed LV2 as it has several problems and it’s not very stable. Better use VST version.

Regards!

1 Like

@marcolastri

Just on the way home from Maker Faire…

I am started to make a native port from Dexed to LV2. Using/programing with/for LV2 is new to me, so I need some time to hopefully get it running. If everything works you may use a simple perl script to convert sysex in LV2 presets.

I will post news for this here under this topic!

Regards, Holger

1 Like

Thank you very much dear José!
It is a very simple workaround solution!
Cheers!

Thank you @C0d3man!!
It seems a very clean and simple solution! Congrats for your work!!:+1:

Bye bye!
Marco

Hi @ll,

just to give a feedback:
I think I have understood how to create synth plugins for LV2. The key seems not to use lv2-c+±tools, but lvtk. The last one has support for atomic-ports - this is the prot type used for MIDI data. The examples are working.

BUT:
I made a fork of Dexed (https://github.com/dcoredump/dexed.git), added a new branch (native-lv2), stripped down the essentiel code (=dropped all UI code) and started to put the sound engine into lvtk classes. After solving some compiler problems I am standing here with a object file which causes a SEGV :sob: Some test code which excludes the lvtk library around does the same. My conclusion: it seems I have not understand the internals classes of Dexed. Somewhere inside must be a bigger problem which kills the stack. So it make some time to get something which get near a running version.

**If there are some (C++) developers around which may have some time for helping: you are welcome! :smile: **

Regards, Holger

Great news Holger! I hope you can solve the problems very soon. It will be really nice to have a working LV2 for dexed :wink:
BTW i’m working in the MOD-HOST integration, improving the MIDI auto-mapping and so on.

Before Christmas we will have a killer Zynthian image with a good MOD integration, Dexed, improved ZASFX and much more … Yesssssssssssss!!! :sunglasses:

Regards!

2 Likes

I think this will take much time… it is very tricky to find the error. I have to learn how to debug a shared object. We will see when I get Dexed running. May take some time.

Regards, Holger

Hi FM-Fans!

Good news! Thanks to Michael Fisher (mfisher@kushview.net, the man behind lvtoolkit library) I got the msfa engine (music-synthesizer-for-android) running as LV2 plugin! Currently without any parameter changes and only with a single DX-Rhodes sound - but stable working!

I hope to get the rest running the next days. Will keep you informed in this thread.

Regards, Holger

2 Likes

Hi @C0d3man!

These are really good news. Dexed is one of my favoirites engines in Zynthian and would love to have it available from MOD-HOST/UI. Also, have you thinked about “bank loading”? I think this feature is only available from the native Dexed’s GUI, but would be really nice to make it available as a LV2 function. Perhaps we have to implement a “DX7-SysEx to TTL” conversion tool? I would prefer to import directly the sysex files using the Dexed feature …:wink:

Already done: look at dx7sysex2lv2 :wink:

I am currently implementing the loading and changing of parameters via LV2 control. No need for GUI or bank loading. I have linked every internal DX-7 parameter to a LV2 control parameter, so you can start the plugin with a preset and you also can change parameters while running (e.g. connect it to a MIDI controller).

Regards, Holger

1 Like

You are great, Mr.@C0d3man!:+1:

I’m closing my current “boring project”. From monday i will be full-time with Zynthian for a while! I’m really excited with it because the next SD image is gonna be a big step forward, with a lot of new features and possibilities. Great!

Regards!

Oh - sorry for that :yum: I am only for today half-time Zynthian. Have to go to Augsburg on monday for some days and perhaps have not much time to go on… but next weekend! Perhaps until than I have a first running (beta-)DeeAxe-7 :slight_smile:

Regards, Holger

OK! I will waiting for the DeeeAxe7!! Enjoy your week, Mr!

Hi @all,

FYI: I am working on the DX-7-emulation. It works - but I have some problems in setting up sounds (converted from sysex to ttl). The hard-coded piano sound sounds fine - so the engine is doing. I think it will take some days/weeks to get this stable and ready for release.

Regards, Holger

1 Like

Great @C0d3man!

I’m really impacient with having a functional LV2 version of Dexed.
I hope you can solve the problems with the preset conversion tool very soon …

Best Regards!

Me too! :slight_smile:

But it is not dexed - hmm… it is nearly dexed. Both are using the MSFA engine but dexed has some slightly extensions. So I decided first to port MSFA alone and after that try to adapt the modifications from dexed.

Just fixed a really annoying error. Hope this was the one I was searching for the last week…

Regards, Holger

OK! Understand … I will waiting your news :wink: