Ok, it might even be possible to build an LV2 plugin for the RPi from the EP-MK1. Here’s what I found out:
1 The base of the EP-MK1 is a Pure-Data “script”.
2. This is good, because there is a way to convert PD to LV2.
3. It’s a bit tricky to get a reasonable result, but I tried it once and the following ZIP could be installed to $ZYNTHIAN_PLUGINS_DIR/lv2 and (hopefully) started on MOD-UI or via jalv.
I like the creative outcome very much when a little idea like the ep-mk1 is feeded into two masterminds’ brains for the benefit of all.
Thanks @Baggypants for pointing @jofemodo and @C0d3man to this.
Normally yes, but you would have to give the EP-MK1.pd the “appropriate” connections first. I’ve never used PD before and have no plan how to do it. If you just import the file, nothing happens.
You have a similar problem with LV2: I get it translated, there are inputs and outputs, but the other suitable connections (especially MIDI-IN) are only available if you install them manually in PD.
Does anyone here know more about PD than I do (probably almost everyone )? What pdlv2 needs can be found here: https://github.com/x37v/pdlv2
Regards, Holger
P.S.: The build process is scripted in zynthian-recipe at recipe/pdlv2.sh (must be started before) and recipe/ep-mk1.sh
I’ve been tested and can’t make to work the EO-MK1.pd file in zynthian. In my laptop it works pretty fine but it doesn’t work in zynthian, although everything looks fine:
Jack Audio working and PD output connected to system output port
MIDI configured and connected.
And the patch runs without error messages in PD. I can see the blinking MIDI “virtual LED” in the EP-MK1 GUI and i can modify the parameter values from zynthian.
Anyway, i’ve created an incomplete “zynconfig.yml” file for the instrument and modify the PD file for adding more “ctlin” objects with some scale calculaion (logarithmic, range, etc.).
I have deinstalled the pd-packages of Raspian and installed pd-0.49 from source:
./configure --prefix /usr --enable-jack
make install
After that I can start EP-MK1 but the new cpu usage indicator shows that very much cpu time is consumed. Playing some keys generates (buffer-underrun-)noise
Fresh installed Zynthian, trying a special monophonic version from Miguel: No, only strange sounds. So I installed a newer version of pd from github:
git clone https://github.com/pure-data/pure-data.git
cd pure-data
./autogen.sh
./configure --prefix /usr --enable-jack --without-local-portaudio
make
make install
Hello!
Sorry for the hiatus I’ve been busy with other projects.
@jofemodo I think compiling EP-MK1 to C/C++ with hvcc is totally possible since it was made for pd vanilla.
Although I’m unaware on how to make that code work with a midi device, I’ve only compiled .vst2 plugins with hvcc. Gonna test it that way for now.
Meanwhile, I’m going to update the documentation on the current version of EP-MK1.
Ever since I first heard the Pd ‘generative_relaxing’ patch on zynthian a few weeks back, I’ve fbeen wondering how to get it to run on a dedicated Teensy or STM32… no display, just 5 knobs and audio output jack.
Of course,it would be much cheaper and simpler to use a Pi Zero running Zynthian.
But I just stumbled across the Heavy compiler, which has potential.
Hey, I’m back again.
I made a heavy version here’s some of the changes:
Replaced resonators for sinewave oscillators, since there is no filter reset on heavy.
Replaced filters on the distortion code for audio rate filters. This way I can reset the filters by opening the cutoff all the way to 20 kHz in a milisecond while the audio is on mute and then bring it back the next millisecond. This adds about 3 to 4 ms of delay on the trigger, but it prevents clicks and keeps consistency.
This version has no parameters or pedal control. I limited the polyphony to 8 voices.
Here’s the pd patch, it consumes plenty of CPU compared to the heavy VST version which consumes about 3% CPU on my 2011 iMac.
Wow - very cool - many thanks! I will try the PD the next days.
I took a look at the generated C(++) code. Wow - pretty much files. I hope I can find the basic sound generator function, so I hope there can be wrapped around a lvtk implementation for LV2. This will be take some time…