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.


Premises:

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.


I make an echo plugin mainly with LV2 format. The JUCE framework is downloaded from the fork of the LV2 porting project. I made tools written by Bash script to build plugins with JUCE CMake API.


cd ~/Desktop

git clone -b main https://github.com/JimmyKenMerchant/EarthEcho.git

cd EarthEcho/builder_linux

# For more detail, read "builder_linux/README.md".

./builder_linux.sh vst3 lv2

# Install

sudo ./installer_linux.sh lv2

# Uninstall

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.


cd ~/Desktop

sudo apt update

sudo apt install clang

git clone https://github.com/juce-framework/JUCE.git

cd JUCE/extras/Projucer/Builds/LinuxMakefile

make CXX=clang++ CONFIG=Release

cd build

./Projucer

# 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.

Please free to contact me by E-mail if you have any opinion or comment on this site.
Link: E-mail Adress
Push the "Search!" button to show results. How to search for a word?