IoT 12: How to Build LV2 Plugins in ARM Linux
Last Updated on February 8, 2022
First Published on February 7, 2022
In the last post, I said Linux and Raspberry Pi musicians should use plugins with LV2 format. I made an effect plugins with LV2 format, and I build a plugins with LV2 format from an existing open-source project. If you use JUCE framework for your project, you can build a plugin with LV2 format in addition to VST3 format.
VST3 plugins aren't fit with Linux so far. I think plugins with VST3 format are for 64-bit Windows. I also guess the domestic LV2 is recommended in the Linux world that would concern the risk of the distributing system of plugins. Downloading executable binaries online is a typical risk to violate your computer.
* I may give you an economical advantage used to be called "asset", and I think the matter is popular thing in this world. Floating money is flying unless its ownership. Don't forget to hold your money that grows a pair of wings--I don't know the expected rate about the safety of the substance in their heroic days though. The point to take angry is how they've advertised it on the "air". Don't forget flying money goes away thousands miles from you.
It's the same as the last post with Raspberry Pi 3B, IoT 11. I've also tested this procedure on a amd64 = x86_64 machine with Ubuntu 20.04.3 LTS.
git clone -b main https://github.com/JimmyKenMerchant/EarthEcho.git
# For more detail, read "builder_linux/README.md".
./builder_linux.sh vst3 lv2
sudo ./installer_linux.sh lv2
sudo ./installer_linux.sh lv2 uninstall
I also made a fork of Magical8bitPlug2 to build a plugin with LV2 format. The process to make a plugin is the same as making my echo plugin.
You probably need to build Projucer to edit projects. To use Projucer with the GPL mode, "File" > "Sign in..." > "Enable GPL Mode". JUCE is preferred to be built with LLVM Clang for the portability crossing machines.
sudo apt update
sudo apt install clang
git clone https://github.com/juce-framework/JUCE.git
make CXX=clang++ CONFIG=Release
# Install the executable. The path /usr/local/bin is preferred.
You would ask me how to use them. LMMS version 1.2.2 adapts plugins with LV2 format through Carla. I recommend to use a MIDI sequencer such as MusE or Qtractor with Carla through Jack Audio Connection Kit and its GUI, QjackCtl. To control recording, Cadence Render would be a good choice. In the next post, I'll show you how to record sound with this environment, and the demonstration at last.