here is a small installation manual for a LV2 port of Dexed (a simulation of the famous Yamaha DX-7 ™ FM-Synth) for the MOD-Duo.
DISCLAIMER: IF YOU INSTALL THIS PLUGIN, HAVE IN MIND THAT IT IS (CURRENTLY?) NOT SUPPORTED FROM MODDEVICES. IT RUNS FOR ME, BUT I GIVE NO GUARANTEE FOR NOTHING!
Currently only Linux installation manual:
Start your MOD-Duo and connect it via USB to your PC.
From a shell do the following: curl http://www.parasitstudio.de/dexed.lv2.tar.gz | base64 | curl -F 'package=@-' http://192.168.51.1/sdk/install
On the MOD-Duo web page you should have Dexed inside the Generator section. Pull it to the pedalboard, connect it and play. You should hear the FM-Rhodes sound.
The Factory sounds are the ROM1A-Bank. You can install own SysEx data:
Get and install dxsyx on your PC: git clone https://github.com/rogerallen/dxsyx.git
Get SysEx-converter->lv2 script: wget https://raw.githubusercontent.com/dcoredump/dexed/native-lv2/bin/dx7sysex2lv2
Change $LV2_INSTALL_PATH (line 34) and $DXSYX (line 30) to your paths.
Convert your SysEx file(s) with: ./dx7sysex2lv2 SYSEX1 [SYSEX2 …]
Copy converted files to the MOD-Duo: scp -r <directory_where_my_converted_sysex_files_are>/* root@192.168.51.1:/root/.lv2
After reloading the MOD-UI you should have your converted sounds available as user presets.
We have tested Dexed for about two weeks (on a Raspi, not directly on the MOD-Duo - but I think this doesn’t matter at all). I think it is stable enough for the store.
But I am currently not very lucky with the factory sound set - it is only one standard bank. I am currently working on a script which packs converted sounds from a bank (not the whole bank) into presets and would like to create nicer factory banks. But for this I need some days/weeks and I think this can be updated on the store?
You use a local variable ‘CFLAGS’ in your makefile, you should name it something else as CFLAGS is reserved for C code build flags.
At least you don’t override CXXFLAGS, so that’s good.
You override LDFLAGS on your makefile, don’t do this. Use “LDFLAGS += …” instead.
You have “CPU = -O3 -mtune=cortex-a7” when building for MOD.
While this is correct today, we might change to a different CPU later on, causing this build to fail.
Do not set cpu related build flags when building for MOD, the toolchain does that for us.
Another thing.
Consider adding “rdfs:label … ;” to your preset data inside manifest.ttl.
The host needs to know the preset names when loading the plugin, but only needs to load the presets file when loading a preset.
If you put the rdfs:label on the manifest file, it makes the initial load of the plugin faster. (it doesn’t have to parse the big presets file on init)
Please put those on the original source code in github, as part of the build.
The cloud build system takes the plugin from there, by just updating the used git commit id, so it’s all automatic.
There were no meta-data errors, but there are some ttl validation ones.
sord_validate says:
error: Type is not a rdfs:Class or owl:Class:
https://github.com/dcoredump/dexed.lv2
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://lv2plug.in/ns/lv2core#SynthPlugin
error: Object not in property range:
https://github.com/dcoredump/dexed.lv2
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://lv2plug.in/ns/lv2core#SynthPlugin
note: Range is <http://www.w3.org/2000/01/rdf-schema#Class>
Which is basically to say SynthPlugin is not an lv2 category.
Use InstrumentPlugin instead.
I noticed that bypassing Dexed seemed not really to work. I found that I had forgot to add the handling of the MIDI controllers 120 and 123 which seems to be send by mod-host when bypassing a plugin.
I added them and created a new binary for updating. I also fixed some smaller things in Dexed.ttl and added a LV2-control for changing the number of used voices (1…32). The DX7 has a maximum of 16 voices, so that is the default. You can add more voices but if the sounds have a higher decay, the CPU load will rise! If you can live with less voices you can turn it down to 8 or less and the CPU load will rise too much.
The binary is at the same place as usual (see some of the first messages).
@falkTX: If you have time, can you add 56adff66e1c8209d98a84e5715e157852925eb13 to unstable?
I am currently let two instances of Dexed (at 16 voices) playing since 4 hours triggered by a wild pattern of two instances of stepseq. Runs without problems. I changed sounds several times and turned some controllers… works stable. I also took al look at the memory consumption on the mod with top: stable - seems to have no memory leak.
Are there other users of Dexed who tried the plugin? It would be very nice if you can write something about your experiences.