From Pure Data to LV2 Programming

I am currently waiting anxiously for the Mod Duo to be sent (pre-order batch) and to relieve the anxiety I’ve started dreaming up all the wonderful things I could do with the Mod Duo.

I would love to program my own lv2 effects but I am having trouble wrapping my head around lv2 programming. I am a sound designer, musician and a hobbyist programmer/gamedev. I do most of my programming in Pure Data although I also play around with C#, C++, Java, etc. My skills are limited though and I often describe my code as “artist’s code” as opposed to “programmer’s art”. It’s not pretty although it gets the job done.

So, my question is, as a long time Pure Data user, what path would be most optimal for me? Is it possible to somehow compile Pure Data into lv2 patches? Or should I look into faust and compile lv2 patches from that? What other options are out there?


@JohannesG I can’t speak much about Pure Data and faust, I will let others in the forum talk about that.

But if you have some programming experience I seriously think you should give a pure LV2 plugin a try. There are dozens of open source ones you can use and you already have the support of MOD SDK to build and push them to your MOD (once you have one).

A good starting point would be here:

1 Like

It should theoretically be possible. There is libpd to load Pd patches and some prior endeavour to turn Pd patches into LV2s:

As for how well it performs on the MOD (ARM A20 CPU) is a good question. FAUST does have the advantage to go via C++ intermediate (FAUST code -> … C++ -> native compiler with dedicated CPU optimizations), while libpd will run the patch “live” (no CPU optimizations for the patch itself). I suppose you’ll have to try. It may well be acceptable.

1 Like

Oh that’s really interesting. I did not know about pdlv2. I’ll have to give it a try. Thank you @x42.

I do believe you are probably right @acunha. The best bet is probably to go straight into making a simple LV2 plugins. Even though it feels a bit scary. :stuck_out_tongue:

Thank you very much for that link.

hey @JohannesG… did you ever try anything with pdlv2? i’m also a PD user, and soon to receive my MOD. although i’m really looking forward to the simpler hardware approach, there are definitely some things i need which are missing in the available LV2 plugins.


No, sadly I haven’t had time to take a look at this properly. I’ve had my Mod Duo for some time now and I absolutely love it, and I am tempted to look at this properly in the near future. Feel free to get in contact if you want to experiment with pdlv2 together.

ok, i’ll let you know… probably be trying out some stuff in january!

Only now I find this topic! Little bump:

Using my fork of hvcc you can build lv2 plugins. It supports a subset of Pd objects.

You can pip install hvcc (minimum python3.7) to get the latest release and start converting pure data patches to c/c++ and DPF wrapper for LV2 plugins (and vst2/vst3, even dssi/ladspa/jack-standalone).


Another bump, now with the reorga of the forum and some clearer dev resources maybe it would be nice to add a Pure Data category as well.

The coming weeks I’ll be creating some basic example plugins that will hopefully guide the usage of the platform.

Right now the workflow is somewhat tedious for non-programmers (not as integrated as with the MaxMSP plugin). At some point of course we could also have an online compiler (maybe SSO based on the discourse login?) to simplify the workflow for users (Rebel Technology does something like that for their platform already).


Good call @dreamer
I’ve made a Pure Data category under Developers and moved this topic into it

Would be great to see your tutorials, I think the will be a big help to the community!


This will tie in with some other platforms as well (OWL and Daisy, for which I have some devices).

Currently I’ve been distracted with getting CV going for extra modulation … input is working! but output not yet …


Oh yes! I’d love to be able to port my Organelle patches to the Mod devices!