I am currently at a point where I have a running DX7 emulation (based on the msfa engine) but have some problems with loading external patches. They sometimes sound strange. I have to check all the parameter dispatching.
converting sysex banks to LV2 presets has sometimes some problems.
storing the converted banks is currently done in user section and not as a factory preset of the plugin. I have currently not really an idea how to organize that.
Testing is currently only working with a LV2 host (like jalv or mod-host). But DeeAxe7 will be integrated in the next version of Zynthian.
If someone canāt wait, here is a recipe, how to install:
Clone the repo (see message above with the repo address).
cd DeeAxe7/src and edit the Makefile (installation path)
If you want to convert banks: There is a script named dx7sysex2lv2. This script also needs dxsyx. Usage: bin/dx7sysx2lv2 patches/sysex.syx (it converts the sysex files to $HOME/.lv2)
after DeeAxe7 I am now nearly finished with a port fom Dexed to native LV2 for using inside MOD-UI. Dexed has some advantages against DeeAxe7:
Modulation wheel works
integrated filter with resonance for better adjustment of the sound
Unisono mode
additionlal two sound engines
But I have a very strange problem - perhaps someone has an idea how to fix this?
The current code is located at https://github.com/dcoredump/dexed. When using this code on a x86 hardware inside MOD-UI everything works fine. Using the same code (with different compiler options) on the Raspi I cannot get it to work inside (Raspi-)MOD-UI. But the same Raspi binary works if I load it directly into mod-host (the LV2 plugin host which is used inside MOD-UI).
This is very strange
First it was looking like a type mismatch problem but it seems to work on the Raspi - but not with MOD-UIā¦
I know, that this is a very complex problem inside LV2 and MOD-UI/mod-host - but perhaps someone has an idea?
But I cannot find any real problem. MIDI is recognized - only the rendering seems to make troubleā¦
Testing would help me very much! The main āVoodooā is done inside dexed.cpp in the functions/methods run() and GetSample().
Here is a simple recipe for installation:
cd $ZYNTHIAN_SW_DIR
git clone https://github.com/dcoredump/dexed
cd dexed/src
make
sudo make install # installation at /home/pi/zynthian/zynthian-plugins/mod-lv2
After restarting MOD-UI you should see a new generator (currently with default look). If you try to connect it and play via MIDI (or StepSequnecer) it only clicks.
The plugin was not initialized with parameters at startup
AND
The plugin uses LVTK (for handling the LV2 stuff). The default installation (on my Raspi) seems to enable some debug output when loading a plugin. This seems not to be enabled on my x86 system.
So MOD-UI gets on the Raspi data via stdin which may confuse its parser and the plugin wonāt work (I will tell this falkTX). I disabled the debug output and now it works!
I will release the complete fixed version the next days - hopefully it can be integrated in the new SD-image
I tried yesterday and the problem still exists It seems to exist only sometimes. I made two screencasts where you can see what I mean:
I found out that:
it has no matter where the initializing for the engine is done: Constructor or activate() - sometimes it works, sometimes not
the parameters for the engines are ok - also when setting them explicitly at initialization.
this happens only on the Raspi - not on x86.
compiler options (ptomizations) have no effect - it happens with or without optimization options.
it never happens on Rapsi when loading the plugin directly into MOD-HOST (via CLI).
when no sound is produced this happens only to the first intance (see videos).The second and third instance are working. Deleting the first instace and creating a new one does not helpā¦
Also tried:
fresh choeckout and installation of libraries: lv2, serd, sord, sratom, lilv
Currently iām a little busy finishing a little development, but i hope to be free for monday and i will test your Dexed LV2. I want to include it in the new SD image and iāve some ideas for testing it By the way, if you have time, try to sniff the websocket and ajax communication from the browser, perhaps you can see what is different between the first instance and the rest.
Have you tried to load a preset after creating the instance? I suspect that the problem is related to the initial parameters. MOD-GUI always send a set of parameter values after loading the plugin and you can see this parameters in the websocket ā¦
I tried to use the developer tools and have done a trace of the calls - but I donāt recognize anything useful for me. I am more a system programmer than a web-specialist
I really tried nearly everything but I cannot get Dexed-LV2 to work as the first instance. In fact it works sometimes as the first instance⦠but only 20% of every test.
It would help very much if someone (you= ) can try if this also happens on other installations.
Iāve added this to the recipes directory. BTW, as you probably have seen, in the last weeks iāve integrated your recipes in the zynthian-sys repository.
Now i will try to trace the problem with the plugin. We keep in touch.
Iāve noticed that when you have a ānot working instanceā connected to MIDI input and you play āhardā, it consumes CPU like a āworking instanceā. No difference. If you disconnect from MIDI input or ābypassā the effect, then no CPU consumption. Perhaps this can help you?
When removing and adding without restarting mod-host, then the behaviour is not deterministic. Sometimes work the first instance, sometimes you have to load 2.
Perhaps it is the lvtk library. I am using it in the non-standard way - but for DeeAxe7 it worked. And it works for Dexed - after creating a 2nd instance⦠and it works on x86. I also tried to change the compiler optimizations - nothing helped.
I just tried to generate Dexed.lv2 for the Mod-Duo but it seems tat Mod-Duo has no lvtk library.
Perhaps I should try to exchange the lvtk library and use the normal lv2 library. But this is not done in an hourā¦
Perhaps trying with jalv maybe a solution⦠I will try this at weekend - now is band-evening⦠making noise
I have seen that. It debugged library and function calls and yes: It runs - but produces not hearable output. If you try with modmeter plugin (see recipes) you cann see that there is something produced when generating MIDI events - but at -58 dB! Normal sound is >-8 dB. If you switch the engines you can see that the MSFA engine produces NO output, both others are producing āsomethingā.
OPL and Modern engines are inheriting from the MSFA class (=FmCore). Perhaps FmCore is not initialized. But why? And why the hell is the 2nd instance working - or seldom the first one???
It is very strange⦠ghosts in the machineā¦
Regards, Holger
I changed some parts - nothing helped. Than I changed the range for the output (=gain) in Dexed.ttl from 0.1-2.0 to 0.1-10.0 and now it works for me⦠at least the last boots.
Can you pull and confirm this? (I really hope you can )
Regards, Holger
EDIT: No - now it does not work anymore⦠it must be an external problem.
Hi @Codeman!
When i āmake cleanā in the plugin āsrcā directory, the file dexed_ttl.h is deleted and after that i canāt āmakeā again because the file is needed. Looking in the Makefile: